export default { preset: 'ts-jest/presets/default-esm', extensionsToTreatAsEsm: ['.ts'], testEnvironment: 'node', roots: ['/src', '/tests'], testMatch: [ '**/__tests__/**/*.ts', '**/?(*.)+(spec|test).ts' ], transform: { '^.+\\.ts$': ['ts-jest', { useESM: true }], }, collectCoverageFrom: [ 'src/**/*.ts', '!src/**/*.d.ts', '!src/**/index.ts', '!src/examples/**', ], coverageDirectory: 'coverage', coverageReporters: [ 'text', 'lcov', 'html' ], setupFilesAfterEnv: ['/tests/setup.ts'], testTimeout: 30000, moduleNameMapping: { '^@/(.*)$': '/src/$1', '^@orbitdb/core$': '/tests/mocks/orbitdb.ts', '^@helia/helia$': '/tests/mocks/ipfs.ts', }, };