From 60ecc02b6e1fdfdca22ddba44c43ac90b019d782 Mon Sep 17 00:00:00 2001 From: ev1stensberg Date: Fri, 7 Jun 2019 23:17:14 +0200 Subject: [PATCH] misc: improve cjs --- packages/generators/init-generator.ts | 34 +++++++++++----------- packages/generators/utils/webpackConfig.ts | 14 ++++----- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/generators/init-generator.ts b/packages/generators/init-generator.ts index 1e5ec02a1b8..fe3745f7a81 100644 --- a/packages/generators/init-generator.ts +++ b/packages/generators/init-generator.ts @@ -76,20 +76,6 @@ export default class InitGenerator extends Generator { tooltip.splitChunks() ); - if (!this.usingDefaults) { - this.dependencies.push("terser-webpack-plugin"); - this.configuration.config.topScope.push( - tooltip.terser(), - "const TerserPlugin = require('terser-webpack-plugin');", - "\n" - ); - } else { - this.dependencies.push("webpack-dev-server"); - this.configuration.config.webpackOptions.devServer = { - open: true - }; - } - (this.configuration.config.webpackOptions.plugins as string[]).push("new webpack.ProgressPlugin()"); } @@ -151,7 +137,8 @@ export default class InitGenerator extends Generator { }; } else { this.configuration.config.webpackOptions.output = { - filename: "'bundle.js'" + filename: "'bundle.js'", + path: `path.resolve(__dirname, '${outputDir}')` }; } @@ -231,8 +218,21 @@ export default class InitGenerator extends Generator { (this.configuration.config.webpackOptions.plugins as string[]).push(`new ${htmlwebpackPlugin}()`); } - let optimizationConfig = getDefaultOptimization(!this.usingDefaults); - this.configuration.config.webpackOptions.optimization = optimizationConfig; + if (!this.usingDefaults) { + this.dependencies.push("webpack-dev-server"); + this.configuration.config.webpackOptions.devServer = { + open: true + }; + } else { + this.dependencies.push("terser-webpack-plugin"); + this.configuration.config.topScope.push( + tooltip.terser(), + "const TerserPlugin = require('terser-webpack-plugin');", + "\n" + ); + } + this.configuration.config.webpackOptions.optimization = getDefaultOptimization(this.usingDefaults); + this.configuration.config.webpackOptions.mode = this.usingDefaults ? "'development'" : "'production'"; done(); } diff --git a/packages/generators/utils/webpackConfig.ts b/packages/generators/utils/webpackConfig.ts index ce3543b620b..32d823feec9 100644 --- a/packages/generators/utils/webpackConfig.ts +++ b/packages/generators/utils/webpackConfig.ts @@ -3,13 +3,6 @@ import { WebpackOptions } from "../types"; export function getDefaultOptimization(usingDefaults: boolean): WebpackOptions["optimization"] { let optimizationOptions; if (usingDefaults) { - optimizationOptions = { - minimizer: ["new TerserPlugin()"], - splitChunks: { - chunks: "'all'" - } - }; - } else { optimizationOptions = { splitChunks: { cacheGroups: { @@ -24,6 +17,13 @@ export function getDefaultOptimization(usingDefaults: boolean): WebpackOptions[" name: !this.isProd } }; + } else { + optimizationOptions = { + minimizer: ["new TerserPlugin()"], + splitChunks: { + chunks: "'all'" + } + }; } return optimizationOptions; }