7 files changed +38
-5
lines changed Original file line number Diff line number Diff line change
1
+ ## [ 17.0.1] ( https://github.com/vuejs/vue-loader/compare/v16.8.3...v17.0.1 ) (2022-10-28)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add ` vue ` and ` @vue/compiler-sfc ` to optional peerDependencies ([ df0ded5] ( https://github.com/vuejs/vue-loader/commit/df0ded5356864b9923da8f89ff33db1ae6c2402f ) ), closes [ #1944 ] ( https://github.com/vuejs/vue-loader/issues/1944 )
7
+ * merge custom queries rather than appending ([ #1911 ] ( https://github.com/vuejs/vue-loader/issues/1911 ) ) ([ 9e4249a] ( https://github.com/vuejs/vue-loader/commit/9e4249a548ceb04ead46fff9b68e9b2676b4c692 ) )
8
+
9
+
10
+
1
11
# [ 17.0.0] ( https://github.com/vuejs/vue-loader/compare/v16.8.3...v17.0.0 ) (2021-12-12)
2
12
3
13
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " vue-loader" ,
3
- "version" : " 17.0.0 " ,
3
+ "version" : " 17.0.1 " ,
4
4
"license" : " MIT" ,
5
5
"author" : " Evan You" ,
6
+ "repository" : " vuejs/vue-loader" ,
6
7
"main" : " dist/index.js" ,
7
8
"types" : " dist/index.d.ts" ,
8
9
"files" : [
39
40
"peerDependencies" : {
40
41
"webpack" : " ^4.1.0 || ^5.0.0-0"
41
42
},
43
+ "peerDependenciesMeta" : {
44
+ "@vue/compiler-sfc" : {
45
+ "optional" : true
46
+ },
47
+ "vue" : {
48
+ "optional" : true
49
+ }
50
+ },
42
51
"devDependencies" : {
43
52
"@babel/core" : " ^7.7.7" ,
44
53
"@babel/preset-env" : " ^7.11.5" ,
Original file line number Diff line number Diff line change @@ -75,11 +75,12 @@ export default function loader(
75
75
sourceMap,
76
76
rootContext,
77
77
resourcePath,
78
- resourceQuery = '' ,
78
+ resourceQuery : _resourceQuery = '' ,
79
79
} = loaderContext
80
80
81
- const rawQuery = resourceQuery . slice ( 1 )
81
+ const rawQuery = _resourceQuery . slice ( 1 )
82
82
const incomingQuery = qs . parse ( rawQuery )
83
+ const resourceQuery = rawQuery ? `&${ rawQuery } ` : ''
83
84
const options = ( loaderUtils . getOptions ( loaderContext ) ||
84
85
{ } ) as VueLoaderOptions
85
86
Original file line number Diff line number Diff line change @@ -61,7 +61,7 @@ class VueLoaderPlugin implements webpack.Plugin {
61
61
const vueLoaderOptions = ( vueLoaderUse . options =
62
62
vueLoaderUse . options || { } ) as VueLoaderOptions
63
63
64
- // for each user rule (expect the vue rule), create a cloned rule
64
+ // for each user rule (except the vue rule), create a cloned rule
65
65
// that targets the corresponding language blocks in *.vue files.
66
66
const clonedRules = rules . filter ( ( r ) => r !== vueRule ) . map ( cloneRule )
67
67
Original file line number Diff line number Diff line change @@ -165,7 +165,7 @@ class VueLoaderPlugin implements Plugin {
165
165
const vueLoaderOptions = ( vueLoaderUse . options =
166
166
vueLoaderUse . options || { } ) as VueLoaderOptions
167
167
168
- // for each user rule (expect the vue rule), create a cloned rule
168
+ // for each user rule (except the vue rule), create a cloned rule
169
169
// that targets the corresponding language blocks in *.vue files.
170
170
const refs = new Map ( )
171
171
const clonedRules = rules
Original file line number Diff line number Diff line change
1
+ <script lang="ts">
2
+ import BasicComponent from ' ./basic.vue?custom=true'
3
+
4
+ export default BasicComponent
5
+ </script >
Original file line number Diff line number Diff line change @@ -11,3 +11,11 @@ test('named exports', async () => {
11
11
test ( 'experimental <script setup>' , async ( ) => {
12
12
await mockBundleAndRun ( { entry : 'ScriptSetup.vue' } )
13
13
} )
14
+
15
+ test ( 'should handle custom resource query' , async ( ) => {
16
+ const { exports } = await mockBundleAndRun ( {
17
+ entry : 'custom-query.vue' ,
18
+ } )
19
+
20
+ expect ( exports . default . data ( ) . msg ) . toBe ( 'Hello from Component A!' )
21
+ } )
0 commit comments