From 00f99abc430d22c252a247ad63b25e2962d9102e Mon Sep 17 00:00:00 2001 From: Nitin Kumar Date: Mon, 5 Oct 2020 19:42:36 +0530 Subject: [PATCH] fix: log warning if --config-name is used without multiple configs --- packages/webpack-cli/lib/groups/ConfigGroup.js | 3 +++ test/config-name/config-name.test.js | 6 ++++++ test/config-name/single-config.js | 8 ++++++++ 3 files changed, 17 insertions(+) create mode 100644 test/config-name/single-config.js diff --git a/packages/webpack-cli/lib/groups/ConfigGroup.js b/packages/webpack-cli/lib/groups/ConfigGroup.js index 9d4bffd759a..057f38307bf 100644 --- a/packages/webpack-cli/lib/groups/ConfigGroup.js +++ b/packages/webpack-cli/lib/groups/ConfigGroup.js @@ -178,6 +178,9 @@ const finalize = async (moduleObj, args) => { newOptionsObject['options'] = {}; return newOptionsObject; } + if (configName) { + logger.warn('Multiple configurations not found. Please use "--config-name" with multiple configurations.'); + } newOptionsObject['options'] = configOptions; } diff --git a/test/config-name/config-name.test.js b/test/config-name/config-name.test.js index dfc9c8ba805..40cf10af51e 100644 --- a/test/config-name/config-name.test.js +++ b/test/config-name/config-name.test.js @@ -43,4 +43,10 @@ describe('--config-name flag', () => { expect(stderr).toContain('Configuration with name "test" was not found.'); expect(stdout).toBeFalsy(); }); + + it('should log warning if multiple configurations are not found', () => { + const { stderr, stdout } = run(__dirname, ['--config-name', 'test', '-c', 'single-config.js'], false); + expect(stderr).toContain('Multiple configurations not found. Please use "--config-name" with multiple configurations'); + expect(stdout).toContain('dist-single.js'); + }); }); diff --git a/test/config-name/single-config.js b/test/config-name/single-config.js new file mode 100644 index 00000000000..e5fff043bc6 --- /dev/null +++ b/test/config-name/single-config.js @@ -0,0 +1,8 @@ +module.exports = { + output: { + filename: './dist-single.js', + }, + name: 'first', + entry: './src/first.js', + mode: 'development', +};