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;
|