26 lines
750 B
JavaScript
26 lines
750 B
JavaScript
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: '<rootDir>/' }),
|
|
'^url:~assets/(.+).png$': '<rootDir>/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;
|