From a4522b0a31e34e25cd2fafff5455563803cca11b Mon Sep 17 00:00:00 2001 From: Nitin Kumar Date: Tue, 26 May 2020 20:27:24 +0530 Subject: [PATCH] fix(webpack-cli): remove invalid stats warning with json flag --- packages/webpack-cli/__tests__/StatsGroup.test.js | 1 + packages/webpack-cli/lib/groups/StatsGroup.js | 2 +- test/json/json.test.js | 11 +++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/webpack-cli/__tests__/StatsGroup.test.js b/packages/webpack-cli/__tests__/StatsGroup.test.js index bb5d52b4f15..6e75b86739e 100644 --- a/packages/webpack-cli/__tests__/StatsGroup.test.js +++ b/packages/webpack-cli/__tests__/StatsGroup.test.js @@ -35,6 +35,7 @@ describe('StatsGroup', function () { ]); const result = group.run(); + expect(result.options.stats).toBeFalsy(); expect(result.outputOptions.json).toBeTruthy(); }); }); diff --git a/packages/webpack-cli/lib/groups/StatsGroup.js b/packages/webpack-cli/lib/groups/StatsGroup.js index 024d57c6383..65427ec1094 100644 --- a/packages/webpack-cli/lib/groups/StatsGroup.js +++ b/packages/webpack-cli/lib/groups/StatsGroup.js @@ -19,7 +19,7 @@ class StatsGroup extends GroupHelper { } else { if (this.args.verbose) { this.opts.options.stats = 'verbose'; - } else if (!StatsGroup.validOptions().includes(this.args.stats)) { + } else if (this.args.stats && !StatsGroup.validOptions().includes(this.args.stats)) { logger.warn(`'${this.args.stats}' is invalid value for stats. Using 'normal' option for stats`); this.opts.options.stats = 'normal'; } else { diff --git a/test/json/json.test.js b/test/json/json.test.js index d4c8c84d710..909cc1dc4a1 100644 --- a/test/json/json.test.js +++ b/test/json/json.test.js @@ -12,4 +12,15 @@ describe('json flag', () => { // check the JSON is valid. expect(parseJson).not.toThrow(); }); + + it('should return valid json with -j alias', () => { + const { stdout } = run(__dirname, ['-j']); + + // helper function to check if JSON is valid + const parseJson = () => { + return JSON.parse(stdout); + }; + // check the JSON is valid. + expect(parseJson).not.toThrow(); + }); });