// 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: SentryWebpackPlugin, // options: { // // sentry-cli configuration // authToken: // "6b45b028a02342db97a9a2f92c0959058665443d379d4a3a876430009e744260", // org: "snapt-software", // project: "imexonline", // release: process.env.REACT_APP_GIT_SHA, // // // webpack-specific configuration // include: ".", // ignore: ["node_modules", "webpack.config.js"], // }, // }, { 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", };