-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjest.config.js
More file actions
44 lines (44 loc) · 1.28 KB
/
jest.config.js
File metadata and controls
44 lines (44 loc) · 1.28 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
module.exports = {
preset: 'ts-jest',
testEnvironment: 'jsdom',
setupFilesAfterEnv: ['<rootDir>/src/setupTests.ts'],
testTimeout: 10000, // 10 second timeout for each test
extensionsToTreatAsEsm: ['.ts', '.tsx'],
moduleNameMapper: {
'\\.(css|less|scss|sass)$': 'identity-obj-proxy',
'^@/(.*)$': '<rootDir>/src/$1',
'^src/services/api$': '<rootDir>/src/test-utils/mocks/__mocks__/api.ts',
},
transform: {
'^.+\\.(ts|tsx)$': ['ts-jest', {
useESM: true,
tsconfig: {
jsx: 'react-jsx',
moduleResolution: 'node',
target: 'ES2020',
module: 'ESNext',
esModuleInterop: true,
allowSyntheticDefaultImports: true,
}
}],
'^.+\\.(js|jsx)$': ['babel-jest', { presets: ['@babel/preset-env', '@babel/preset-react'] }],
},
transformIgnorePatterns: [
'/node_modules/(?!(@mantine|@emotion|cheerio|parse5|entities|dom-serializer|htmlparser2|domelementtype|domhandler|domutils)/)',
],
testMatch: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[jt]s?(x)'],
collectCoverageFrom: [
'src/**/*.{js,jsx,ts,tsx}',
'!src/index.tsx',
'!src/reportWebVitals.ts',
'!src/setupTests.ts',
],
globals: {
'ts-jest': {
useESM: true,
tsconfig: {
jsx: 'react-jsx',
}
}
}
};