]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
feat(compiler-sfc): support `additionalData` option in `compileStyle` when processing...
authorsatotake <doublequotation@gmail.com>
Tue, 15 Sep 2020 00:53:06 +0000 (09:53 +0900)
committerGitHub <noreply@github.com>
Tue, 15 Sep 2020 00:53:06 +0000 (20:53 -0400)
packages/compiler-sfc/__tests__/compileStyle.spec.ts
packages/compiler-sfc/src/stylePreprocessors.ts

index b235273b6415d4cebe201c67f7299824691f0073..46a344639074d15248309913348c23d387244f45 100644 (file)
@@ -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)
+  })
 })
index a50c30d1c6ab4c3fbec10a5a92860ab59e7b4d62..a6287dfc7e6da196c5cadabb8629d6364be97527 100644 (file)
@@ -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