diff --git a/lib/plugin-webpack5.js b/lib/plugin-webpack5.js index 9b156ff12..d6cb49214 100644 --- a/lib/plugin-webpack5.js +++ b/lib/plugin-webpack5.js @@ -151,22 +151,6 @@ function cloneRule (rawRule, refs) { // shallow flat .reduce((prev, next) => prev.concat(next), []) - // do not process rule with enforce - if (!rawRule.enforce) { - const ruleUse = rules[0].rules - .map(rule => rule.effects - .filter(effect => effect.type === 'use') - .map(effect => effect.value) - ) - // shallow flat - .reduce((prev, next) => prev.concat(next), []) - - // fix conflict with config.loader and config.options when using config.use - delete rawRule.loader - delete rawRule.options - rawRule.use = ruleUse - } - const res = Object.assign({}, rawRule, { resource: resources => { currentResource = resources @@ -193,6 +177,22 @@ function cloneRule (rawRule, refs) { } }) + // do not process rule with enforce + if (!res.enforce) { + const ruleUse = rules[0].rules + .map(rule => rule.effects + .filter(effect => effect.type === 'use') + .map(effect => effect.value) + ) + // shallow flat + .reduce((prev, next) => prev.concat(next), []) + + // fix conflict with config.loader and config.options when using config.use + delete res.loader + delete res.options + res.use = ruleUse + } + delete res.test if (rawRule.rules) {