|
| 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: "/tmp/jest_rs", |
| 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: "v8", |
| 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 | +// "ts-jest": { |
| 71 | +// useESM: true, |
| 72 | +// }, |
| 73 | +// }, |
| 74 | + |
| 75 | +// // 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. |
| 76 | +// // maxWorkers: "50%", |
| 77 | + |
| 78 | +// // An array of directory names to be searched recursively up from the requiring module's location |
| 79 | +// // moduleDirectories: [ |
| 80 | +// // "node_modules" |
| 81 | +// // ], |
| 82 | + |
| 83 | +// // An array of file extensions your modules use |
| 84 | +// moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json"], |
| 85 | +// // moduleFileExtensions: [ |
| 86 | +// // "js", |
| 87 | +// // "mjs", |
| 88 | +// // "cjs", |
| 89 | +// // "jsx", |
| 90 | +// // "ts", |
| 91 | +// // "mts", |
| 92 | +// // "cts", |
| 93 | +// // "tsx", |
| 94 | +// // "json", |
| 95 | +// // "node" |
| 96 | +// // ], |
| 97 | + |
| 98 | +// // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module |
| 99 | +// moduleNameMapper: { |
| 100 | +// "^(\\.{1,2}/.*)\\.js$": "$1", |
| 101 | +// }, |
| 102 | + |
| 103 | +// // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader |
| 104 | +// // modulePathIgnorePatterns: [], |
| 105 | + |
| 106 | +// // Activates notifications for test results |
| 107 | +// // notify: false, |
| 108 | + |
| 109 | +// // An enum that specifies notification mode. Requires { notify: true } |
| 110 | +// // notifyMode: "failure-change", |
| 111 | + |
| 112 | +// // A preset that is used as a base for Jest's configuration |
| 113 | +// preset: "ts-jest/presets/default-esm", |
| 114 | + |
| 115 | +// // Run tests from one or more projects |
| 116 | +// // projects: undefined, |
| 117 | + |
| 118 | +// // Use this configuration option to add custom reporters to Jest |
| 119 | +// // reporters: undefined, |
| 120 | + |
| 121 | +// // Automatically reset mock state before every test |
| 122 | +// // resetMocks: false, |
| 123 | + |
| 124 | +// // Reset the module registry before running each individual test |
| 125 | +// // resetModules: false, |
| 126 | + |
| 127 | +// // A path to a custom resolver |
| 128 | +// // resolver: undefined, |
| 129 | + |
| 130 | +// // Automatically restore mock state and implementation before every test |
| 131 | +// // restoreMocks: false, |
| 132 | + |
| 133 | +// // The root directory that Jest should scan for tests and modules within |
| 134 | +// // rootDir: undefined, |
| 135 | + |
| 136 | +// // A list of paths to directories that Jest should use to search for files in |
| 137 | +// // roots: [ |
| 138 | +// // "<rootDir>" |
| 139 | +// // ], |
| 140 | + |
| 141 | +// // Allows you to use a custom runner instead of Jest's default test runner |
| 142 | +// // runner: "jest-runner", |
| 143 | + |
| 144 | +// // The paths to modules that run some code to configure or set up the testing environment before each test |
| 145 | +// // setupFiles: ["./jest.setup.ts"], |
| 146 | + |
| 147 | +// // A list of paths to modules that run some code to configure or set up the testing framework before each test |
| 148 | +// setupFilesAfterEnv: ["<rootDir>/jest.setup.ts"], |
| 149 | + |
| 150 | +// // The number of seconds after which a test is considered as slow and reported as such in the results. |
| 151 | +// // slowTestThreshold: 5, |
| 152 | + |
| 153 | +// // A list of paths to snapshot serializer modules Jest should use for snapshot testing |
| 154 | +// // snapshotSerializers: [], |
| 155 | + |
| 156 | +// // The test environment that will be used for testing |
| 157 | +// testEnvironment: "node", |
| 158 | + |
| 159 | +// // Options that will be passed to the testEnvironment |
| 160 | +// testEnvironmentOptions: { |
| 161 | +// customExportConditions: ["react-native"], |
| 162 | +// }, |
| 163 | + |
| 164 | +// // Adds a location field to test results |
| 165 | +// // testLocationInResults: false, |
| 166 | + |
| 167 | +// // The glob patterns Jest uses to detect test files |
| 168 | +// // testMatch: [ |
| 169 | +// // "**/__tests__/**/*.?([mc])[jt]s?(x)", |
| 170 | +// // "**/?(*.)+(spec|test).?([mc])[jt]s?(x)" |
| 171 | +// // ], |
| 172 | + |
| 173 | +// // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped |
| 174 | +// // testPathIgnorePatterns: [ |
| 175 | +// // "/node_modules/" |
| 176 | +// // ], |
| 177 | + |
| 178 | +// // The regexp pattern or array of patterns that Jest uses to detect test files |
| 179 | +// // testRegex: [], |
| 180 | + |
| 181 | +// // This option allows the use of a custom results processor |
| 182 | +// // testResultsProcessor: undefined, |
| 183 | + |
| 184 | +// // This option allows use of a custom test runner |
| 185 | +// // testRunner: "jest-circus/runner", |
| 186 | + |
| 187 | +// // A map from regular expressions to paths to transformers |
| 188 | +// transform: {}, |
| 189 | + |
| 190 | +// // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation |
| 191 | +// transformIgnorePatterns: [ |
| 192 | +// "/node_modules/(?!nanoid|undici)/", // transform nanoid and undici |
| 193 | +// ], |
| 194 | + |
| 195 | +// // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them |
| 196 | +// // unmockedModulePathPatterns: undefined, |
| 197 | + |
| 198 | +// // Indicates whether each individual test should be reported during the run |
| 199 | +// // verbose: undefined, |
| 200 | + |
| 201 | +// // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode |
| 202 | +// // watchPathIgnorePatterns: [], |
| 203 | + |
| 204 | +// // Whether to use watchman for file crawling |
| 205 | +// // watchman: true, |
| 206 | + |
| 207 | +// extensionsToTreatAsEsm: [".ts"], |
| 208 | +// }; |
| 209 | + |
| 210 | +// module.exports = config; |
| 211 | + |
| 212 | +import type { Config } from "jest"; |
| 213 | + |
| 214 | +const config: Config = { |
| 215 | + preset: "ts-jest/presets/js-with-ts", |
| 216 | + testEnvironment: "node", |
| 217 | + extensionsToTreatAsEsm: [".ts"], |
| 218 | + transform: { |
| 219 | + "^.+\\.tsx?$": [ |
| 220 | + "ts-jest", |
| 221 | + { |
| 222 | + useESM: false, |
| 223 | + tsconfig: "tsconfig.json", |
| 224 | + }, |
| 225 | + ], |
| 226 | + }, |
| 227 | + transformIgnorePatterns: [ |
| 228 | + "/node_modules/(?!(nanoid)/)", // ensure nanoid gets transformed |
| 229 | + ], |
| 230 | + moduleFileExtensions: ["cjs", "js", "ts", "tsx", "json", "node"], |
| 231 | + setupFilesAfterEnv: ["./jest.setup.ts"], |
| 232 | + testPathIgnorePatterns: ["/node_modules/", "/tests/e2e/"], |
| 233 | +}; |
| 234 | + |
| 235 | +export default config; |
0 commit comments