4

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?

Ricardo Rocha
  • 8,628
  • 9
  • 53
  • 91

1 Answers1

6

I didn't realized 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 changes solves my problem.

Adrian Mole
  • 30,672
  • 69
  • 32
  • 52
Ricardo Rocha
  • 8,628
  • 9
  • 53
  • 91
  • 2
    Adding "node" to my "types" array in tsconfig.json worked for me - not sure why - but it worked! thanks. – simbro Mar 06 '20 at 13:25