diff --git a/packages/react-scripts/config/env.js b/packages/react-scripts/config/env.js index 2bdc65afa15..66ba341b358 100644 --- a/packages/react-scripts/config/env.js +++ b/packages/react-scripts/config/env.js @@ -15,24 +15,25 @@ var REACT_APP = /^REACT_APP_/i; function getClientEnvironment(publicUrl) { - return Object + var processEnv = Object .keys(process.env) .filter(key => REACT_APP.test(key)) .reduce((env, key) => { - env['process.env.' + key] = JSON.stringify(process.env[key]); + env[key] = JSON.stringify(process.env[key]); return env; }, { // Useful for determining whether we’re running in production 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' ), // Useful for resolving the correct path to static assets in `public`. // For example, . // 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. - 'process.env.PUBLIC_URL': JSON.stringify(publicUrl) + 'PUBLIC_URL': JSON.stringify(publicUrl) }); + return {'process.env': processEnv}; } module.exports = getClientEnvironment; diff --git a/packages/react-scripts/config/webpack.config.prod.js b/packages/react-scripts/config/webpack.config.prod.js index 4c43cdf5193..2fb3035719e 100644 --- a/packages/react-scripts/config/webpack.config.prod.js +++ b/packages/react-scripts/config/webpack.config.prod.js @@ -49,7 +49,7 @@ var env = getClientEnvironment(publicUrl); // Assert this just to be safe. // 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.'); }