diff --git a/packages/webpack-cli/lib/utils/flag-defaults.js b/packages/webpack-cli/lib/utils/flag-defaults.js index cba1043786a..0aa2996f98f 100644 --- a/packages/webpack-cli/lib/utils/flag-defaults.js +++ b/packages/webpack-cli/lib/utils/flag-defaults.js @@ -5,8 +5,10 @@ const cacheDefaults = (finalConfig, parsedArgs, outputOptions) => { if (hasCache && (parsedArgs.config || outputOptions.defaultConfig)) { if (finalConfig.cache && finalConfig.cache.type === 'filesystem') { cacheConfig.buildDependencies = { - config: parsedArgs.config || outputOptions.defaultConfig, + config: parsedArgs.config || [outputOptions.defaultConfig], }; + } else { + cacheConfig = finalConfig.cache; } return { cache: cacheConfig }; } diff --git a/test/core-flags/cache-flags.test.js b/test/core-flags/cache-flags.test.js index 57a1f0338ac..0381474d0af 100644 --- a/test/core-flags/cache-flags.test.js +++ b/test/core-flags/cache-flags.test.js @@ -118,6 +118,17 @@ describe('cache related flags from core', () => { expect(exitCode).toEqual(0); }); + it('should assign cache build dependencies with default config', () => { + // TODO: Fix on windows + if (isWindows) return; + const { stderr, stdout, exitCode } = run(__dirname, ['--cache-type', 'filesystem']); + expect(stderr).toBeFalsy(); + expect(stdout).toContain('buildDependencies'); + expect(stdout).toContain(`'${path.join(__dirname, './webpack.config.js')}'`); + expect(stdout).toContain("type: 'filesystem'"); + expect(exitCode).toEqual(0); + }); + it('should assign cache build dependencies with merged configs', () => { // TODO: Fix on windows if (isWindows) return;