Skip to main content

Configuration API

To integrate with other tools, it's useful to have access to the configuration generated by CRACO.

The CRACO Configuration API supports Jest and Webpack.

Jest

createJestConfig(cracoConfig, context = {}, options = { verbose: false, config: null })

A CRACO config, a JEST context object, and an options object ({ verbose?: boolean, config?: string }) are taken as arguments and the generated Jest config object is returned.

note

createJestConfig does not accept cracoConfig as a function. If your craco.config.js exposes a config function, you have to call it yourself before using it here.

jest.config.js (example)
const { createJestConfig } = require('@craco/craco');

const cracoConfig = require('./craco.config.js');
const jestConfig = createJestConfig(cracoConfig);

module.exports = jestConfig;

Webpack

createWebpackDevConfig(cracoConfig, context = {}, options = { verbose: false, config: null })

createWebpackProdConfig(cracoConfig, context = {}, options = { verbose: false, config: null })

note

createWebpackDevConfig and createWebpackProdConfig do not accept cracoConfig as a function. If your craco.config.js exposes a config function, you have to call it yourself before using it here.

webpack.config.js (example)
const { createWebpackDevConfig } = require('@craco/craco');

const cracoConfig = require('./craco.config.js');
const webpackConfig = createWebpackDevConfig(cracoConfig);

module.exports = webpackConfig;