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') }) 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 }