11import merge from 'merge-source-map'
2- import { fileURLToPath , pathToFileURL } from 'url'
32import type { RawSourceMap } from '@vue/compiler-core'
43import type { SFCStyleCompileOptions } from '../compileStyle'
54import { isFunction } from '@vue/shared'
@@ -24,6 +23,7 @@ export interface StylePreprocessorResults {
2423
2524// .scss/.sass processor
2625const scss : StylePreprocessor = ( source , map , options , load = require ) => {
26+ const { pathToFileURL, fileURLToPath } : typeof import ( 'url' ) = load ( 'url' )
2727 const nodeSass = load ( 'sass' ) as typeof import ( 'sass' )
2828 const data = getSource ( source , options . filename , options . additionalData )
2929 const finalOptions : import ( 'sass' ) . StringOptions < 'sync' > = {
@@ -37,14 +37,14 @@ const scss: StylePreprocessor = (source, map, options, load = require) => {
3737 const dependencies = result . loadedUrls . map ( url => fileURLToPath ( url ) )
3838 if ( map ) {
3939 return {
40- code : result . css . toString ( ) ,
41- map : merge ( map , JSON . parse ( result . sourceMap ?. toString ( ) ?? '' ) ) ,
40+ code : result . css ,
41+ map : merge ( map , result . sourceMap ! ) ,
4242 errors : [ ] ,
4343 dependencies,
4444 }
4545 }
4646
47- return { code : result . css . toString ( ) , errors : [ ] , dependencies }
47+ return { code : result . css , errors : [ ] , dependencies }
4848 } catch ( e : any ) {
4949 return { code : '' , errors : [ e ] , dependencies : [ ] }
5050 }
0 commit comments