@@ -35,7 +35,7 @@ module.exports = class VueLoaderPlugin {
35
35
// find the normalized version of the vue rule
36
36
const normalizedVueRule = rawNormalizedRules [ vueRuleIndex ]
37
37
// get the normlized "use" for vue files
38
- const normalizedVueUse = normalizedVueRule . use . map ( cleanUse )
38
+ const normalizedVueUse = normalizedVueRule . use
39
39
// get vue-loader options
40
40
const vueLoaderUseIndex = normalizedVueUse . findIndex ( u => {
41
41
return / ^ v u e - l o a d e r | ( \/ | \\ ) v u e - l o a d e r / . test ( u . loader )
@@ -83,20 +83,18 @@ module.exports = class VueLoaderPlugin {
83
83
// for each user rule, inject a cloned rule by checking if the rule
84
84
// matches the lang specified in the resourceQuery.
85
85
rawRules . unshift . apply ( rawRules , baseRules . map ( ( rule , i ) => {
86
- return cloneRule ( rule , normalizedRules [ i ] , normalizedVueUse )
86
+ return cloneRule ( rule , normalizedRules [ i ] )
87
87
} ) )
88
88
89
89
// inject global pitcher (responsible for injecting template compiler
90
90
// loader & CSS post loader)
91
91
rawRules . unshift ( {
92
92
loader : require . resolve ( './loaders/pitch' )
93
93
} )
94
-
95
- // console.log(rawRules)
96
94
}
97
95
}
98
96
99
- function cloneRule ( rule , normalizedRule , vueUse ) {
97
+ function cloneRule ( rule , normalizedRule ) {
100
98
// Assuming `test` and `resourceQuery` tests are executed in series and
101
99
// synchronously (which is true based on RuleSet's implementation), we can
102
100
// save the current resource being matched from `test` so that we can access
@@ -123,31 +121,27 @@ function cloneRule (rule, normalizedRule, vueUse) {
123
121
}
124
122
return true
125
123
} ,
126
- use : ( normalizedRule . use || [ ] ) . map ( cleanUse )
124
+ use : normalizedRule . use ? normalizedRule . use . map ( reuseIdent ) : undefined
127
125
} )
128
126
129
- if ( ! res . use . length ) {
130
- delete res . use
131
- }
132
-
133
127
// delete shorthand since we have normalized use
134
128
delete res . loader
135
129
delete res . loaders
136
130
delete res . options
137
131
138
132
if ( rule . oneOf ) {
139
133
res . oneOf = rule . oneOf . map ( ( r , i ) => {
140
- return cloneRule ( r , normalizedRule . oneOf [ i ] , vueUse )
134
+ return cloneRule ( r , normalizedRule . oneOf [ i ] )
141
135
} )
142
136
}
143
137
144
138
return res
145
139
}
146
140
147
- // "ident" is exposed on normalized uses, delete in case it
148
- // interferes with another normalization
149
- function cleanUse ( use ) {
150
- const res = Object . assign ( { } , use )
151
- delete res . ident
152
- return res
141
+ function reuseIdent ( use ) {
142
+ if ( use . ident ) {
143
+ use . options . ident = use . ident
144
+ delete use . ident
145
+ }
146
+ return use
153
147
}
0 commit comments