File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change 1
1
const RuleSet = require ( 'webpack/lib/RuleSet' )
2
2
const progressiveLoaderModule = require ( '../progressive-loader/module' )
3
+ let vueLoaderPath
4
+ try {
5
+ vueLoaderPath = require . resolve ( 'vue-loader' )
6
+ } catch ( err ) { }
7
+
8
+ function isVueLoader ( use ) {
9
+ return use . ident === 'vue-loader-options' ||
10
+ use . loader === 'vue-loader' ||
11
+ ( vueLoaderPath && use . loader === vueLoaderPath )
12
+ }
3
13
4
14
class VuetifyLoaderPlugin {
5
15
constructor ( options ) {
@@ -12,7 +22,7 @@ class VuetifyLoaderPlugin {
12
22
const { rules } = new RuleSet ( rawRules )
13
23
14
24
// find the rule that applies to vue files
15
- const vueRuleIndex = rules . findIndex ( rule => rule . use && rule . use . find ( u => u . ident === 'vue-loader-options' ) )
25
+ const vueRuleIndex = rules . findIndex ( rule => rule . use && rule . use . find ( isVueLoader ) )
16
26
const vueRule = rules [ vueRuleIndex ]
17
27
18
28
if ( ! vueRule ) {
@@ -31,7 +41,7 @@ class VuetifyLoaderPlugin {
31
41
} )
32
42
33
43
if ( this . options . progressiveImages ) {
34
- const vueLoaderOptions = vueRule . use . find ( use => use . ident === 'vue-loader-options' ) . options
44
+ const vueLoaderOptions = vueRule . use . find ( isVueLoader ) . options
35
45
vueLoaderOptions . compilerOptions = vueLoaderOptions . compilerOptions || { }
36
46
vueLoaderOptions . compilerOptions . modules = vueLoaderOptions . compilerOptions . modules || [ ]
37
47
vueLoaderOptions . compilerOptions . modules . push ( progressiveLoaderModule )
You can’t perform that action at this time.
0 commit comments