| 1 | 'use strict'; |
| 2 | |
| 3 | module.exports = { |
| 4 | globalSetup: require.resolve('./setupGlobal.js'), |
| 5 | testSequencer: require.resolve('./sizeBalancedSequencer.js'), |
| 6 | modulePathIgnorePatterns: [ |
| 7 | '<rootDir>/scripts/rollup/shims/', |
| 8 | '<rootDir>/scripts/bench/', |
| 9 | '<rootDir>/packages/eslint-plugin-react-hooks/', |
| 10 | ], |
| 11 | transform: { |
| 12 | '^.+babel-plugin-react-compiler/dist/index.js$': [ |
| 13 | 'babel-jest', |
| 14 | { |
| 15 | configFile: require.resolve('../../babel.config-react-compiler.js'), |
| 16 | }, |
| 17 | ], |
| 18 | '^.+\\.ts$': [ |
| 19 | 'babel-jest', |
| 20 | {configFile: require.resolve('../../babel.config-ts.js')}, |
| 21 | ], |
| 22 | '.(?!ts$)': require.resolve('./preprocessor.js'), |
| 23 | }, |
| 24 | setupFiles: [require.resolve('./setupEnvironment.js')], |
| 25 | setupFilesAfterEnv: [require.resolve('./setupTests.js')], |
| 26 | // Only include files directly in __tests__, not in nested folders. |
| 27 | testRegex: '/__tests__/[^/]*(\\.js|\\.coffee|[^d]\\.ts)$', |
| 28 | moduleFileExtensions: ['js', 'json', 'node', 'coffee', 'ts'], |
| 29 | rootDir: process.cwd(), |
| 30 | roots: ['<rootDir>/packages', '<rootDir>/scripts'], |
| 31 | collectCoverageFrom: ['packages/**/*.js'], |
| 32 | fakeTimers: { |
| 33 | enableGlobally: true, |
| 34 | legacyFakeTimers: true, |
| 35 | }, |
| 36 | snapshotSerializers: [require.resolve('jest-snapshot-serializer-raw')], |
| 37 | |
| 38 | testEnvironment: '<rootDir>/scripts/jest/ReactJSDOMEnvironment', |
| 39 | testEnvironmentOptions: { |
| 40 | // pre Jest 30 behavior. |
| 41 | // Triggered by JSDOM's resource queue that isn't cancelled. |
| 42 | // TODO: get that fixed and remove this option. |
| 43 | globalsCleanup: 'off', |
| 44 | }, |
| 45 | |
| 46 | testRunner: 'jest-circus/runner', |
| 47 | }; |