-
Notifications
You must be signed in to change notification settings - Fork 3
/
jest.config.cjs
46 lines (45 loc) · 1.22 KB
/
jest.config.cjs
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
const jestConfig = /** @type {import("jest").Config} */ {
roots: ["<rootDir>/src"],
collectCoverageFrom: [
"src/**/*.{js,jsx,ts,tsx}",
"!src/assets/**",
"!src/*.{ts,tsx}",
"!src/**/types/*.ts",
"!src/**/*.d.ts",
"!src/mocks/**",
],
coveragePathIgnorePatterns: [],
setupFilesAfterEnv: ["./test/setup.ts"],
testEnvironment: "jsdom",
transform: {
"^.+\\.(ts|js|tsx|jsx)$": "@swc/jest",
"^.+\\.css$": "<rootDir>/test/helpers/jest/cssTransform.cjs",
"^(?!.*\\.(js|jsx|mjs|cjs|ts|tsx|css|json)$)":
"<rootDir>/test/helpers/jest/fileTransform.cjs",
},
transformIgnorePatterns: [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs|cjs|ts|tsx)$",
"^.+\\.module\\.(css|sass|scss)$",
],
modulePaths: ["<rootDir>/src"],
moduleNameMapper: {
"^react-native$": "react-native-web",
"^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy",
},
moduleFileExtensions: [
// Place tsx and ts to beginning as suggestion from Jest team
// https://jestjs.io/docs/configuration#modulefileextensions-arraystring
"tsx",
"ts",
"web.js",
"js",
"web.ts",
"web.tsx",
"json",
"web.jsx",
"jsx",
"node",
],
resetMocks: true,
};
module.exports = jestConfig;