From 68ca8b0976efe90c0c40bcae69f0825671b98bad Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 30 May 2020 16:23:25 +0800 Subject: Merge front end to this repo. But I need to wait for aspnet core support for custom port and package manager for dev server. --- Timeline/ClientApp/webpack.config.prod.ts | 59 +++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Timeline/ClientApp/webpack.config.prod.ts (limited to 'Timeline/ClientApp/webpack.config.prod.ts') diff --git a/Timeline/ClientApp/webpack.config.prod.ts b/Timeline/ClientApp/webpack.config.prod.ts new file mode 100644 index 00000000..77ee7966 --- /dev/null +++ b/Timeline/ClientApp/webpack.config.prod.ts @@ -0,0 +1,59 @@ +import path from 'path'; +import webpack from 'webpack'; +import { CleanWebpackPlugin } from 'clean-webpack-plugin'; +import HtmlWebpackPlugin from 'html-webpack-plugin'; +import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin'; +import CopyPlugin from 'copy-webpack-plugin'; + +import { commonRules, htmlCommonConfig } from './webpack.common'; + +const config: webpack.Configuration = { + 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'] + }, + 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([ + { + from: path.resolve(__dirname, 'public/'), + to: path.resolve(__dirname, 'dist/') + } + ]) + ] +}; + +export default config; -- cgit v1.2.3