export default {
preset: 'ts-jest/presets/default-esm',
testEnvironment: 'node',
extensionsToTreatAsEsm: ['.ts'],
transform: {
'^.+\\\\.tsx?$': ['ts-jest', { useESM: true }]
},
moduleNameMapper: {
'^(\\\\.{1,2}/.*)\\\\.js$': '$1'
}
};
preset: 'ts-jest/presets/default-esm'Enables ESM mode inside Jest.
Makes Jest understand import & export.
Without this → Jest treats everything as CommonJS → errors like:
SyntaxError: Cannot use import statement outside a module
extensionsToTreatAsEsm: ['.ts'].ts files are ESM, not CommonJS..ts = CommonJS by default.Without this → Jest rewrites imports to require() → breaks.
transform: { useESM: true }Without this → TypeScript compiles to:
const x = require('./file');
→ breaks ESM imports.
moduleNameMapper: { '^(\\\\.{1,2}/.*)\\\\.js$': '$1' }