26 lines
		
	
	
		
			790 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			790 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const qs = require('querystring')
 | 
						|
const { resolveCompiler } = require('../compiler')
 | 
						|
 | 
						|
// 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 { compiler } = resolveCompiler(this.rootContext, this)
 | 
						|
  const { code, map, errors } = compiler.compileStyle({
 | 
						|
    source,
 | 
						|
    filename: this.resourcePath,
 | 
						|
    id: `data-v-${query.id}`,
 | 
						|
    map: inMap,
 | 
						|
    scoped: !!query.scoped,
 | 
						|
    isProd: query.prod != null,
 | 
						|
    trim: true
 | 
						|
  })
 | 
						|
 | 
						|
  if (errors.length) {
 | 
						|
    this.callback(errors[0])
 | 
						|
  } else {
 | 
						|
    this.callback(null, code, map)
 | 
						|
  }
 | 
						|
}
 |