diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 763c7dfd..00000000 --- a/webpack.config.js +++ /dev/null @@ -1,78 +0,0 @@ -/* eslint no-param-reassign: 0 */ -// This config is for building dist files -const getWebpackConfig = require('@ant-design/tools/lib/getWebpackConfig'); -const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); -const { EsbuildPlugin } = require('esbuild-loader'); -const CircularDependencyPlugin = require('circular-dependency-plugin'); -const DuplicatePackageCheckerPlugin = require('@madccc/duplicate-package-checker-webpack-plugin'); -const path = require('path'); - -function externalDayjs(config) { - config.externals.dayjs = { - root: 'dayjs', - commonjs2: 'dayjs', - commonjs: 'dayjs', - amd: 'dayjs', - }; -} - -function externalCssinjs(config) { - config.resolve = config.resolve || {}; - config.resolve.alias = config.resolve.alias || {}; - - config.resolve.alias['@ant-design/cssinjs'] = path.resolve(__dirname, 'alias/cssinjs'); -} - -let webpackConfig = getWebpackConfig(false); - -// Used for `size-limit` ci which only need to check min files -if (process.env.PRODUCTION_ONLY) { - // eslint-disable-next-line no-console - console.log('🍐 Build production only'); - webpackConfig = webpackConfig.filter((config) => config.mode === 'production'); -} - -if (process.env.RUN_ENV === 'PRODUCTION') { - webpackConfig.forEach((config) => { - externalDayjs(config); - externalCssinjs(config); - - // Reduce non-minified dist files size - config.optimization.usedExports = true; - // use esbuild - if (process.env.ESBUILD || process.env.CSB_REPO) { - config.optimization.minimizer[0] = new EsbuildPlugin({ - target: 'es2020', - css: true, - }); - } - - if (!process.env.CI || process.env.ANALYZER) { - config.plugins.push( - new BundleAnalyzerPlugin({ - analyzerMode: 'static', - openAnalyzer: false, - reportFilename: '../report.html', - }), - ); - } - - if (!process.env.NO_DUP_CHECK) { - config.plugins.push( - new DuplicatePackageCheckerPlugin({ - verbose: true, - emitError: true, - }), - ); - } - - config.plugins.push( - new CircularDependencyPlugin({ - // add errors to webpack instead of warnings - failOnError: true, - }), - ); - }); -} - -module.exports = [...webpackConfig];