-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathjest.config.ts
44 lines (42 loc) · 1.18 KB
/
jest.config.ts
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
import type { JestConfigWithTsJest } from 'ts-jest';
import { pathsToModuleNameMapper } from 'ts-jest';
import { compilerOptions } from './tsconfig.json';
const config: JestConfigWithTsJest = {
testEnvironment: 'jest-environment-jsdom',
preset: 'ts-jest',
transform: {
'^.+\\.tsx?$': [
'ts-jest',
{
// ts-jest configuration goes here
},
],
},
testPathIgnorePatterns: ['node_modules/', 'build/', 'setupTests.ts'],
collectCoverage: true,
collectCoverageFrom: ['src/**/*.ts', 'src/**/*.tsx'],
coveragePathIgnorePatterns: ['index.ts', 'config.ts'],
coverageReporters: [['lcov', { projectRoot: '.' }]],
coverageThreshold: {
global: {
branches: 80, // Possible paths the logic could follow
functions: 80,
lines: 80,
statements: 80,
},
},
roots: ['.'],
modulePaths: [compilerOptions.baseUrl],
moduleNameMapper: {
...(pathsToModuleNameMapper(
compilerOptions.paths ?? {
'@/*': ['src/*'],
},
) ?? {}),
'\\.(css|less|scss|sass)$': 'identity-obj-proxy',
},
setupFilesAfterEnv: ['<rootDir>/__tests__/setupTests.ts'],
testMatch: ['**/*.test.*'],
verbose: true,
};
export default config;