@craco/craco
Version:
Create React App Configuration Override, an easy and comprehensible configuration layer for create-react-app.
34 lines (25 loc) • 952 B
JavaScript
const { getCraPaths } = require("../../cra");
const { mergeJestConfig } = require("./merge-jest-config");
const { loadJestConfigProvider } = require("../../cra");
const { setArgs } = require("../../args");
const { processCracoConfig } = require("../../config");
function createJestConfig(callerCracoConfig, callerContext = {}, options = {}) {
if (!callerCracoConfig) {
throw new Error("craco: 'cracoConfig' is required.");
}
if (!process.env.NODE_ENV) {
process.env.NODE_ENV = "development";
}
setArgs(options);
const context = {
env: process.env.NODE_ENV,
...callerContext
};
const cracoConfig = processCracoConfig(callerCracoConfig, context);
context.paths = getCraPaths(cracoConfig);
const craJestConfigProvider = loadJestConfigProvider(cracoConfig);
return mergeJestConfig(cracoConfig, craJestConfigProvider, context);
}
module.exports = {
createJestConfig
};