From 4c6d785013e48cf09b211771fd3965ba01e55293 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Mon, 30 Sep 2019 13:37:08 +0800 Subject: [PATCH] fix: fix sassOptions merging for scss syntax in sass-loader v8 fixes #4630 --- packages/@vue/cli-service/__tests__/css.spec.js | 14 +++++++++++--- packages/@vue/cli-service/lib/config/css.js | 3 ++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/@vue/cli-service/__tests__/css.spec.js b/packages/@vue/cli-service/__tests__/css.spec.js index 5a6f989308..b2de8b0d2c 100644 --- a/packages/@vue/cli-service/__tests__/css.spec.js +++ b/packages/@vue/cli-service/__tests__/css.spec.js @@ -307,7 +307,10 @@ test('css.loaderOptions', () => { css: { loaderOptions: { sass: { - prependData + prependData, + sassOptions: { + includePaths: ['./src/styles'] + } } } } @@ -316,12 +319,17 @@ test('css.loaderOptions', () => { expect(findOptions(config, 'scss', 'sass')).toMatchObject({ prependData, - sourceMap: false + sourceMap: false, + sassOptions: { + includePaths: ['./src/styles'] + } }) + expect(findOptions(config, 'scss', 'sass').sassOptions).not.toHaveProperty('indentedSyntax') expect(findOptions(config, 'sass', 'sass')).toMatchObject({ prependData, sassOptions: { - indentedSyntax: true + indentedSyntax: true, + includePaths: ['./src/styles'] }, sourceMap: false }) diff --git a/packages/@vue/cli-service/lib/config/css.js b/packages/@vue/cli-service/lib/config/css.js index 3265fa36bf..fba35f7f16 100644 --- a/packages/@vue/cli-service/lib/config/css.js +++ b/packages/@vue/cli-service/lib/config/css.js @@ -204,7 +204,8 @@ module.exports = (api, rootOptions) => { loaderOptions.sass, { sassOptions: Object.assign( - (loaderOptions.sass && loaderOptions.sass.sassOptions) || {}, + {}, + loaderOptions.sass && loaderOptions.sass.sassOptions, { indentedSyntax: true }