25 lines
669 B
JavaScript
25 lines
669 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>/',
|
|
}),
|
|
preset: 'ts-jest/presets/default-esm',
|
|
setupFiles: ['jest-webextension-mock'],
|
|
testEnvironment: 'jsdom',
|
|
testRegex: ['^.+\\.test.tsx?$'],
|
|
transform: {
|
|
'^.+.tsx?$': ['ts-jest', { isolatedModules: true }],
|
|
},
|
|
};
|
|
|
|
export default config;
|