Commit 92d9cda9 authored by Thien Do's avatar Thien Do Committed by Dan Abramov
Browse files

Define process.env as object (#807)

* Define process.env as object

* Fix define process.env

* fix NODE_ENV check

* Fix style nitpick
parent 0ad930e1
No related merge requests found
Showing with 6 additions and 5 deletions
+6 -5
...@@ -15,24 +15,25 @@ ...@@ -15,24 +15,25 @@
var REACT_APP = /^REACT_APP_/i; var REACT_APP = /^REACT_APP_/i;
function getClientEnvironment(publicUrl) { function getClientEnvironment(publicUrl) {
return Object var processEnv = Object
.keys(process.env) .keys(process.env)
.filter(key => REACT_APP.test(key)) .filter(key => REACT_APP.test(key))
.reduce((env, key) => { .reduce((env, key) => {
env['process.env.' + key] = JSON.stringify(process.env[key]); env[key] = JSON.stringify(process.env[key]);
return env; return env;
}, { }, {
// Useful for determining whether we’re running in production mode. // Useful for determining whether we’re running in production mode.
// Most importantly, it switches React into the correct mode. // Most importantly, it switches React into the correct mode.
'process.env.NODE_ENV': JSON.stringify( 'NODE_ENV': JSON.stringify(
process.env.NODE_ENV || 'development' process.env.NODE_ENV || 'development'
), ),
// Useful for resolving the correct path to static assets in `public`. // Useful for resolving the correct path to static assets in `public`.
// For example, <img src={process.env.PUBLIC_URL + '/img/logo.png'} />. // For example, <img src={process.env.PUBLIC_URL + '/img/logo.png'} />.
// This should only be used as an escape hatch. Normally you would put // This should only be used as an escape hatch. Normally you would put
// images into the `src` and `import` them in code to get their paths. // images into the `src` and `import` them in code to get their paths.
'process.env.PUBLIC_URL': JSON.stringify(publicUrl) 'PUBLIC_URL': JSON.stringify(publicUrl)
}); });
return {'process.env': processEnv};
} }
module.exports = getClientEnvironment; module.exports = getClientEnvironment;
...@@ -49,7 +49,7 @@ var env = getClientEnvironment(publicUrl); ...@@ -49,7 +49,7 @@ var env = getClientEnvironment(publicUrl);
// Assert this just to be safe. // Assert this just to be safe.
// Development builds of React are slow and not intended for production. // Development builds of React are slow and not intended for production.
if (env['process.env.NODE_ENV'] !== '"production"') { if (env['process.env'].NODE_ENV !== '"production"') {
throw new Error('Production builds must have NODE_ENV=production.'); throw new Error('Production builds must have NODE_ENV=production.');
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment