@@ -28,6 +28,8 @@ const publicPath = paths.servedPath;
28
28
// Some apps do not use client-side routing with pushState.
29
29
// For these, "homepage" can be set to "." to enable relative asset paths.
30
30
const 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' ;
31
33
// `publicUrl` is just like `publicPath`, but we will provide it to our app
32
34
// as %PUBLIC_URL% in `index.html` and `process.env.PUBLIC_URL` in JavaScript.
33
35
// Omit trailing slash as %PUBLIC_URL%/xyz looks better than %PUBLIC_URL%xyz.
@@ -61,7 +63,7 @@ module.exports = {
61
63
bail : true ,
62
64
// We generate sourcemaps in production. This is slow but gives good results.
63
65
// You can exclude the *.map files from the build during deployment.
64
- devtool : 'source-map' ,
66
+ devtool : shouldUseSourceMap ? 'source-map' : false ,
65
67
// In production, we only want to load the polyfills and the app code.
66
68
entry : [ require . resolve ( './polyfills' ) , paths . appIndexJs ] ,
67
69
output : {
@@ -189,7 +191,7 @@ module.exports = {
189
191
options : {
190
192
importLoaders : 1 ,
191
193
minimize : true ,
192
- sourceMap : true ,
194
+ sourceMap : shouldUseSourceMap ,
193
195
} ,
194
196
} ,
195
197
{
@@ -285,7 +287,7 @@ module.exports = {
285
287
// https://github.com/facebookincubator/create-react-app/issues/2488
286
288
ascii_only : true ,
287
289
} ,
288
- sourceMap : true ,
290
+ sourceMap : shouldUseSourceMap ,
289
291
} ) ,
290
292
// Note: this won't work without ExtractTextPlugin.extract(..) in `loaders`.
291
293
new ExtractTextPlugin ( {
0 commit comments