diff --git a/packages/webpack-cli/lib/groups/ZeroConfigGroup.js b/packages/webpack-cli/lib/groups/ZeroConfigGroup.js index ac65a713552..c50acf4c74b 100644 --- a/packages/webpack-cli/lib/groups/ZeroConfigGroup.js +++ b/packages/webpack-cli/lib/groups/ZeroConfigGroup.js @@ -3,6 +3,13 @@ const { logger } = require('@webpack-cli/logger'); const PRODUCTION = 'production'; const DEVELOPMENT = 'development'; +const NONE = 'none'; +let isNoMode = false; +process.argv.forEach((value) => { + if(value=='--no-mode'){ + isNoMode = true; + } +}) /** * ZeroConfigGroup creates a zero configuration based on the environment */ @@ -34,6 +41,8 @@ class ZeroConfigGroup extends GroupHelper { return PRODUCTION; } else if (this.args.dev) { return DEVELOPMENT; + } else if (isNoMode) { + 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 b84c49b623a..5264a2146e5 100644 --- a/packages/webpack-cli/lib/utils/cli-flags.js +++ b/packages/webpack-cli/lib/utils/cli-flags.js @@ -292,6 +292,14 @@ module.exports = { link: 'https://webpack.js.org/concepts/#mode', acceptedValues: ["development", "production"] }, + { + 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', diff --git a/packages/webpack-cli/lib/utils/zero-config.js b/packages/webpack-cli/lib/utils/zero-config.js index c7655b0aea1..cfbcc159764 100644 --- a/packages/webpack-cli/lib/utils/zero-config.js +++ b/packages/webpack-cli/lib/utils/zero-config.js @@ -4,6 +4,7 @@ function getEnvFromOptionsAndMode(mode, optionsObject) { if (NODE_ENV && (NODE_ENV === 'production' || NODE_ENV === 'development')) { return NODE_ENV; } else if (prod) { + console.log(prod) return 'production'; } else if (dev) { return 'development';