parent
422b87a76f
commit
a815d7dd10
@ -59,8 +59,8 @@
|
|||||||
"gulp-filter": "^5.1.0",
|
"gulp-filter": "^5.1.0",
|
||||||
"gulp-plumber": "^1.2.1",
|
"gulp-plumber": "^1.2.1",
|
||||||
"husky": "^3.0.0",
|
"husky": "^3.0.0",
|
||||||
"jest": "^27.0.0",
|
"jest": "^27.2.0",
|
||||||
"jest-worker": "^27.0.2",
|
"jest-worker": "^27.2.0",
|
||||||
"lint-staged": "^9.2.0",
|
"lint-staged": "^9.2.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mergeiterator": "^1.2.5",
|
"mergeiterator": "^1.2.5",
|
||||||
|
|||||||
@ -1,11 +1,31 @@
|
|||||||
// Temporary workaround for https://github.com/facebook/jest/issues/9771
|
// Temporary workaround for https://github.com/facebook/jest/issues/9771
|
||||||
// Source: https://github.com/facebook/jest/issues/9771#issuecomment-841624042
|
// Source: https://github.com/facebook/jest/issues/9771#issuecomment-841624042
|
||||||
|
|
||||||
const resolver = require("enhanced-resolve").create.sync({
|
const enhancedResolve = require("enhanced-resolve");
|
||||||
conditionNames: ["node", "require", "default"],
|
|
||||||
extensions: [".js", ".json", ".node", ".ts"],
|
const EXTENSIONS = [".js", ".json", ".node", ".ts"];
|
||||||
});
|
|
||||||
|
function mapGetOr(map, key, init) {
|
||||||
|
if (!map.has(key)) {
|
||||||
|
map.set(key, init());
|
||||||
|
}
|
||||||
|
return map.get(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
const resolversCache = new Map();
|
||||||
|
function getResolver(conditionNames) {
|
||||||
|
const cacheKeySeparator = ":::";
|
||||||
|
const cacheKey = conditionNames.join(cacheKeySeparator);
|
||||||
|
|
||||||
|
return mapGetOr(resolversCache, cacheKey, () =>
|
||||||
|
enhancedResolve.create.sync({
|
||||||
|
conditionNames,
|
||||||
|
extensions: EXTENSIONS,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = function (request, options) {
|
module.exports = function (request, options) {
|
||||||
|
const resolver = getResolver(options.conditions || ["default"]);
|
||||||
return resolver(options.basedir, request);
|
return resolver(options.basedir, request);
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user