import type { Config } from 'jest'; const config: Config = { testEnvironment: 'jsdom', transform: { // Local wrapper around esbuild-jest that also defines import.meta.env; // see jest-esbuild-transformer.cjs '^.+\\.(ts|tsx|js|jsx)$': '/jest-esbuild-transformer.cjs', }, moduleNameMapper: { // Drags the app shell (routes/react-router) into jsdom; see __mocks__ '^@/components/layout-recognize-form-field$': '/__mocks__/layout-recognize-form-field.js', '^@/(.*)$': '/src/$1', '^human-id$': '/__mocks__/human-id.js', '\\.(css|less|scss|sass)$': '/__mocks__/styleMock.js', '\\.(jpg|jpeg|png|gif|svg|webp)$': '/__mocks__/fileMock.js', }, setupFilesAfterEnv: ['/jest-setup.ts'], collectCoverageFrom: [ 'src/**/*.{ts,tsx,js,jsx}', '!src/.umi/**', '!src/.umi-test/**', '!src/.umi-production/**', '!**/*.d.ts', '!coverage/**', '!dist/**', '!config/**', '!mock/**', ], coverageThreshold: { global: { lines: 1, }, }, testPathIgnorePatterns: ['/node_modules/', '/dist/'], }; export default config;