Skip to content

Commit

Permalink
fix: assign cache value for default configs
Browse files Browse the repository at this point in the history
  • Loading branch information
anshumanv committed Nov 1, 2020
1 parent f13346e commit 9679a64
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 10 deletions.
10 changes: 7 additions & 3 deletions packages/webpack-cli/lib/groups/ConfigGroup.js
Expand Up @@ -126,21 +126,21 @@ const resolveConfigFiles = async (args) => {
const defaultConfig = configFiles.find((p) => p.path.includes(mode) || p.path.includes(modeAlias[mode]));

if (defaultConfig) {
opts = await finalize(defaultConfig, args);
opts = await finalize(defaultConfig, args, true);
return;
}

const foundConfig = configFiles.pop();

opts = await finalize(foundConfig, args);
opts = await finalize(foundConfig, args, true);

return;
}
};

// Given config data, determines the type of config and
// returns final config
const finalize = async (moduleObj, args) => {
const finalize = async (moduleObj, args, isDefault = false) => {
const { env, configName } = args;
const newOptionsObject = {
outputOptions: {},
Expand All @@ -151,6 +151,10 @@ const finalize = async (moduleObj, args) => {
return newOptionsObject;
}

if (isDefault) {
newOptionsObject.outputOptions.defaultConfig = moduleObj.path;
}

const config = moduleObj.config;

const isMultiCompilerMode = Array.isArray(config);
Expand Down
13 changes: 7 additions & 6 deletions packages/webpack-cli/lib/utils/flag-defaults.js
@@ -1,23 +1,24 @@
const cacheDefaults = (finalConfig, parsedArgs) => {
const cacheDefaults = (finalConfig, parsedArgs, outputOptions) => {
// eslint-disable-next-line no-prototype-builtins
const hasCache = finalConfig.hasOwnProperty('cache');
let cacheConfig = {};
if (hasCache && parsedArgs.config) {
if (hasCache && (parsedArgs.config || outputOptions.defaultConfig)) {
if (finalConfig.cache && finalConfig.cache.type === 'filesystem') {
cacheConfig.buildDependencies = {
config: parsedArgs.config,
config: parsedArgs.config || outputOptions.defaultConfig,
};
}
return { cache: cacheConfig };
}
console.log({ cacheConfig, outputOptions });
return cacheConfig;
};

const assignFlagDefaults = (compilerConfig, parsedArgs) => {
const assignFlagDefaults = (compilerConfig, parsedArgs, outputOptions) => {
if (Array.isArray(compilerConfig)) {
return compilerConfig.map((config) => cacheDefaults(config, parsedArgs));
return compilerConfig.map((config) => cacheDefaults(config, parsedArgs, outputOptions));
}
return cacheDefaults(compilerConfig, parsedArgs);
return cacheDefaults(compilerConfig, parsedArgs, outputOptions);
};

module.exports = assignFlagDefaults;
2 changes: 1 addition & 1 deletion packages/webpack-cli/lib/webpack-cli.js
Expand Up @@ -61,7 +61,7 @@ class WebpackCLI extends GroupHelper {
coreCliHelper.processArguments(coreCliArgs, this.compilerConfiguration, coreConfig);
// Assign some defaults to core flags
}
const configWithDefaults = assignFlagDefaults(this.compilerConfiguration, parsedArgs);
const configWithDefaults = assignFlagDefaults(this.compilerConfiguration, parsedArgs, this.outputConfiguration);
this._mergeOptionsToConfiguration(configWithDefaults);
}

Expand Down

0 comments on commit 9679a64

Please sign in to comment.