69 lines
2.3 KiB
JavaScript
69 lines
2.3 KiB
JavaScript
// 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",
|
|
};
|