From 935b66c280ea2a585a6b434c4afa8da59ac4e94b Mon Sep 17 00:00:00 2001 From: SatowTakeshi Date: Tue, 25 Aug 2020 01:54:39 +0900 Subject: [PATCH 1/3] fix(compiler-sfc): user-defined options.data of scss should be respected --- .../__tests__/compileStyle.spec.ts | 22 +++++++++++++++++++ .../compiler-sfc/src/stylePreprocessors.ts | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/compiler-sfc/__tests__/compileStyle.spec.ts b/packages/compiler-sfc/__tests__/compileStyle.spec.ts index b235273b641..52d0593854e 100644 --- a/packages/compiler-sfc/__tests__/compileStyle.spec.ts +++ b/packages/compiler-sfc/__tests__/compileStyle.spec.ts @@ -336,4 +336,26 @@ describe('SFC style preprocessors', () => { path.join(__dirname, './fixture/import.scss') ]) }) + + test('scss respect user-defined options.data', () => { + const res = compileStyle({ + preprocessOptions: { + data: ` + @mixin square($size) { + width: $size; + height: $size; + }` + }, + source: ` + .square { + @include square(100px); + } + `, + filename: path.resolve(__dirname, './fixture/test.scss'), + id: '', + preprocessLang: 'scss' + }) + + expect(res.errors.length).toBe(0) + }) }) diff --git a/packages/compiler-sfc/src/stylePreprocessors.ts b/packages/compiler-sfc/src/stylePreprocessors.ts index a50c30d1c6a..d5d8bd4006f 100644 --- a/packages/compiler-sfc/src/stylePreprocessors.ts +++ b/packages/compiler-sfc/src/stylePreprocessors.ts @@ -24,7 +24,7 @@ const scss: StylePreprocessor = (source, map, options, load = require) => { const nodeSass = load('sass') const finalOptions = { ...options, - data: source, + data: (options.data || '') + source, file: options.filename, outFile: options.filename, sourceMap: !!map From 9e28ab2b11fd90330861419627156490f750c4e4 Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 14 Sep 2020 20:45:44 -0400 Subject: [PATCH 2/3] Update stylePreprocessors.ts --- packages/compiler-sfc/src/stylePreprocessors.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/compiler-sfc/src/stylePreprocessors.ts b/packages/compiler-sfc/src/stylePreprocessors.ts index d5d8bd4006f..a6287dfc7e6 100644 --- a/packages/compiler-sfc/src/stylePreprocessors.ts +++ b/packages/compiler-sfc/src/stylePreprocessors.ts @@ -24,7 +24,7 @@ const scss: StylePreprocessor = (source, map, options, load = require) => { const nodeSass = load('sass') const finalOptions = { ...options, - data: (options.data || '') + source, + data: (options.additionalData || '') + source, file: options.filename, outFile: options.filename, sourceMap: !!map From 67dbbd09751e8b75a498a05c266473ed539deaff Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 14 Sep 2020 20:46:08 -0400 Subject: [PATCH 3/3] Update compileStyle.spec.ts --- packages/compiler-sfc/__tests__/compileStyle.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/compiler-sfc/__tests__/compileStyle.spec.ts b/packages/compiler-sfc/__tests__/compileStyle.spec.ts index 52d0593854e..46a34463907 100644 --- a/packages/compiler-sfc/__tests__/compileStyle.spec.ts +++ b/packages/compiler-sfc/__tests__/compileStyle.spec.ts @@ -337,10 +337,10 @@ describe('SFC style preprocessors', () => { ]) }) - test('scss respect user-defined options.data', () => { + test('scss respect user-defined options.additionalData', () => { const res = compileStyle({ preprocessOptions: { - data: ` + additionalData: ` @mixin square($size) { width: $size; height: $size;