@craco/craco
Version:
Create React App Configuration Override, an easy and comprehensible configuration layer for create-react-app.
39 lines (28 loc) • 886 B
JavaScript
const babelJest = require("babel-jest");
const { loadCracoConfig } = require("../../config");
const { isArray } = require("../../utils");
const craBabelTransformer = {
presets: ["babel-preset-react-app"],
babelrc: false,
configFile: false
};
const context = {
env: process.env.NODE_ENV
};
const cracoConfig = loadCracoConfig(context);
const { addPresets, addPlugins } = cracoConfig.jest.babel;
if (cracoConfig.babel) {
if (addPresets) {
const { presets } = cracoConfig.babel;
if (isArray(presets)) {
craBabelTransformer.presets = craBabelTransformer.presets.concat(presets);
}
}
if (addPlugins) {
const { plugins } = cracoConfig.babel;
if (isArray(plugins)) {
craBabelTransformer.plugins = plugins;
}
}
}
module.exports = babelJest.createTransformer(craBabelTransformer);