import { createRequire } from 'module'; import { pathsToModuleNameMapper } from 'ts-jest'; const require = createRequire(import.meta.url); const tsconfig = require('./tsconfig.json'); /** * @type {import('@jest/types').Config.InitialOptions} */ const config = { extensionsToTreatAsEsm: ['.ts', '.tsx'], moduleNameMapper: { ...pathsToModuleNameMapper(tsconfig.compilerOptions.paths, { prefix: '/' }), '^url:~assets/(.+).png$': '/mocks/assets/$1.mock.ts', }, preset: 'ts-jest/presets/default-esm', setupFiles: ['./jest.setup.ts'], testEnvironment: 'jsdom', testRegex: ['^.+\\.test.tsx?$'], transform: { '^.+.tsx?$': ['ts-jest', { isolatedModules: true, useESM: true }], }, }; export default config;