mirror of
https://github.com/zebrajr/react.git
synced 2026-01-15 12:15:22 +00:00
Fork the "empty" prepareStackTrace case for Server builds (#31427)
We don't actually want the source mapped version of `.stack` from errors because that would cause us to not be able to associate it with a source map in the UIs that need it. The strategy in browsers is more correct where the display is responsible for source maps. That's why we disable any custom `prepareStackTrace` like the ones added by `source-map`. We reset it to `undefined`. However, when running node with `--enable-source-maps` the default for `prepareStackTrace` which is a V8 feature (but may exist elsewhere too like Bun) is a source mapped version of the stack. In those environments we need to reset it to a default implementation that doesn't apply source maps. We already did this in Flight using the `ReactFlightStackConfigV8.js` config. However, we need this more generally in the `shared/ReactComponentStackFrame` implementation. We could always set it to the default implementation instead of `undefined` but that's unnecessary code in browser builds and it might lead to slightly different results. For safety and code size, this PR does it with a fork instead. All builds specific to `node` or `edge` (or `markup` which is a server feature) gets the default implementation where as everything else (e.g. browsers) get `undefined` since it's expected that this is not source mapped. We don't have to do anything about the equivalent in React DevTools since React DevTools doesn't run on the server.
This commit is contained in:
committed by
GitHub
parent
b81e6dd2da
commit
156eab2f7b
@@ -8,12 +8,55 @@
|
||||
|
||||
module.exports = [
|
||||
{
|
||||
shortName: 'dom-node',
|
||||
shortName: 'dom-browser',
|
||||
entryPoints: [
|
||||
'react-dom',
|
||||
'react-dom/client',
|
||||
'react-dom/profiling',
|
||||
'react-dom/unstable_testing',
|
||||
'react-dom/src/server/react-dom-server.browser.js',
|
||||
'react-dom/static.browser',
|
||||
'react-dom/unstable_server-external-runtime',
|
||||
'react-server-dom-webpack/client.browser',
|
||||
'react-server-dom-webpack/src/server/react-flight-dom-server.browser',
|
||||
],
|
||||
paths: [
|
||||
'react-dom',
|
||||
'react-dom/src/ReactDOMReactServer.js',
|
||||
'react-dom-bindings',
|
||||
'react-dom/client',
|
||||
'react-dom/profiling',
|
||||
'react-dom/server.browser',
|
||||
'react-dom/static.browser',
|
||||
'react-dom/unstable_testing',
|
||||
'react-dom/src/server/react-dom-server.browser',
|
||||
'react-dom/src/server/ReactDOMFizzServerBrowser.js', // react-dom/server.browser
|
||||
'react-dom/src/server/ReactDOMFizzStaticBrowser.js',
|
||||
'react-dom-bindings/src/server/ReactDOMFlightServerHostDispatcher.js',
|
||||
'react-dom-bindings/src/server/ReactFlightServerConfigDOM.js',
|
||||
'react-dom-bindings/src/shared/ReactFlightClientConfigDOM.js',
|
||||
'react-server-dom-webpack',
|
||||
'react-server-dom-webpack/client',
|
||||
'react-server-dom-webpack/client.browser',
|
||||
'react-server-dom-webpack/server.browser',
|
||||
'react-server-dom-webpack/static.browser',
|
||||
'react-server-dom-webpack/src/client/ReactFlightDOMClientBrowser.js', // react-server-dom-webpack/client.browser
|
||||
'react-server-dom-webpack/src/client/ReactFlightClientConfigBundlerWebpack.js',
|
||||
'react-server-dom-webpack/src/client/ReactFlightClientConfigBundlerWebpackBrowser.js',
|
||||
'react-server-dom-webpack/src/server/react-flight-dom-server.browser',
|
||||
'react-server-dom-webpack/src/server/ReactFlightDOMServerBrowser.js', // react-server-dom-webpack/src/server/react-flight-dom-server.browser
|
||||
'react-devtools',
|
||||
'react-devtools-core',
|
||||
'react-devtools-shell',
|
||||
'react-devtools-shared',
|
||||
'shared/ReactDOMSharedInternals',
|
||||
],
|
||||
isFlowTyped: true,
|
||||
isServerSupported: true,
|
||||
},
|
||||
{
|
||||
shortName: 'dom-node',
|
||||
entryPoints: [
|
||||
'react-dom/src/ReactDOMReactServer.js',
|
||||
'react-dom/src/server/react-dom-server.node.js',
|
||||
'react-dom/static.node',
|
||||
@@ -148,13 +191,7 @@ module.exports = [
|
||||
},
|
||||
{
|
||||
shortName: 'dom-bun',
|
||||
entryPoints: [
|
||||
'react-dom',
|
||||
'react-dom/client',
|
||||
'react-dom/profiling',
|
||||
'react-dom/unstable_testing',
|
||||
'react-dom/src/server/react-dom-server.bun.js',
|
||||
],
|
||||
entryPoints: ['react-dom/src/server/react-dom-server.bun.js'],
|
||||
paths: [
|
||||
'react-dom',
|
||||
'react-dom/client',
|
||||
@@ -171,53 +208,6 @@ module.exports = [
|
||||
isFlowTyped: true,
|
||||
isServerSupported: true,
|
||||
},
|
||||
{
|
||||
shortName: 'dom-browser',
|
||||
entryPoints: [
|
||||
'react-dom',
|
||||
'react-dom/client',
|
||||
'react-dom/profiling',
|
||||
'react-dom/unstable_testing',
|
||||
'react-dom/src/server/react-dom-server.browser.js',
|
||||
'react-dom/static.browser',
|
||||
'react-dom/unstable_server-external-runtime',
|
||||
'react-server-dom-webpack/client.browser',
|
||||
'react-server-dom-webpack/src/server/react-flight-dom-server.browser',
|
||||
],
|
||||
paths: [
|
||||
'react-dom',
|
||||
'react-dom/src/ReactDOMReactServer.js',
|
||||
'react-dom-bindings',
|
||||
'react-dom/client',
|
||||
'react-dom/profiling',
|
||||
'react-dom/server.browser',
|
||||
'react-dom/static.browser',
|
||||
'react-dom/unstable_testing',
|
||||
'react-dom/src/server/react-dom-server.browser',
|
||||
'react-dom/src/server/ReactDOMFizzServerBrowser.js', // react-dom/server.browser
|
||||
'react-dom/src/server/ReactDOMFizzStaticBrowser.js',
|
||||
'react-dom-bindings/src/server/ReactDOMFlightServerHostDispatcher.js',
|
||||
'react-dom-bindings/src/server/ReactFlightServerConfigDOM.js',
|
||||
'react-dom-bindings/src/shared/ReactFlightClientConfigDOM.js',
|
||||
'react-server-dom-webpack',
|
||||
'react-server-dom-webpack/client',
|
||||
'react-server-dom-webpack/client.browser',
|
||||
'react-server-dom-webpack/server.browser',
|
||||
'react-server-dom-webpack/static.browser',
|
||||
'react-server-dom-webpack/src/client/ReactFlightDOMClientBrowser.js', // react-server-dom-webpack/client.browser
|
||||
'react-server-dom-webpack/src/client/ReactFlightClientConfigBundlerWebpack.js',
|
||||
'react-server-dom-webpack/src/client/ReactFlightClientConfigBundlerWebpackBrowser.js',
|
||||
'react-server-dom-webpack/src/server/react-flight-dom-server.browser',
|
||||
'react-server-dom-webpack/src/server/ReactFlightDOMServerBrowser.js', // react-server-dom-webpack/src/server/react-flight-dom-server.browser
|
||||
'react-devtools',
|
||||
'react-devtools-core',
|
||||
'react-devtools-shell',
|
||||
'react-devtools-shared',
|
||||
'shared/ReactDOMSharedInternals',
|
||||
],
|
||||
isFlowTyped: true,
|
||||
isServerSupported: true,
|
||||
},
|
||||
{
|
||||
shortName: 'dom-browser-esm',
|
||||
entryPoints: ['react-server-dom-esm/client.browser'],
|
||||
|
||||
Reference in New Issue
Block a user