blob: 098ae9984146189d4904e96ea346f1dddb87be34 [file] [log] [blame]
meisiyu1d4aade2025-06-02 20:10:36 +08001import { Config } from 'jest';
Jiarenxiang38dcb052025-03-13 16:40:09 +08002
meisiyu1d4aade2025-06-02 20:10:36 +08003const 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,
Jiarenxiang38dcb052025-03-13 16:40:09 +080027 },
meisiyu1d4aade2025-06-02 20:10:36 +080028 },
29 transform: {
30 '^.+\\.(ts|tsx)$': 'ts-jest',
31 },
32 moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
33 globals: {
34 'ts-jest': {
35 tsconfig: 'tsconfig.json',
Jiarenxiang38dcb052025-03-13 16:40:09 +080036 },
meisiyu1d4aade2025-06-02 20:10:36 +080037 },
Jiarenxiang38dcb052025-03-13 16:40:09 +080038};
meisiyu1d4aade2025-06-02 20:10:36 +080039
40export default config;