Skip to content

Commit a2b89d3

Browse files
committed
fix: resourceQuery could be undefined in webpack 5
fixes #1771
1 parent 0edc4b6 commit a2b89d3

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

lib/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ module.exports = function (source) {
4949
sourceMap,
5050
rootContext,
5151
resourcePath,
52-
resourceQuery
52+
resourceQuery = ''
5353
} = loaderContext
5454

5555
const rawQuery = resourceQuery.slice(1)

lib/plugin-webpack5.js

+2
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ class VueLoaderPlugin {
120120
const pitcher = {
121121
loader: require.resolve('./loaders/pitcher'),
122122
resourceQuery: query => {
123+
if (!query) { return false }
123124
const parsed = qs.parse(query.slice(1))
124125
return parsed.vue != null
125126
},
@@ -172,6 +173,7 @@ function cloneRule (rawRule, refs) {
172173
return true
173174
},
174175
resourceQuery: query => {
176+
if (!query) { return false }
175177
const parsed = qs.parse(query.slice(1))
176178
if (parsed.vue == null) {
177179
return false

test/edgeCases.spec.js

+15
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const path = require('path')
22
const normalizeNewline = require('normalize-newline')
3+
const webpack = require('webpack')
34
const HTMLPlugin = require('html-webpack-plugin')
45

56
const {
@@ -212,3 +213,17 @@ test('use with postLoader', done => {
212213
}, done)
213214
})
214215
})
216+
217+
// #1711
218+
test('data: URI as entry', done => {
219+
// this feature is only available in webpack 5
220+
if (webpack.version.startsWith('4')) {
221+
return
222+
}
223+
224+
bundle({
225+
entry: {
226+
main: 'data:text/javascript,console.log("hello world")'
227+
}
228+
}, () => done())
229+
})

0 commit comments

Comments
 (0)