From 77f6fd6afb2091bb549e92b7a738470b4b172a91 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Thu, 5 Jul 2018 19:35:19 +0200 Subject: [PATCH 1/2] feat(cli): When selecting "separate config files", cli should create .browserslistrc file close #1236 --- packages/@vue/cli/lib/util/configTransforms.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/@vue/cli/lib/util/configTransforms.js b/packages/@vue/cli/lib/util/configTransforms.js index 8dbc6f55f8..5cc961b9a9 100644 --- a/packages/@vue/cli/lib/util/configTransforms.js +++ b/packages/@vue/cli/lib/util/configTransforms.js @@ -94,10 +94,18 @@ function transformYAML (value, filename, source) { } } +function transformBrowserslist (value, filename, source) { + return { + filename: `.browserslistrc`, + content: value.join('\n') + } +} + module.exports = { vue: makeJSTransform('vue.config.js'), babel: makeJSTransform('babel.config.js'), postcss: makeMutliExtensionJSONTransform('.postcssrc', true), eslintConfig: makeMutliExtensionJSONTransform('.eslintrc', true), - jest: makeJSTransform('jest.config.js') + jest: makeJSTransform('jest.config.js'), + browserslist: transformBrowserslist } From cfaed8618bf521b02413076e6f4f93be0c500d50 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Thu, 5 Jul 2018 21:43:52 +0200 Subject: [PATCH 2/2] test(cli): add test for extracting .browserslistrc --- packages/@vue/cli/__tests__/Generator.spec.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/@vue/cli/__tests__/Generator.spec.js b/packages/@vue/cli/__tests__/Generator.spec.js index 1d5ddc5cf7..172ab09a82 100644 --- a/packages/@vue/cli/__tests__/Generator.spec.js +++ b/packages/@vue/cli/__tests__/Generator.spec.js @@ -473,7 +473,11 @@ test('extract config files', async () => { }, jest: { foo: 'bar' - } + }, + browserslist: [ + '> 1%', + 'not <= IE8' + ] } const generator = new Generator('/', { plugins: [ @@ -495,4 +499,5 @@ test('extract config files', async () => { expect(fs.readFileSync('/.postcssrc.js', 'utf-8')).toMatch(js(configs.postcss)) expect(fs.readFileSync('/.eslintrc.js', 'utf-8')).toMatch(js(configs.eslintConfig)) expect(fs.readFileSync('/jest.config.js', 'utf-8')).toMatch(js(configs.jest)) + expect(fs.readFileSync('/.browserslistrc', 'utf-8')).toMatch('> 1%\nnot <= IE8') })