@@ -28,6 +28,8 @@ const publicPath = paths.servedPath;
2828// Some apps do not use client-side routing with pushState.
2929// For these, "homepage" can be set to "." to enable relative asset paths.
3030const shouldUseRelativeAssetPaths = publicPath === './' ;
31+ // Source maps are resource heavy and can cause out of memory issue for large source files.
32+ const shouldUseSourceMap = process . env . GENERATE_SOURCEMAP !== 'false' ;
3133// `publicUrl` is just like `publicPath`, but we will provide it to our app
3234// as %PUBLIC_URL% in `index.html` and `process.env.PUBLIC_URL` in JavaScript.
3335// Omit trailing slash as %PUBLIC_URL%/xyz looks better than %PUBLIC_URL%xyz.
@@ -61,7 +63,7 @@ module.exports = {
6163 bail : true ,
6264 // We generate sourcemaps in production. This is slow but gives good results.
6365 // You can exclude the *.map files from the build during deployment.
64- devtool : 'source-map' ,
66+ devtool : shouldUseSourceMap ? 'source-map' : false ,
6567 // In production, we only want to load the polyfills and the app code.
6668 entry : [ require . resolve ( './polyfills' ) , paths . appIndexJs ] ,
6769 output : {
@@ -195,7 +197,7 @@ module.exports = {
195197 options : {
196198 importLoaders : 1 ,
197199 minimize : true ,
198- sourceMap : true ,
200+ sourceMap : shouldUseSourceMap ,
199201 } ,
200202 } ,
201203 {
@@ -291,7 +293,7 @@ module.exports = {
291293 // https://github.com/facebookincubator/create-react-app/issues/2488
292294 ascii_only : true ,
293295 } ,
294- sourceMap : true ,
296+ sourceMap : shouldUseSourceMap ,
295297 } ) ,
296298 // Note: this won't work without ExtractTextPlugin.extract(..) in `loaders`.
297299 new ExtractTextPlugin ( {
0 commit comments