/** @type {import('jest').Config} */
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
testMatch: [
'**/src/tests/unit/**/*.test.ts'
],
collectCoverageFrom: [
'src/**/*.ts',
'!src/**/*.d.ts',
'!src/**/index.ts',
'!src/**/*.test.ts',
'!src/types/**',
'!src/tests/**',
'!src/legacy/**',
'!src/server/**'
],
coverageDirectory: 'coverage',
coverageReporters: ['text', 'html', 'lcov'],
coverageThreshold: {
global: {
branches: 75,
functions: 75,
lines: 75,
statements: 75
}
},
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1'
},
setupFilesAfterEnv: ['<rootDir>/src/tests/setup.ts'],
verbose: true,
testTimeout: 10000
};