jest-extended
jest-extended copied to clipboard
TypeScript issue: File '/home/nmurgor/git/bitgesell-node-monitor/node_modules/jest-extended/types/index.d.ts' is not a module.
Bug
-
package
version:3.2.4
-
node
version:10.0.0
-
npm
(oryarn
) version: yarn1.22.19
-
TypeScript
:4.0.2
Relevant code or config: -
tsconfing.json
file looks like this: `
{
"compilerOptions": {
"incremental": true,
"target": "es2017",
"outDir": "build/main",
"rootDir": "src",
"moduleResolution": "node",
"module": "commonjs",
"declaration": true,
"inlineSourceMap": true,
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
"resolveJsonModule": true /* Include modules imported with .json extension. */,
// "strict": true /* Enable all strict type-checking options. */,
/* Strict Type-Checking Options */
// "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */,
// "strictNullChecks": true /* Enable strict null checks. */,
// "strictFunctionTypes": true /* Enable strict checking of function types. */,
// "strictPropertyInitialization": true /* Enable strict checking of property initialization in classes. */,
// "noImplicitThis": true /* Raise error on 'this' expressions with an implied 'any' type. */,
// "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */,
/* Additional Checks */
"noUnusedLocals": true /* Report errors on unused locals. */,
"noUnusedParameters": true /* Report errors on unused parameters. */,
"noImplicitReturns": true /* Report error when not all code paths in function return a value. */,
"noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */,
/* Debugging Options */
"traceResolution": false /* Report module resolution log messages. */,
"listEmittedFiles": false /* Print names of generated files part of the compilation. */,
"listFiles": false /* Print names of files part of the compilation. */,
"pretty": true /* Stylize errors and messages using color and context. */,
/* Experimental Options */
// "experimentalDecorators": true /* Enables experimental support for ES7 decorators. */,
// "emitDecoratorMetadata": true /* Enables experimental support for emitting type metadata for decorators. */,
"lib": ["es2017"],
"types": ["node", "jest", "jest-extended"],
"typeRoots": ["node_modules/@types", "src/types"]
},
"include": ["src/**/*.ts"],
"exclude": ["node_modules/**"],
"compileOnSave": false
}
I get this warning when I use this package in a TypeScript project I am working on:
File '/home/nmurgor/git/jest-playground/node_modules/jest-extended/types/index.d.ts' is not a module.
What you did:
- Installed and setup
jest
- Installed
jest-extended
- added jest-extended to my test as follows:
import * as matchers from 'jest-extended';
expect.extend(matchers);
What happened (please provide anything you think will help):
Description:
Possible solution:
The possible solution would be looking into types/index.d.ts
and fixing the "non-module" warning by adding the appropriate exports
Seeing this as well with a simpler TS config.
File '/Users/erunion/code/node_modules/jest-extended/types/index.d.ts' is not a module.ts(2306)
import { toContainKey } from 'jest-extended';
expect.extend({ toContainKey });
__tests__/tsconfig.json
:
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": ".",
"composite": true,
"outDir": "./dist",
"strict": true,
},
"include": ["**/*.ts", "**/*.js", "**/*.json", "../../global.d.ts"],
"exclude": ["__tests__", "dist", "node_modules"]
}
tsconfig.base.json
:
{
"extends": "ts-node/node14/tsconfig.json",
"ts-node": {
"swc": true
},
"compilerOptions": {
"allowJs": true,
"allowSyntheticDefaultImports": true,
"downlevelIteration": true,
"esModuleInterop": true,
"experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
"lib": ["ES2021"],
"moduleResolution": "node",
"noErrorTruncation": true,
"noImplicitAny": false, // @todo Remove this when we enable strict mode.
"resolveJsonModule": true,
"skipLibCheck": true,
"strict": false, // Not running in strict mode until we have better type safety .
"target": "ES2021"
}
}
You can post a repo,I think I managed to fix this but can't recall how. You may add a repository to reproduce then I can update with appropriate fix.
Hint: fix probably in thetsconfig.json