/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
roots: ['<rootDir>/tests'],
testMatch: ['**/*.test.ts'],
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1'
},
collectCoverage: true,
collectCoverageFrom: [
'src/**/*.ts',
'!src/**/*.d.ts',
'!src/**/index.ts',
'!src/**/*.test.ts',
'!src/types/**/*'
],
coverageDirectory: 'coverage',
coverageReporters: [
'text',
'lcov',
'html',
'cobertura'
],
coverageThreshold: {
global: {
branches: 80,
functions: 80,
lines: 80,
statements: 80
}
},
verbose: true,
testPathIgnorePatterns: [
'/node_modules/',
'/dist/'
],
setupFilesAfterEnv: [
'<rootDir>/tests/setup.ts'
]
};