From 48b1d6ca1a0e3f1e2d84c62e5879dfb762fb307a Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 2 Jun 2020 01:01:15 +0800 Subject: Upgrade packages. --- Timeline/ClientApp/webpack.config.prod.js | 65 +++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 Timeline/ClientApp/webpack.config.prod.js (limited to 'Timeline/ClientApp/webpack.config.prod.js') diff --git a/Timeline/ClientApp/webpack.config.prod.js b/Timeline/ClientApp/webpack.config.prod.js new file mode 100644 index 00000000..2115824d --- /dev/null +++ b/Timeline/ClientApp/webpack.config.prod.js @@ -0,0 +1,65 @@ +const path = require('path'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); +const CopyPlugin = require('copy-webpack-plugin'); +const PnpWebpackPlugin = require('pnp-webpack-plugin'); + +const { commonRules, htmlCommonConfig } = require('./webpack.common'); + +const config = { + entry: ['./src/index.tsx'], + mode: 'production', + devtool: 'source-map', + module: { + rules: [ + ...commonRules, + { + test: /\.(js|jsx|ts|tsx)$/, + exclude: /node_modules/, + loader: 'babel-loader', + }, + ], + }, + resolve: { + extensions: ['*', '.js', '.jsx', '.ts', '.tsx'], + plugins: [PnpWebpackPlugin], + }, + resolveLoader: { + plugins: [PnpWebpackPlugin.moduleLoader(module)], + }, + optimization: { + runtimeChunk: 'single', + splitChunks: { + chunks: 'all', + cacheGroups: { + vendor: { + test: /[\\/]node_modules[\\/]/, + name: 'vendors', + chunks: 'all', + }, + }, + }, + }, + output: { + path: path.resolve(__dirname, 'dist/'), + filename: '[name].[hash].js', + chunkFilename: '[name].[hash].js', + publicPath: '/', + }, + plugins: [ + new CleanWebpackPlugin(), + new HtmlWebpackPlugin(htmlCommonConfig), + new ForkTsCheckerWebpackPlugin(), + new CopyPlugin({ + patterns: [ + { + from: path.resolve(__dirname, 'public/'), + to: path.resolve(__dirname, 'dist/'), + }, + ], + }), + ], +}; + +module.exports = config; -- cgit v1.2.3