23 lines
701 B
JavaScript
23 lines
701 B
JavaScript
const qs = require('querystring')
|
|
const { compileStyle } = require('@vue/component-compiler-utils')
|
|
|
|
// This is a post loader that handles scoped CSS transforms.
|
|
// Injected right before css-loader by the global pitcher (../pitch.js)
|
|
// for any <style scoped> selection requests initiated from within vue files.
|
|
module.exports = function (source, inMap) {
|
|
const query = qs.parse(this.resourceQuery.slice(1))
|
|
const { code, map, errors } = compileStyle({
|
|
source,
|
|
filename: this.resourcePath,
|
|
id: `data-v-${query.id}`,
|
|
map: inMap,
|
|
scoped: !!query.scoped,
|
|
trim: true
|
|
})
|
|
|
|
if (errors.length) {
|
|
this.callback(errors[0])
|
|
} else {
|
|
this.callback(null, code, map)
|
|
}
|
|
}
|