Skip to content

Commit be85ec1

Browse files
committedJan 15, 2018
Tell user what browser support their application was built with (facebook#3782)
* Warn about browsers during build * Better message
1 parent f309392 commit be85ec1

File tree

4 files changed

+21
-0
lines changed

4 files changed

+21
-0
lines changed
 

‎config/paths.js

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ function getServedPath(appPackageJson) {
4949
// config after eject: we're in ./config/
5050
module.exports = {
5151
dotenv: resolveApp('.env'),
52+
appPath: resolveApp('.'),
5253
appBuild: resolveApp('build'),
5354
appPublic: resolveApp('public'),
5455
appHtml: resolveApp('public/index.html'),

‎package.json

+4
Original file line numberDiff line numberDiff line change
@@ -68,5 +68,9 @@
6868
},
6969
"optionalDependencies": {
7070
"fsevents": "1.1.2"
71+
},
72+
"browserslist": {
73+
"development": "last 2 chrome versions",
74+
"production": [">1%", "last 4 versions", "Firefox ESR", "not ie < 11"]
7175
}
7276
}

‎scripts/build.js

+9
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@ const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
4040
const printHostingInstructions = require('react-dev-utils/printHostingInstructions');
4141
const FileSizeReporter = require('react-dev-utils/FileSizeReporter');
4242
const printBuildError = require('react-dev-utils/printBuildError');
43+
const { printBrowsers } = require('react-dev-utils/browsersHelper');
44+
// @remove-on-eject-begin
45+
// Require browsers to be specified before you eject
46+
const { checkBrowsers } = require('react-dev-utils/browsersHelper');
47+
if (!checkBrowsers(paths.appPath)) {
48+
process.exit(1);
49+
}
50+
// @remove-on-eject-end
4351

4452
const measureFileSizesBeforeBuild =
4553
FileSizeReporter.measureFileSizesBeforeBuild;
@@ -107,6 +115,7 @@ measureFileSizesBeforeBuild(paths.appBuild)
107115
buildFolder,
108116
useYarn
109117
);
118+
printBrowsers(paths.appPath);
110119
},
111120
err => {
112121
console.log(chalk.red('Failed to compile.\n'));

‎scripts/start.js

+7
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,13 @@ const createDevServerConfig = require('../config/webpackDevServer.config');
4848

4949
const useYarn = fs.existsSync(paths.yarnLockFile);
5050
const isInteractive = process.stdout.isTTY;
51+
// @remove-on-eject-begin
52+
// Require browsers to be specified before you eject
53+
const { checkBrowsers } = require('react-dev-utils/browsersHelper');
54+
if (!checkBrowsers(paths.appPath)) {
55+
process.exit(1);
56+
}
57+
// @remove-on-eject-end
5158

5259
// Warn and crash if required files are missing
5360
if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) {

0 commit comments

Comments
 (0)