Skip to content

Commit 2ff3a19

Browse files
viankakrisnaJohnNilsson
authored andcommitted
Use env variable to disable source maps (#2818)
* use env variable to disable source maps * Rename to use SOURCE_MAP with explicit value * Update webpack.config.prod.js
1 parent b2593b6 commit 2ff3a19

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

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

+5-3
Original file line numberDiff line numberDiff line change
@@ -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.
3030
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';
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

Comments
 (0)