Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const jestConfig = require('kcd-scripts/config').jest
const babelHelpersList = require('@babel/helpers').list
module.exports = Object.assign(jestConfig, {
roots: ['.'],
testEnvironment: 'jsdom',
moduleNameMapper: babelHelpersList.reduce((aliasMap, helper) => {
aliasMap[
`@babel/runtime/helpers/esm/${helper}`
] = `@babel/runtime/helpers/${helper}`
return aliasMap
}, {}),
})function adjustImportPath(node, relativePath) {
node.value =
helpers.list.indexOf(node.value) !== -1
? `./${node.value}`
: node.value.replace(runtimeName + "/", relativePath + "/");
}function buildHelpers(body, namespace, whitelist) {
const getHelperReference = name => {
return namespace
? t.memberExpression(namespace, t.identifier(name))
: t.identifier(`_${name}`);
};
const refs = {};
helpers.list.forEach(function(name) {
if (whitelist && whitelist.indexOf(name) < 0) return;
const ref = (refs[name] = getHelperReference(name));
const { nodes } = helpers.get(name, getHelperReference, ref);
body.push(...nodes);
});
return refs;
}
export default function(function writeHelperFiles(runtimeName, { esm, corejs }) {
const pkgDirname = getRuntimeRoot(runtimeName);
for (const helperName of helpers.list) {
const helperFilename = path.join(
pkgDirname,
"helpers",
esm ? "esm" : "",
`${helperName}.js`
);
outputFile(
helperFilename,
buildHelper(runtimeName, pkgDirname, helperFilename, helperName, {
esm,
corejs,
})
);
}
}