const { pathsToModuleNameMapper } = require("ts-jest"); const { compilerOptions } = require("./tsconfig"); module.exports = { preset: "ts-jest", testEnvironment: "jsdom", setupFilesAfterEnv: ["/jest.setup.js"], moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths, { prefix: "/", }), testMatch: ["**/__tests__/**/*.(ts|tsx|js)", "**/*.(test|spec).(ts|tsx|js)"], transform: { "^.+\\.(ts|tsx)$": "ts-jest", }, // Coverage configuration collectCoverageFrom: [ "src/**/*.{ts,tsx}", "!src/**/__tests__/**", "!src/**/*.test.{ts,tsx}", "!src/**/*.spec.{ts,tsx}", "!src/**/*.d.ts", "!src/types/**", ], coveragePathIgnorePatterns: [ "/node_modules/", "/__tests__/", "/dist/", "/coverage/", ], coverageReporters: ["text", "lcov", "html", "json-summary"], coverageThreshold: { global: { branches: 70, functions: 75, lines: 75, statements: 75, }, // Higher thresholds for Phase 9 performance utilities "./src/lib/performance/**/*.ts": { branches: 85, functions: 90, lines: 90, statements: 90, }, }, };