From 39f6a8628e0c72ccb6042ed593e82b06622d9215 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Tue, 1 Oct 2019 22:05:59 +0800 Subject: [PATCH] fix: avoid accidentally overriding sass config with scss configs --- packages/@vue/cli-service/__tests__/css.spec.js | 6 +++++- packages/@vue/cli-service/lib/config/css.js | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/@vue/cli-service/__tests__/css.spec.js b/packages/@vue/cli-service/__tests__/css.spec.js index b2de8b0d2c..6704ee3a27 100644 --- a/packages/@vue/cli-service/__tests__/css.spec.js +++ b/packages/@vue/cli-service/__tests__/css.spec.js @@ -347,7 +347,8 @@ test('scss loaderOptions', () => { prependData: sassData }, scss: { - prependData: scssData + prependData: scssData, + webpackImporter: false } } } @@ -365,6 +366,9 @@ test('scss loaderOptions', () => { }, sourceMap: false }) + + // should not merge scss options into default sass config + expect(findOptions(config, 'sass', 'sass')).not.toHaveProperty('webpackImporter') }) test('should use dart sass implementation whenever possible', () => { diff --git a/packages/@vue/cli-service/lib/config/css.js b/packages/@vue/cli-service/lib/config/css.js index fba35f7f16..96db04d7c9 100644 --- a/packages/@vue/cli-service/lib/config/css.js +++ b/packages/@vue/cli-service/lib/config/css.js @@ -187,11 +187,13 @@ module.exports = (api, rootOptions) => { createCSSRule('css', /\.css$/) createCSSRule('postcss', /\.p(ost)?css$/) createCSSRule('scss', /\.scss$/, 'sass-loader', Object.assign( + {}, defaultSassLoaderOptions, loaderOptions.scss || loaderOptions.sass )) if (sassLoaderVersion < 8) { createCSSRule('sass', /\.sass$/, 'sass-loader', Object.assign( + {}, defaultSassLoaderOptions, { indentedSyntax: true @@ -200,6 +202,7 @@ module.exports = (api, rootOptions) => { )) } else { createCSSRule('sass', /\.sass$/, 'sass-loader', Object.assign( + {}, defaultSassLoaderOptions, loaderOptions.sass, {