Skip to content

Commit 7df92f9

Browse files
jonathantnealprateekbh
authored andcommitted
Respect browserslist configurations (#829)
1 parent ea5f71e commit 7df92f9

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

packages/cli/lib/lib/webpack/webpack-base-config.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const { resolve } = require('path');
44
const { readFileSync, existsSync } = require('fs');
55
const SizePlugin = require('size-plugin');
66
const autoprefixer = require('autoprefixer');
7+
const browserslist = require('browserslist');
78
const requireRelative = require('require-relative');
89
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
910
const FixStyleOnlyEntriesPlugin = require('webpack-fix-style-only-entries');
@@ -64,7 +65,15 @@ module.exports = function(env) {
6465
env.pkg = readJson(resolve(cwd, 'package.json')) || {};
6566

6667
let babelrc = readJson(resolve(cwd, 'old')) || {};
67-
let browsers = env.pkg.browserslist || ['> 0.25%', 'IE >= 9'];
68+
69+
// use browserslist config environment, config default, or default browsers
70+
// default browsers are > 0.25% global market share or Internet Explorer >= 9
71+
const browserslistDefaults = ['> 0.25%', 'IE >= 9'];
72+
const browserlistConfig = Object(browserslist.findConfig(cwd));
73+
const browsers =
74+
(isProd ? browserlistConfig.production : browserlistConfig.development) ||
75+
browserlistConfig.default ||
76+
browserslistDefaults;
6877

6978
let userNodeModules = findAllNodeModules(cwd);
7079
let cliNodeModules = findAllNodeModules(__dirname);

packages/cli/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
"babel-plugin-macros": "^2.5.1",
8181
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
8282
"brotli-webpack-plugin": "^1.0.0",
83+
"browserslist": "^4.6.4",
8384
"console-clear": "^1.0.0",
8485
"copy-webpack-plugin": "^5.0.3",
8586
"critters-webpack-plugin": "^1.3.3",

0 commit comments

Comments
 (0)