// craco.config.js const TerserPlugin = require("terser-webpack-plugin"); const CracoLessPlugin = require("craco-less"); const { convertLegacyToken } = require("@ant-design/compatible/lib"); const { theme } = require("antd/lib"); const { defaultAlgorithm, defaultSeed } = theme; const mapToken = defaultAlgorithm(defaultSeed); const v4Token = convertLegacyToken(mapToken); // TODO, At the moment we are using less in the Dashboard. Once we remove this we can remove the less processor entirely. module.exports = { plugins: [ { plugin: CracoLessPlugin, options: { lessLoaderOptions: { lessOptions: { modifyVars: { ...v4Token }, javascriptEnabled: true } } } } ], webpack: { configure: (webpackConfig) => { return { ...webpackConfig, // Required for Dev Server devServer: { ...webpackConfig.devServer, allowedHosts: "all" }, optimization: { ...webpackConfig.optimization, // Workaround for CircleCI bug caused by the number of CPUs shown // https://github.com/facebook/create-react-app/issues/8320 minimizer: webpackConfig.optimization.minimizer.map((item) => { if (item instanceof TerserPlugin) { item.options.parallel = 2; } return item; }) } }; } }, devtool: "source-map" };