38 lines
1017 B
JavaScript
38 lines
1017 B
JavaScript
/** @type {import('ts-jest').JestConfigWithTsJest} */
|
|
export default {
|
|
preset: 'ts-jest/presets/default-esm',
|
|
testEnvironment: 'node',
|
|
roots: ['<rootDir>/test', '<rootDir>/src'],
|
|
testMatch: ['**/*.test.ts'],
|
|
collectCoverageFrom: [
|
|
'src/**/*.ts',
|
|
'!src/**/*.d.ts',
|
|
],
|
|
coverageDirectory: 'coverage',
|
|
coverageReporters: ['text', 'lcov', 'html'],
|
|
moduleFileExtensions: ['ts', 'js', 'json'],
|
|
transform: {
|
|
'^.+\\.ts$': ['ts-jest', {
|
|
tsconfig: {
|
|
target: 'ES2022',
|
|
module: 'NodeNext',
|
|
moduleResolution: 'NodeNext',
|
|
lib: ['ES2022'],
|
|
strict: true,
|
|
esModuleInterop: true,
|
|
skipLibCheck: true,
|
|
forceConsistentCasingInFileNames: true,
|
|
declaration: true,
|
|
declarationMap: true,
|
|
sourceMap: true,
|
|
resolveJsonModule: true,
|
|
allowSyntheticDefaultImports: true,
|
|
isolatedModules: true
|
|
},
|
|
useESM: true,
|
|
}],
|
|
},
|
|
moduleNameMapper: {
|
|
'^(\\.{1,2}/.*)\\.js$': '$1',
|
|
},
|
|
}; |