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 3, 2020
1 parent 56d3228 commit 8f0d08b
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 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;

0 comments on commit 8f0d08b

Please sign in to comment.