|
1 |
| -/** |
2 |
| - * For a detailed explanation regarding each configuration property, visit: |
3 |
| - * https://jestjs.io/docs/configuration |
4 |
| - */ |
5 |
| - |
6 |
| -/** @type {import('jest').Config} */ |
7 |
| -const config = { |
8 |
| - // All imported modules in your tests should be mocked automatically |
9 |
| - // automock: false, |
10 |
| - |
11 |
| - // Stop running tests after `n` failures |
12 |
| - // bail: 0, |
13 |
| - |
14 |
| - // The directory where Jest should store its cached dependency information |
15 |
| - // cacheDirectory: "/private/var/folders/4_/m2t0ys455s308pbmbv71ft1w0000gp/T/jest_dy", |
16 |
| - |
17 |
| - // Automatically clear mock calls, instances, contexts and results before every test |
18 |
| - // clearMocks: false, |
19 |
| - |
20 |
| - // Indicates whether the coverage information should be collected while executing the test |
21 |
| - // collectCoverage: false, |
22 |
| - |
23 |
| - // An array of glob patterns indicating a set of files for which coverage information should be collected |
24 |
| - // collectCoverageFrom: undefined, |
25 |
| - |
26 |
| - // The directory where Jest should output its coverage files |
27 |
| - // coverageDirectory: undefined, |
28 |
| - |
29 |
| - // An array of regexp pattern strings used to skip coverage collection |
30 |
| - // coveragePathIgnorePatterns: [ |
31 |
| - // "/node_modules/" |
32 |
| - // ], |
33 |
| - |
34 |
| - // Indicates which provider should be used to instrument code for coverage |
35 |
| - // coverageProvider: "babel", |
36 |
| - |
37 |
| - // A list of reporter names that Jest uses when writing coverage reports |
38 |
| - // coverageReporters: [ |
39 |
| - // "json", |
40 |
| - // "text", |
41 |
| - // "lcov", |
42 |
| - // "clover" |
43 |
| - // ], |
44 |
| - |
45 |
| - // An object that configures minimum threshold enforcement for coverage results |
46 |
| - // coverageThreshold: undefined, |
47 |
| - |
48 |
| - // A path to a custom dependency extractor |
49 |
| - // dependencyExtractor: undefined, |
50 |
| - |
51 |
| - // Make calling deprecated APIs throw helpful error messages |
52 |
| - // errorOnDeprecated: false, |
53 |
| - |
54 |
| - // The default configuration for fake timers |
55 |
| - // fakeTimers: { |
56 |
| - // "enableGlobally": false |
57 |
| - // }, |
58 |
| - |
59 |
| - // Force coverage collection from ignored files using an array of glob patterns |
60 |
| - // forceCoverageMatch: [], |
61 |
| - |
62 |
| - // A path to a module which exports an async function that is triggered once before all test suites |
63 |
| - // globalSetup: undefined, |
64 |
| - |
65 |
| - // A path to a module which exports an async function that is triggered once after all test suites |
66 |
| - // globalTeardown: undefined, |
67 |
| - |
68 |
| - // A set of global variables that need to be available in all test environments |
69 |
| - // globals: {}, |
70 |
| - |
71 |
| - // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. |
72 |
| - // maxWorkers: "50%", |
73 |
| - |
74 |
| - // An array of directory names to be searched recursively up from the requiring module's location |
75 |
| - // moduleDirectories: [ |
76 |
| - // "node_modules" |
77 |
| - // ], |
78 |
| - |
79 |
| - // An array of file extensions your modules use |
80 |
| - // moduleFileExtensions: [ |
81 |
| - // "js", |
82 |
| - // "mjs", |
83 |
| - // "cjs", |
84 |
| - // "jsx", |
85 |
| - // "ts", |
86 |
| - // "tsx", |
87 |
| - // "json", |
88 |
| - // "node" |
89 |
| - // ], |
90 |
| - |
91 |
| - // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module |
92 |
| - moduleNameMapper: { |
93 |
| - "^(\\.{1,2}/.*)\\.js$": "$1", |
94 |
| - }, |
95 |
| - |
96 |
| - // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader |
97 |
| - // modulePathIgnorePatterns: [], |
98 |
| - |
99 |
| - // Activates notifications for test results |
100 |
| - // notify: false, |
101 |
| - |
102 |
| - // An enum that specifies notification mode. Requires { notify: true } |
103 |
| - // notifyMode: "failure-change", |
104 |
| - |
105 |
| - // A preset that is used as a base for Jest's configuration |
106 |
| - preset: 'ts-jest', |
107 |
| - |
108 |
| - // Run tests from one or more projects |
109 |
| - // projects: undefined, |
110 |
| - |
111 |
| - // Use this configuration option to add custom reporters to Jest |
112 |
| - // reporters: undefined, |
113 |
| - |
114 |
| - // Automatically reset mock state before every test |
115 |
| - // resetMocks: false, |
116 |
| - |
117 |
| - // Reset the module registry before running each individual test |
118 |
| - // resetModules: false, |
119 |
| - |
120 |
| - // A path to a custom resolver |
121 |
| - // resolver: undefined, |
122 |
| - |
123 |
| - // Automatically restore mock state and implementation before every test |
124 |
| - // restoreMocks: false, |
125 |
| - |
126 |
| - // The root directory that Jest should scan for tests and modules within |
127 |
| - // rootDir: undefined, |
128 |
| - |
129 |
| - // A list of paths to directories that Jest should use to search for files in |
130 |
| - // roots: [ |
131 |
| - // "<rootDir>" |
132 |
| - // ], |
133 |
| - |
134 |
| - // Allows you to use a custom runner instead of Jest's default test runner |
135 |
| - // runner: "jest-runner", |
136 |
| - |
137 |
| - // The paths to modules that run some code to configure or set up the testing environment before each test |
138 |
| - // setupFiles: [], |
139 |
| - |
140 |
| - // A list of paths to modules that run some code to configure or set up the testing framework before each test |
141 |
| - // setupFilesAfterEnv: [], |
142 |
| - |
143 |
| - // The number of seconds after which a test is considered as slow and reported as such in the results. |
144 |
| - // slowTestThreshold: 5, |
145 |
| - |
146 |
| - // A list of paths to snapshot serializer modules Jest should use for snapshot testing |
147 |
| - // snapshotSerializers: [], |
148 |
| - |
149 |
| - // The test environment that will be used for testing |
| 1 | +/** @type {import('ts-jest').JestConfigWithTsJest} **/ |
| 2 | +export default { |
| 3 | + preset: "ts-jest/presets/default-esm", |
150 | 4 | testEnvironment: "node",
|
151 | 5 | extensionsToTreatAsEsm: [".ts"],
|
152 |
| - |
153 |
| - // Options that will be passed to the testEnvironment |
154 |
| - // testEnvironmentOptions: {}, |
155 |
| - |
156 |
| - // Adds a location field to test results |
157 |
| - // testLocationInResults: false, |
158 |
| - |
159 |
| - // The glob patterns Jest uses to detect test files |
160 |
| - testMatch: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[tj]s?(x)"], |
161 |
| - |
162 |
| - // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped |
163 |
| - // testPathIgnorePatterns: [ |
164 |
| - // "/node_modules/" |
165 |
| - // ], |
166 |
| - |
167 |
| - // The regexp pattern or array of patterns that Jest uses to detect test files |
168 |
| - // testRegex: [], |
169 |
| - |
170 |
| - // This option allows the use of a custom results processor |
171 |
| - // testResultsProcessor: undefined, |
172 |
| - |
173 |
| - // This option allows use of a custom test runner |
174 |
| - // testRunner: "jest-circus/runner", |
175 |
| - |
176 |
| - // A map from regular expressions to paths to transformers |
| 6 | + moduleNameMapper: { |
| 7 | + "^(\\.{1,2}/.*)\\.js$": "$1", // Map .js to real paths for ESM |
| 8 | + }, |
177 | 9 | transform: {
|
178 | 10 | "^.+\\.tsx?$": [
|
179 | 11 | "ts-jest",
|
180 | 12 | {
|
181 | 13 | useESM: true,
|
| 14 | + tsconfig: "tsconfig.jest.json", // Use specific tsconfig file for Jest |
182 | 15 | },
|
183 | 16 | ],
|
184 | 17 | },
|
185 |
| - |
186 |
| - // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation |
187 |
| - // transformIgnorePatterns: [ |
188 |
| - // "/node_modules/", |
189 |
| - // "\\.pnp\\.[^\\/]+$" |
190 |
| - // ], |
191 |
| - |
192 |
| - // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them |
193 |
| - // unmockedModulePathPatterns: undefined, |
194 |
| - |
195 |
| - // Indicates whether each individual test should be reported during the run |
196 |
| - // verbose: undefined, |
197 |
| - |
198 |
| - // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode |
199 |
| - // watchPathIgnorePatterns: [], |
200 |
| - |
201 |
| - // Whether to use watchman for file crawling |
202 |
| - // watchman: true, |
| 18 | + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], |
203 | 19 | };
|
204 |
| - |
205 |
| -export default config; |
0 commit comments