* This PR caused the Sidebar.test.ts file tests to fail because TransformStream is not found. * TransformStream exists in the Node version I'm testing with (20), but it still isn't found by Jest * Turns out it is a problem with Jest, and the workaround is the simple package jest-fixed-jsdom, which subclasses JSDOMEnvironment testing environment, placing this and several other dependencies in its global object. * In package.json - add jest-fixed-jsdom as a devDependency * In jest.config.cjs - change testEnvironment to jest-fixed-jsdom
34 lines
814 B
JavaScript
34 lines
814 B
JavaScript
module.exports = {
|
|
preset: "ts-jest",
|
|
testEnvironment: "jest-fixed-jsdom",
|
|
moduleNameMapper: {
|
|
"^@/(.*)$": "<rootDir>/src/$1",
|
|
"\\.css$": "<rootDir>/src/__mocks__/styleMock.js",
|
|
},
|
|
transform: {
|
|
"^.+\\.tsx?$": [
|
|
"ts-jest",
|
|
{
|
|
jsx: "react-jsx",
|
|
tsconfig: "tsconfig.jest.json",
|
|
},
|
|
],
|
|
},
|
|
extensionsToTreatAsEsm: [".ts", ".tsx"],
|
|
testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
|
|
// Exclude directories and files that don't need to be tested
|
|
testPathIgnorePatterns: [
|
|
"/node_modules/",
|
|
"/dist/",
|
|
"/bin/",
|
|
"\\.config\\.(js|ts|cjs|mjs)$",
|
|
],
|
|
// Exclude the same patterns from coverage reports
|
|
coveragePathIgnorePatterns: [
|
|
"/node_modules/",
|
|
"/dist/",
|
|
"/bin/",
|
|
"\\.config\\.(js|ts|cjs|mjs)$",
|
|
],
|
|
};
|