47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
const { pathsToModuleNameMapper } = require("ts-jest");
|
|
const { compilerOptions } = require("./tsconfig");
|
|
|
|
module.exports = {
|
|
preset: "ts-jest",
|
|
testEnvironment: "jsdom",
|
|
setupFilesAfterEnv: ["<rootDir>/jest.setup.js"],
|
|
moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths, {
|
|
prefix: "<rootDir>/",
|
|
}),
|
|
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,
|
|
},
|
|
},
|
|
};
|