From d7f1c9db0ac1c4853fc2868e5644c9cf39715505 Mon Sep 17 00:00:00 2001 From: Nitin Kumar Date: Mon, 27 Apr 2020 21:38:21 +0530 Subject: [PATCH] chore(webpack-cli): remove --no-mode flag Signed-off-by: Nitin Kumar --- packages/webpack-cli/README.md | 1 - .../webpack-cli/lib/groups/ZeroConfigGroup.js | 15 +--- packages/webpack-cli/lib/utils/cli-flags.js | 8 --- test/no-mode/no-mode.test.js | 70 ------------------- test/no-mode/src/index.js | 1 - 5 files changed, 3 insertions(+), 92 deletions(-) delete mode 100644 test/no-mode/no-mode.test.js delete mode 100644 test/no-mode/src/index.js diff --git a/packages/webpack-cli/README.md b/packages/webpack-cli/README.md index 299ab326652..f9b11684d9e 100644 --- a/packages/webpack-cli/README.md +++ b/packages/webpack-cli/README.md @@ -55,7 +55,6 @@ Options -d, --dev Run development build -p, --prod Run production build --mode string Defines the mode to pass to webpack - --no-mode Sets mode="none" which disables any default behavior -v, --version Get current version --node-args string[] NodeJS flags --stats type It instructs webpack on how to treat the stats diff --git a/packages/webpack-cli/lib/groups/ZeroConfigGroup.js b/packages/webpack-cli/lib/groups/ZeroConfigGroup.js index 14f1e491d1f..94fff84b6b1 100644 --- a/packages/webpack-cli/lib/groups/ZeroConfigGroup.js +++ b/packages/webpack-cli/lib/groups/ZeroConfigGroup.js @@ -20,19 +20,12 @@ class ZeroConfigGroup extends GroupHelper { if (process.env.NODE_ENV && (process.env.NODE_ENV === PRODUCTION || process.env.NODE_ENV === DEVELOPMENT)) { return process.env.NODE_ENV; } else { - // commander sets mode to false if --no-mode is specified - const noMode = this.args.mode === false; - if ((this.args.mode || noMode) && (this.args.dev || this.args.prod)) { + if (this.args.mode && (this.args.dev || this.args.prod)) { logger.warn( - `You provided both ${this.args.mode ? 'mode' : 'no-mode'} and ${ + `You provided both 'mode' and ${ this.args.prod ? '--prod' : '--dev' - } arguments. You should provide just one. "${this.args.mode ? 'mode' : 'no-mode'}" will be used`, + } arguments. You should provide just one. "mode" will be used`, ); - if (this.args.mode) { - return this.args.mode; - } else { - return NONE; - } } if (this.args.mode) { @@ -46,8 +39,6 @@ class ZeroConfigGroup extends GroupHelper { return PRODUCTION; } else if (this.args.dev) { return DEVELOPMENT; - } else if (noMode) { - return NONE; } return PRODUCTION; } diff --git a/packages/webpack-cli/lib/utils/cli-flags.js b/packages/webpack-cli/lib/utils/cli-flags.js index 33d752deb84..657897e5a08 100644 --- a/packages/webpack-cli/lib/utils/cli-flags.js +++ b/packages/webpack-cli/lib/utils/cli-flags.js @@ -225,14 +225,6 @@ module.exports = { description: 'Defines the mode to pass to webpack', link: 'https://webpack.js.org/concepts/#mode', }, - { - name: 'no-mode', - usage: '--no-mode', - type: Boolean, - group: ZERO_CONFIG_GROUP, - description: 'Sets mode="none" which disables any default behavior', - link: 'https://webpack.js.org/concepts/#mode', - }, { name: 'version', usage: '--version | --version ', diff --git a/test/no-mode/no-mode.test.js b/test/no-mode/no-mode.test.js deleted file mode 100644 index 0ec137128bb..00000000000 --- a/test/no-mode/no-mode.test.js +++ /dev/null @@ -1,70 +0,0 @@ -'use strict'; -const { run } = require('../utils/test-utils'); -const { stat } = require('fs'); -const { resolve } = require('path'); -describe('no-mode flag', () => { - it('should load a none config when --no-mode is passed', (done) => { - const { stderr, stdout } = run(__dirname, ['--no-mode']); - expect(stderr).toBeFalsy(); - expect(stdout).toBeTruthy(); - stat(resolve(__dirname, './bin/main.js'), (err, stats) => { - expect(err).toBe(null); - expect(stats.isFile()).toBe(true); - done(); - }); - }); - - it('should load a none config when --no-mode and --dev are passed', (done) => { - const { stderr, stdout } = run(__dirname, ['--no-mode', '--dev']); - expect(stderr).toContain('"no-mode" will be used'); - expect(stdout).toBeTruthy(); - - stat(resolve(__dirname, './bin/main.js'), (err, stats) => { - expect(err).toBe(null); - expect(stats.isFile()).toBe(true); - done(); - }); - }); - - it('should load a none config when --no-mode and --prod are passed', (done) => { - const { stderr, stdout } = run(__dirname, ['--no-mode', '--prod']); - expect(stderr).toContain('"no-mode" will be used'); - expect(stdout).toBeTruthy(); - - stat(resolve(__dirname, './bin/main.js'), (err, stats) => { - expect(err).toBe(null); - expect(stats.isFile()).toBe(true); - done(); - }); - }); - - it('should load a none config when --mode=production is passed before --no-mode', (done) => { - const { stderr, stdout } = run(__dirname, ['--mode', 'production', '--no-mode']); - expect(stderr).toContain( - 'You provided both --mode and --no-mode. We will use only the last of these flags that you provided in your CLI arguments', - ); - expect(stdout).toBeTruthy(); - expect(stdout).not.toContain('main.js.map'); - - stat(resolve(__dirname, './bin/main.js'), (err, stats) => { - expect(err).toBe(null); - expect(stats.isFile()).toBe(true); - done(); - }); - }); - - it('should load a none config when --mode=production is passed after --no-mode', (done) => { - const { stderr, stdout } = run(__dirname, ['--no-mode', '--mode', 'production']); - expect(stderr).toContain( - 'You provided both --mode and --no-mode. We will use only the last of these flags that you provided in your CLI arguments', - ); - expect(stdout).toBeTruthy(); - expect(stdout).toContain('main.js.map'); - - stat(resolve(__dirname, './bin/main.js'), (err, stats) => { - expect(err).toBe(null); - expect(stats.isFile()).toBe(true); - done(); - }); - }); -}); diff --git a/test/no-mode/src/index.js b/test/no-mode/src/index.js deleted file mode 100644 index a767aed6690..00000000000 --- a/test/no-mode/src/index.js +++ /dev/null @@ -1 +0,0 @@ -console.log('Test'); \ No newline at end of file