// craco.config.js const TerserPlugin = require("terser-webpack-plugin"); const CracoLessPlugin = require("craco-less"); const SentryWebpackPlugin = require("@sentry/webpack-plugin"); const {convertLegacyToken} = require('@ant-design/compatible/lib'); const {theme} = require('antd/lib'); const {defaultAlgorithm, defaultSeed} = theme; const mapToken = defaultAlgorithm(defaultSeed); const v4Token = convertLegacyToken(mapToken); module.exports = { plugins: [ { plugin: SentryWebpackPlugin, options: { // sentry-cli configuration authToken: "6b45b028a02342db97a9a2f92c0959058665443d379d4a3a876430009e744260", org: "snapt-software", project: "rome-online", release: process.env.REACT_APP_GIT_SHA, // webpack-specific configuration include: ".", ignore: ["node_modules", "webpack.config.js"], }, }, { plugin: CracoLessPlugin, options: { lessLoaderOptions: { lessOptions: { modifyVars: { ...v4Token, // TODO: This will no longer work in AntD 5.0 ...(process.env.NODE_ENV === "development" ? {"colorPrimary": "#B22234"} : { //"@primary-color": "#1DA57A" }), // "@primary-color": " #1890ff", // primary color for all components // "@link-color": "#1890ff", // link color // "@success-color": "#52c41a", // success state color // "@warning-color": "#faad14", // warning state color // "@error-color": "#f5222d", // error state color // "@font-size-base": "14px", // major text font size // " @heading-color": "rgba(0, 0, 0, 0.85)", // heading text color // "@text-color": "rgba(0, 0, 0, 0.65)", // major text color // "@text-color-secondary": "rgba(0, 0, 0, 0.45)", // secondary text color // "@disabled-color": "rgba(0, 0, 0, 0.25)", // disable state color // "@border-radius-base": "2px", // major border radius // "@border-color-base": "#d9d9d9", // major border color // "@box-shadow-base": // "0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08),0 9px 28px 8px rgba(0, 0, 0, 0.05); // major shadow for layers }", }, 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", };