I created a Typescript-enabled React app bootstrapped from create-react-app. After enabling baseUrl: "." for easier absolute imports, my Jest tests broke.
How to repro:
baseUrl: "." to your tsconfig.json under compilerOptions.import { isValidAddress } from 'orbit-db';
it('doesnt fail to resolve import', () => {
isValidAddress("asdf");
});
npm install orbit-db ipfs and then npm run test. You should end up with something similar to the following error: FAIL src/components/Random.test.tsx
โ Test suite failed to run
Configuration error:
Could not locate module multicodec/src/base-table mapped as:
path/to/my/repo/src/base-table.
Please check your configuration for these entries:
{
"moduleNameMapper": {
"/src\/(.*)$/": "path/to/my/repo/src/$1"
},
"resolver": null
}
at createNoMappedModuleFoundError (node_modules/jest-resolve/build/index.js:501:17)
at Object.<anonymous> (node_modules/cids/src/index.js:6:16)
According to my understand of CRA, the moduleNameMapper regex is generated when the CRA script sees the baseUrl field in tsconfig.json. However, this regex also seems to wrongly capture some of the imports in files from node_modules.
This should be fixed in the next version.
Most helpful comment
This should be fixed in the next version.