jsPsych/packages/config/jest.js
2021-07-06 17:55:42 +02:00

37 lines
1.2 KiB
JavaScript

const ts = require("typescript");
const { pathsToModuleNameMapper } = require("ts-jest/utils");
module.exports.makePackageConfig = (dirname) => {
const packageJson = require(dirname + "/package.json");
const packageBaseName = packageJson.name.replace("@jspsych/", "");
// based on https://github.com/formium/tsdx/blob/462af2d002987f985695b98400e0344b8f2754b7/src/createRollupConfig.ts#L51-L57
const tsCompilerOptions = ts.parseJsonConfigFileContent(
ts.readConfigFile(dirname + "/tsconfig.json", ts.sys.readFile).config,
ts.sys,
dirname
).options;
return {
preset: "ts-jest",
// moduleNameMapper: {
// "^@jspsych/(.*)$": "<rootDir>/../$1/src",
// "^jspsych(.*)$": "<rootDir>/../jspsych/src$1",
// },
moduleNameMapper: pathsToModuleNameMapper(tsCompilerOptions.paths, {
prefix: "<rootDir>/../../",
}),
resetModules: true,
testEnvironment: "jsdom",
testEnvironmentOptions: {
fetchExternalResources: true,
pretendToBeVisual: true,
},
testURL: "http://localhost/",
displayName: {
name: packageBaseName,
color: packageBaseName === "jspsych" ? "white" : "cyanBright",
},
};
};