export default { preset: "ts-jest/presets/default-esm", extensionsToTreatAsEsm: [".ts"], moduleNameMapper: { "^(\\.{1,2}/.*)\\.js$": "$1", }, testEnvironment: "node", roots: ["/src"], testMatch: ["**/__tests__/**/*.test.ts"], transform: { "^.+\\.ts$": [ "ts-jest", { useESM: true, tsconfig: { target: "ES2022", module: "ESNext", }, }, ], }, collectCoverageFrom: [ "src/**/*.ts", "!src/**/*.test.ts", "!src/**/__tests__/**", ], coverageDirectory: "coverage", coverageReporters: ["text", "lcov", "html"], transformIgnorePatterns: ["node_modules/(?!(.*\\.mjs$))"], setupFiles: ["/jest-crypto-mock.js"], moduleFileExtensions: ["ts", "js", "json", "node"], testTimeout: 10000, };