From 937735251ce2539ce9a087359eb270ce5b260ffe Mon Sep 17 00:00:00 2001 From: satotake Date: Tue, 15 Sep 2020 09:53:06 +0900 Subject: [PATCH] feat(compiler-sfc): support `additionalData` option in `compileStyle` when processing sass (#1952) --- .../__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..46a34463907 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.additionalData', () => { + const res = compileStyle({ + preprocessOptions: { + additionalData: ` + @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..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: source, + data: (options.additionalData || '') + source, file: options.filename, outFile: options.filename, sourceMap: !!map