Repository navigation
Expand file tree
/
Copy pathjest.base.config.cjs
More file actions
52 lines (50 loc) · 1.88 KB
/
Copy pathjest.base.config.cjs
File metadata and controls
52 lines (50 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
const path = require('path');
const packagesDir = path.join(__dirname, 'packages');
const config = (coverageDir) => ({
preset: 'ts-jest',
roots: ['<rootDir>'],
rootDir: '.',
moduleFileExtensions: ['js', 'json', 'ts'],
testRegex: '.(spec|test).ts$',
transform: {
'^.+\\.m?js$': ['@swc/jest', { module: { type: 'commonjs' } }],
'^.+\\.ts$': [
'ts-jest',
{
tsconfig: path.join(__dirname, 'tsconfig.test.json'),
},
],
},
// These dependencies are ESM-only; compile them for Jest's CJS test runtime on Node 22.
transformIgnorePatterns: [
'/node_modules/(?!(?:\\.pnpm/)?(?:inversify|@inversifyjs[+/]|@nestjs[+/]|uuid))',
],
moduleNameMapper: {
'^(\\.{1,2}/.*)\\.js$': '$1',
'^@suites/core.unit(.*)$': path.join(packagesDir, 'core/src$1'),
'^@suites/types.common(.*)$': path.join(packagesDir, 'types/common/src$1'),
'^@suites/types.di(.*)$': path.join(packagesDir, 'types/di/src$1'),
'^@suites/types.doubles(.*)$': path.join(packagesDir, 'types/doubles/src$1'),
'^@suites/di.nestjs(.*)$': path.join(packagesDir, 'di/nestjs/src$1'),
'^@suites/di.injectionjs(.*)$': path.join(packagesDir, 'di/injection-js/src$1'),
'^@suites/di.inversify(.*)$': path.join(packagesDir, 'di/inversify/src$1'),
'^@suites/doubles.jest(.*)$': path.join(packagesDir, 'doubles/jest/src$1'),
'^@suites/doubles.vitest(.*)$': path.join(packagesDir, 'doubles/vitest/src$1'),
},
coveragePathIgnorePatterns: ['/node_modules/', 'spec-assets.ts', '/__test__/'],
testPathIgnorePatterns: ['/node_modules/', '/e2e/'],
testEnvironment: 'node',
coverageDirectory: coverageDir || '<rootDir>',
coverageReporters: [
'text',
[
'cobertura',
{
file: process.env.COVERAGE_FILE || 'coverage-report.xml',
},
],
],
reporters: ['default', 'jest-junit'],
testResultsProcessor: 'jest-junit',
});
module.exports = config;