meisiyu | 1d4aade | 2025-06-02 20:10:36 +0800 | [diff] [blame^] | 1 | import { Config } from 'jest'; |
Jiarenxiang | 38dcb05 | 2025-03-13 16:40:09 +0800 | [diff] [blame] | 2 | |
meisiyu | 1d4aade | 2025-06-02 20:10:36 +0800 | [diff] [blame^] | 3 | const config: Config = { |
| 4 | preset: 'ts-jest', |
| 5 | testEnvironment: 'jsdom', |
| 6 | setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'], |
| 7 | moduleNameMapper: { |
| 8 | '^@/(.*)$': '<rootDir>/src/$1', |
| 9 | }, |
| 10 | testMatch: [ |
| 11 | '<rootDir>/tests/**/*.test.ts', |
| 12 | '<rootDir>/tests/**/*.test.tsx', |
| 13 | ], |
| 14 | collectCoverageFrom: [ |
| 15 | 'src/**/*.{ts,tsx}', |
| 16 | '!src/**/*.d.ts', |
| 17 | '!src/**/*.test.{ts,tsx}', |
| 18 | ], |
| 19 | coverageDirectory: 'coverage', |
| 20 | coverageReporters: ['text', 'lcov', 'html'], |
| 21 | coverageThreshold: { |
| 22 | global: { |
| 23 | branches: 80, |
| 24 | functions: 80, |
| 25 | lines: 80, |
| 26 | statements: 80, |
Jiarenxiang | 38dcb05 | 2025-03-13 16:40:09 +0800 | [diff] [blame] | 27 | }, |
meisiyu | 1d4aade | 2025-06-02 20:10:36 +0800 | [diff] [blame^] | 28 | }, |
| 29 | transform: { |
| 30 | '^.+\\.(ts|tsx)$': 'ts-jest', |
| 31 | }, |
| 32 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'], |
| 33 | globals: { |
| 34 | 'ts-jest': { |
| 35 | tsconfig: 'tsconfig.json', |
Jiarenxiang | 38dcb05 | 2025-03-13 16:40:09 +0800 | [diff] [blame] | 36 | }, |
meisiyu | 1d4aade | 2025-06-02 20:10:36 +0800 | [diff] [blame^] | 37 | }, |
Jiarenxiang | 38dcb05 | 2025-03-13 16:40:09 +0800 | [diff] [blame] | 38 | }; |
meisiyu | 1d4aade | 2025-06-02 20:10:36 +0800 | [diff] [blame^] | 39 | |
| 40 | export default config; |