javascriptnode.jsjasmineangular6karma-runner

ERROR in error TS2688: Cannot find type definition file for 'jest'


I have an angular 6 application and I'm using karma + jasmine to run my tests. but when I run ng test I'm getting the following error:

ERROR in error TS2688: Cannot find type definition file for 'jest'.

Any one knows how to solve this problem?


Solution

  • I didn't realize that in my tsconfig.spec.json I was using jest instead of jasmin in types node. Also, I had a missing configuration.

    So, I have changed from this:

    {
      "extends": "./tsconfig.es5.json",
      "compilerOptions": {
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "outDir": "../out-tsc/spec",
        "module": "commonjs",
        "target": "es6",
        "baseUrl": "",
        "types": [
          "jest",
          "node"
        ]
      },
      "files": [
        "**/*.spec.ts"
      ]
    }
    

    To this:

    {
      "extends": "./tsconfig.es5.json",
      "compilerOptions": {
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "outDir": "../out-tsc/spec",
        "module": "commonjs",
        "types": [
          "jasmine",
          "node"
        ]
      },
      "files": [
        "test.ts",
        "polyfills.ts"
      ],
      "include": [
        "**/*.spec.ts",
        "**/*.d.ts"
      ]
    }
    

    And this change has solved my problem.