From 81ef19ca175a764ade548f84d8b940603d89d431 Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Mon, 28 Mar 2022 10:47:08 +0200 Subject: [PATCH] feat(build): add support for Create React App without eject (#7946) Refs #7898 Refs #7944 Refs #7935 Refs #7910 Refs #7908 Refs #7902 --- webpack/es-bundle-core.babel.js | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/webpack/es-bundle-core.babel.js b/webpack/es-bundle-core.babel.js index f6c6f54e..064170ef 100644 --- a/webpack/es-bundle-core.babel.js +++ b/webpack/es-bundle-core.babel.js @@ -15,11 +15,14 @@ import { WebpackBundleSizeAnalyzerPlugin } from "webpack-bundle-size-analyzer" import nodeExternals from "webpack-node-externals" // import { StatsWriterPlugin } from "webpack-stats-plugin" +const minimize = true +const sourcemaps = true + const result = configBuilder( { - minimize: true, + minimize, mangle: true, - sourcemaps: true, + sourcemaps, includeDependencies: false, }, { @@ -41,12 +44,28 @@ const result = configBuilder( module: true, }, }, + devtool: sourcemaps && minimize ? "source-map" : false, externalsType: "module", externals: [ { esprima: "esprima", }, nodeExternals({ + allowlist: [ + /object\/define-property/, // @babel/runtime-corejs3 import which makes fragment work with Jest + "deep-extend", // uses Buffer as global symbol + "randombytes", // uses require('safe-buffer') + "sha.js", // uses require('safe-buffer') + "xml", // uses require('stream') + /process\/browser/, // is injected via ProvidePlugin + /readable-stream/, // byproduct of buffer ProvidePlugin injection + "util-deprecate", // dependency of readable-stream + "inherits", // dependency of readable-stream + "events", // dependency of readable-stream + /safe-buffer/, // contained in resolve.alias + /string_decoder/, // byproduct of buffer ProvidePlugin injection + "buffer", // buffer is injected via ProvidePlugin + ], importType: (moduleName) => { return `module ${moduleName}` }}) @@ -65,5 +84,4 @@ const result = configBuilder( } ) - export default result