Skip to content

Commit e7b2b11

Browse files
committed
fix: skip matching rule with 'enforce'
backports #1680
1 parent e081dc4 commit e7b2b11

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

Diff for: lib/plugin-webpack5.js

+4
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ class VueLoaderPlugin {
3838
let vueRules = []
3939

4040
for (const rawRule of rules) {
41+
// skip rules with 'enforce'. eg. rule for eslint-loader
42+
if (rawRule.enforce) {
43+
continue
44+
}
4145
// skip the `include` check when locating the vue rule
4246
const clonedRawRule = Object.assign({}, rawRule)
4347
delete clonedRawRule.include

Diff for: test/advanced.spec.js

+14
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,20 @@ test('support rules with oneOf', async () => {
241241
})
242242
})
243243

244+
test('should work with eslint loader', async () => {
245+
// TODO:
246+
return new Promise(resolve => {
247+
bundle({
248+
entry: 'basic.vue',
249+
modify: config => {
250+
config.module.rules.unshift({
251+
test: /\.vue$/, loader: 'vue-loader', enforce: 'pre'
252+
})
253+
}
254+
}, () => resolve())
255+
})
256+
})
257+
244258
// TODO
245259
// test('multiple rule definitions', done => {
246260
// mockBundleAndRun({

0 commit comments

Comments
 (0)