babel/test/jestExportsMapResolver.cjs
Nicolò Ribaudo a815d7dd10
Update Jest to 27.2.0 (#13776)
* Update Jest to `27.2.0`

* Update
2021-09-17 19:02:36 +02:00

32 lines
857 B
JavaScript

// Temporary workaround for https://github.com/facebook/jest/issues/9771
// Source: https://github.com/facebook/jest/issues/9771#issuecomment-841624042
const enhancedResolve = require("enhanced-resolve");
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) {
const resolver = getResolver(options.conditions || ["default"]);
return resolver(options.basedir, request);
};