/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { preset: 'ts-jest', testEnvironment: 'node', roots: ['/tests', '/src'], testMatch: [ '**/__tests__/**/*.ts', '**/?(*.)+(spec|test).ts' ], transform: { '^.+\\.ts$': ['ts-jest', { tsconfig: '/tsconfig.test.json', }], }, collectCoverageFrom: [ 'src/**/*.ts', '!src/**/*.d.ts', '!src/index.ts', ], coverageDirectory: 'coverage', coverageReporters: [ 'text', 'lcov', 'html' ], coverageThreshold: { global: { branches: 80, functions: 80, lines: 80, statements: 80 } }, moduleNameMapper: { '^@/(.*)$': '/src/$1', '^@tests/(.*)$': '/tests/$1' }, setupFiles: ['/tests/env.ts'], setupFilesAfterEnv: ['/tests/setup.ts'] };