Skip to content

Commit e48b4f4

Browse files
committed
Allow webpack config to accept babel presets & plugins via env variables
1 parent dc6074a commit e48b4f4

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

packages/react-scripts/config/webpack.config.dev.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ var publicPath = '/';
2929
var publicUrl = '';
3030
// Get enrivonment variables to inject into our app.
3131
var env = getClientEnvironment(publicUrl);
32+
var babelPresets = process.env.BABEL_PRESETS || '[]';
33+
babelPresets = JSON.parse(babelPresets);
34+
var babelPlugins = process.env.BABEL_PLUGINS || '[]';
35+
babelPlugins = JSON.parse(babelPlugins);
3236

3337
// This is the development configuration.
3438
// It is focused on developer experience and fast rebuilds.
@@ -119,7 +123,8 @@ module.exports = {
119123
query: {
120124
// @remove-on-eject-begin
121125
babelrc: false,
122-
presets: [require.resolve('babel-preset-react-app')],
126+
presets: [require.resolve('babel-preset-react-app')].concat(babelPresets),
127+
plugins: babelPlugins,
123128
// @remove-on-eject-end
124129
// This is a feature of `babel-loader` for webpack (not Babel itself).
125130
// It enables caching results in ./node_modules/.cache/react-scripts/

packages/react-scripts/config/webpack.config.prod.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ var publicPath = ensureSlash(homepagePathname, true);
4646
var publicUrl = ensureSlash(homepagePathname, false);
4747
// Get enrivonment variables to inject into our app.
4848
var env = getClientEnvironment(publicUrl);
49+
var babelPresets = process.env.BABEL_PRESETS || '[]';
50+
babelPresets = JSON.parse(babelPresets);
51+
var babelPlugins = process.env.BABEL_PLUGINS || '[]';
52+
babelPlugins = JSON.parse(babelPlugins);
4953

5054
// Assert this just to be safe.
5155
// Development builds of React are slow and not intended for production.
@@ -123,7 +127,8 @@ module.exports = {
123127
// @remove-on-eject-begin
124128
query: {
125129
babelrc: false,
126-
presets: [require.resolve('babel-preset-react-app')],
130+
presets: [require.resolve('babel-preset-react-app')].concat(babelPresets),
131+
plugins: babelPlugins
127132
},
128133
// @remove-on-eject-end
129134
},

packages/react-scripts/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{
2-
"name": "react-scripts",
2+
"name": "@philiptzou/react-scripts",
33
"version": "0.6.1",
4-
"description": "Configuration and scripts for Create React App.",
5-
"repository": "facebookincubator/create-react-app",
4+
"description": "Configuration and scripts for Create React App. Customized by Stanford HIVDB team.",
5+
"repository": "philiptzou/create-react-app",
66
"license": "BSD-3-Clause",
77
"engines": {
88
"node": ">=4"
99
},
1010
"bugs": {
11-
"url": "https://github.com/facebookincubator/create-react-app/issues"
11+
"url": "https://github.com/philiptzou/create-react-app/issues"
1212
},
1313
"files": [
1414
".babelrc",

0 commit comments

Comments
 (0)