/** @type {import('ts-jest').JestConfigWithTsJest} */ export default { preset: 'ts-jest/presets/default-esm', testEnvironment: 'jsdom', setupFilesAfterEnv: ['/src/setupTests.ts'], globals: { 'ts-jest': { useESM: true, }, }, moduleNameMapper: { '^@/(.*)$': '/src/$1', '\\.(css|less|scss|sass)$': 'identity-obj-proxy', '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': 'jest-transform-stub', }, transform: { '^.+\\.tsx?$': ['ts-jest', { useESM: true }], }, testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$', moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], extensionsToTreatAsEsm: ['.ts', '.tsx'], collectCoverageFrom: [ 'src/**/*.{ts,tsx}', '!src/**/*.d.ts', '!src/main.tsx', '!src/vite-env.d.ts', ], coverageDirectory: 'coverage', coverageReporters: ['text', 'lcov', 'html'], };