/** @type {import('jest').Config} */ module.exports = { preset: 'ts-jest', testEnvironment: 'node', roots: ['/src', '/tests'], testMatch: [ '**/__tests__/**/*.ts', '**/?(*.)+(spec|test).ts' ], transform: { '^.+\\.ts$': ['ts-jest', { useESM: true, tsconfig: { module: 'ESNext', target: 'ES2020' } }] }, moduleNameMapper: { '^(\\.{1,2}/.*)\\.js$': '$1' }, extensionsToTreatAsEsm: ['.ts'], collectCoverageFrom: [ 'src/**/*.ts', '!src/**/*.d.ts', '!src/index.ts' ], coverageDirectory: 'coverage', coverageReporters: [ 'text', 'lcov', 'html' ], testTimeout: 10000, setupFilesAfterEnv: ['/tests/setup.ts'] };