Skip to content

[Flight] Consistently encode sourceURLs #33731

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

eps1lon
Copy link
Collaborator

@eps1lon eps1lon commented Jul 8, 2025

When a Server runs a Client reading from a third-party Server in the same VM, you might not want to implement findSourceMapURL for that Client in environments where HTTP is not available as a protocol in sourceMappingURL (e.g. Node.js).

You also won't know the source map URL of a given source in Node.js. Only its payload and serializing that into data: URLs is too memory intensive.

When you don't implement findSourceMapURL, React always applied encodeURI to the originl sourceURL. This caused two problems:

  1. The stackframe that was created had an over-encoded location (e.g. when sourceURL was already a valid URL). You can't blindly apply decodeURI on locations in stack frames since you don't know if you're dealing with an original source URL or the source URL React encoded.
  2. React will create multiple fake scripts for the same source URL if findSourceMapURL returns no source mapping URL. This breaks debuggers since the original source will be overwritten with React's fake sources if sourceURL === encodeURI(sourceURL)

Now we always use the same mechanism to create unique source URLs: "rsc://" environmentName "/" originalSourceURL "?" fakeFunctionIdx

environmentName is put through encodeURIComponent.
originalSourceURL is put through encodeURI.
fakeFunctionIdx is a number with no meaning. It only exists to create unique sources.

Not using encodeURI at all doesn't work for CommonJS where getScriptNameOrSourceURL returns the script name which is a file path. If we encode that into a file URL, findSourceMap will no longer work on the source URL from that fake script.

@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Jul 8, 2025
@react-sizebot
Copy link

react-sizebot commented Jul 8, 2025

Comparing: b44a99b...c577e78

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.68 kB 6.68 kB = 1.83 kB 1.83 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 530.70 kB 530.50 kB = 93.70 kB 93.66 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB = 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 655.25 kB 655.04 kB = 115.40 kB 115.35 kB
facebook-www/ReactDOM-prod.classic.js = 675.13 kB 675.12 kB +0.02% 118.75 kB 118.77 kB
facebook-www/ReactDOM-prod.modern.js = 665.56 kB 665.54 kB = 117.12 kB 117.13 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 164.30 kB 161.02 kB = 29.26 kB 28.67 kB
oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 187.72 kB 183.94 kB = 41.97 kB 40.96 kB
oss-experimental/react-client/cjs/react-client-flight.development.js = 153.51 kB 150.27 kB = 26.93 kB 26.40 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js = 117.96 kB 115.33 kB = 21.95 kB 21.49 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js = 117.96 kB 115.33 kB = 21.95 kB 21.49 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js = 117.87 kB 115.24 kB = 21.92 kB 21.45 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js = 117.87 kB 115.24 kB = 21.92 kB 21.45 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js = 114.83 kB 112.15 kB = 21.45 kB 20.97 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js = 114.83 kB 112.15 kB = 21.45 kB 20.97 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js = 112.24 kB 109.60 kB = 20.98 kB 20.47 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js = 112.19 kB 109.55 kB = 20.95 kB 20.44 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js = 111.68 kB 109.05 kB = 20.84 kB 20.33 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js = 111.63 kB 109.00 kB = 20.81 kB 20.31 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js = 119.17 kB 116.33 kB = 22.12 kB 21.60 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js = 119.17 kB 116.33 kB = 22.12 kB 21.60 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js = 109.50 kB 106.86 kB = 20.45 kB 19.94 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js = 109.45 kB 106.81 kB = 20.42 kB 19.92 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js = 110.64 kB 107.97 kB = 20.51 kB 19.99 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js = 110.59 kB 107.92 kB = 20.49 kB 19.97 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js = 116.30 kB 113.40 kB = 21.63 kB 21.10 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js = 116.30 kB 113.40 kB = 21.63 kB 21.10 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js = 113.73 kB 110.86 kB = 21.17 kB 20.65 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js = 113.73 kB 110.86 kB = 21.17 kB 20.65 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js = 123.20 kB 120.02 kB = 22.67 kB 22.08 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js = 123.20 kB 120.02 kB = 22.67 kB 22.08 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 121.87 kB 118.68 kB = 22.42 kB 21.83 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 121.87 kB 118.68 kB = 22.42 kB 21.83 kB
oss-stable/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 151.26 kB 147.29 kB = 35.16 kB 34.06 kB
oss-stable-semver/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 151.23 kB 147.26 kB = 35.13 kB 34.04 kB
oss-stable/react-client/cjs/react-client-flight.development.js = 111.07 kB 107.93 kB = 20.12 kB 19.63 kB
oss-stable-semver/react-client/cjs/react-client-flight.development.js = 111.05 kB 107.91 kB = 20.10 kB 19.60 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable-semver/react-server/cjs/react-server.production.js +0.25% 135.61 kB 135.95 kB = 23.92 kB 23.85 kB
oss-stable/react-server/cjs/react-server.production.js +0.25% 135.61 kB 135.95 kB = 23.92 kB 23.85 kB
oss-experimental/react-dom/cjs/react-dom-server.node.production.js = 306.87 kB 306.25 kB = 53.47 kB 53.38 kB
oss-experimental/react-dom/cjs/react-dom-server.edge.production.js = 298.99 kB 298.37 kB = 53.60 kB 53.52 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.production.js = 292.65 kB 292.03 kB = 51.23 kB 51.15 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.production.js = 58.02 kB 57.90 kB = 11.60 kB 11.56 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.production.js = 58.02 kB 57.90 kB = 11.60 kB 11.56 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js = 57.59 kB 57.47 kB = 11.51 kB 11.46 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js = 57.59 kB 57.47 kB = 11.51 kB 11.46 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.production.js = 58.60 kB 58.47 kB = 11.70 kB 11.65 kB
oss-stable/react-dom/cjs/react-dom-server.node.production.js = 261.73 kB 261.16 kB = 46.89 kB 46.81 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.production.js = 261.65 kB 261.09 kB = 46.87 kB 46.78 kB
oss-stable/react-dom/cjs/react-dom-server.edge.production.js = 261.48 kB 260.92 kB = 48.44 kB 48.35 kB
oss-stable-semver/react-dom/cjs/react-dom-server.edge.production.js = 261.41 kB 260.85 kB = 48.41 kB 48.33 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js = 58.16 kB 58.04 kB = 11.60 kB 11.55 kB
oss-stable/react-dom/cjs/react-dom-server.browser.production.js = 256.17 kB 255.61 kB = 46.40 kB 46.31 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.production.js = 256.10 kB 255.53 kB = 46.37 kB 46.28 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.production.js = 55.68 kB 55.56 kB = 11.11 kB 11.07 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.production.js = 55.68 kB 55.56 kB = 11.11 kB 11.07 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.production.js = 55.46 kB 55.34 kB = 11.02 kB 10.98 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.production.js = 55.46 kB 55.34 kB = 11.02 kB 10.98 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.production.js = 56.25 kB 56.13 kB = 11.21 kB 11.16 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.production.js = 56.04 kB 55.91 kB = 11.12 kB 11.07 kB
oss-experimental/react-dom/cjs/react-dom-server.bun.production.js = 274.44 kB 273.82 kB = 49.22 kB 49.13 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.production.js = 268.69 kB 268.07 kB = 48.90 kB 48.80 kB
oss-stable/react-dom/cjs/react-dom-server.bun.production.js = 240.02 kB 239.46 kB = 43.83 kB 43.74 kB
oss-stable-semver/react-dom/cjs/react-dom-server.bun.production.js = 239.94 kB 239.38 kB = 43.80 kB 43.71 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.production.js = 263.15 kB 262.53 kB = 46.74 kB 46.65 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.production.js = 237.74 kB 237.18 kB = 44.10 kB 44.02 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.production.js = 237.72 kB 237.16 kB = 44.08 kB 43.99 kB
facebook-www/ReactDOMServerStreaming-prod.modern.js = 260.94 kB 260.33 kB = 47.75 kB 47.66 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.production.js = 233.13 kB 232.57 kB = 42.28 kB 42.20 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.production.js = 233.11 kB 232.54 kB = 42.26 kB 42.18 kB
facebook-www/ReactDOMServer-prod.classic.js = 254.23 kB 253.61 kB = 45.43 kB 45.34 kB
facebook-www/ReactDOMServer-prod.modern.js = 251.87 kB 251.25 kB = 45.09 kB 45.00 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.production.js = 68.65 kB 68.48 kB = 13.57 kB 13.50 kB
oss-experimental/react-markup/cjs/react-markup.production.js = 250.73 kB 250.11 kB = 46.04 kB 45.95 kB
oss-stable-semver/react-server/cjs/react-server-flight.development.js = 125.57 kB 125.26 kB = 22.81 kB 22.74 kB
oss-stable/react-server/cjs/react-server-flight.development.js = 125.57 kB 125.26 kB = 22.81 kB 22.74 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.production.js = 67.47 kB 67.30 kB = 13.33 kB 13.26 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.production.js = 60.88 kB 60.73 kB = 12.24 kB 12.20 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.production.js = 60.88 kB 60.73 kB = 12.24 kB 12.20 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.production.js = 61.46 kB 61.30 kB = 12.33 kB 12.29 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.production.js = 68.09 kB 67.92 kB = 13.47 kB 13.40 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.production.js = 68.09 kB 67.92 kB = 13.47 kB 13.40 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.production.js = 64.77 kB 64.61 kB = 12.97 kB 12.92 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.production.js = 64.77 kB 64.61 kB = 12.97 kB 12.92 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.production.js = 65.35 kB 65.18 kB = 13.06 kB 13.01 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.production.js = 66.92 kB 66.74 kB = 13.22 kB 13.16 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.production.js = 66.92 kB 66.74 kB = 13.22 kB 13.16 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.production.js = 61.60 kB 61.39 kB = 12.33 kB 12.28 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.production.js = 61.60 kB 61.39 kB = 12.33 kB 12.28 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.production.js = 62.17 kB 61.96 kB = 12.43 kB 12.37 kB
oss-experimental/react-server/cjs/react-server.development.js = 214.98 kB 214.20 kB = 37.29 kB 37.17 kB
oss-experimental/react-server/cjs/react-server.production.js = 153.05 kB 152.47 kB = 26.57 kB 26.48 kB
oss-stable-semver/react-server/cjs/react-server.development.js = 195.43 kB 194.65 kB = 34.59 kB 34.47 kB
oss-stable/react-server/cjs/react-server.development.js = 195.43 kB 194.65 kB = 34.59 kB 34.47 kB
oss-experimental/react-client/cjs/react-client-flight.production.js = 63.79 kB 63.53 kB = 11.68 kB 11.63 kB
oss-stable/react-client/cjs/react-client-flight.production.js = 63.30 kB 63.04 kB = 11.60 kB 11.54 kB
oss-stable-semver/react-client/cjs/react-client-flight.production.js = 63.28 kB 63.02 kB = 11.58 kB 11.52 kB
oss-experimental/react-markup/cjs/react-markup.react-server.development.js = 641.48 kB 638.30 kB = 113.54 kB 112.88 kB
oss-experimental/react-server/cjs/react-server-flight.production.js = 66.22 kB 65.87 kB = 13.03 kB 12.99 kB
oss-stable-semver/react-server/cjs/react-server-flight.production.js = 60.61 kB 60.27 kB = 12.15 kB 12.10 kB
oss-stable/react-server/cjs/react-server-flight.production.js = 60.61 kB 60.27 kB = 12.15 kB 12.10 kB
oss-stable-semver/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js = 89.10 kB 88.51 kB = 18.50 kB 18.38 kB
oss-stable/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js = 89.10 kB 88.51 kB = 18.50 kB 18.38 kB
oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js = 89.84 kB 89.24 kB = 18.62 kB 18.50 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js = 160.39 kB 157.67 kB = 28.86 kB 28.36 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js = 160.30 kB 157.58 kB = 28.83 kB 28.32 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js = 157.26 kB 154.48 kB = 28.35 kB 27.81 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js = 154.68 kB 151.95 kB = 27.79 kB 27.30 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js = 154.13 kB 151.39 kB = 27.65 kB 27.15 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js = 151.94 kB 149.21 kB = 27.26 kB 26.77 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js = 153.08 kB 150.31 kB = 27.27 kB 26.75 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js = 161.60 kB 158.66 kB = 28.96 kB 28.42 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js = 158.73 kB 155.74 kB = 28.48 kB 27.89 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js = 156.17 kB 153.19 kB = 28.02 kB 27.46 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js = 165.64 kB 162.35 kB = 29.50 kB 28.91 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 164.30 kB 161.02 kB = 29.26 kB 28.67 kB
oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 187.72 kB 183.94 kB = 41.97 kB 40.96 kB
oss-experimental/react-client/cjs/react-client-flight.development.js = 153.51 kB 150.27 kB = 26.93 kB 26.40 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js = 117.96 kB 115.33 kB = 21.95 kB 21.49 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js = 117.96 kB 115.33 kB = 21.95 kB 21.49 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js = 117.87 kB 115.24 kB = 21.92 kB 21.45 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js = 117.87 kB 115.24 kB = 21.92 kB 21.45 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js = 114.83 kB 112.15 kB = 21.45 kB 20.97 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js = 114.83 kB 112.15 kB = 21.45 kB 20.97 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js = 112.24 kB 109.60 kB = 20.98 kB 20.47 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js = 112.19 kB 109.55 kB = 20.95 kB 20.44 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js = 111.68 kB 109.05 kB = 20.84 kB 20.33 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js = 111.63 kB 109.00 kB = 20.81 kB 20.31 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js = 119.17 kB 116.33 kB = 22.12 kB 21.60 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js = 119.17 kB 116.33 kB = 22.12 kB 21.60 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js = 109.50 kB 106.86 kB = 20.45 kB 19.94 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js = 109.45 kB 106.81 kB = 20.42 kB 19.92 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js = 110.64 kB 107.97 kB = 20.51 kB 19.99 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js = 110.59 kB 107.92 kB = 20.49 kB 19.97 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js = 116.30 kB 113.40 kB = 21.63 kB 21.10 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js = 116.30 kB 113.40 kB = 21.63 kB 21.10 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js = 113.73 kB 110.86 kB = 21.17 kB 20.65 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js = 113.73 kB 110.86 kB = 21.17 kB 20.65 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js = 123.20 kB 120.02 kB = 22.67 kB 22.08 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js = 123.20 kB 120.02 kB = 22.67 kB 22.08 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 121.87 kB 118.68 kB = 22.42 kB 21.83 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 121.87 kB 118.68 kB = 22.42 kB 21.83 kB
oss-stable/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 151.26 kB 147.29 kB = 35.16 kB 34.06 kB
oss-stable-semver/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 151.23 kB 147.26 kB = 35.13 kB 34.04 kB
oss-stable/react-client/cjs/react-client-flight.development.js = 111.07 kB 107.93 kB = 20.12 kB 19.63 kB
oss-stable-semver/react-client/cjs/react-client-flight.development.js = 111.05 kB 107.91 kB = 20.10 kB 19.60 kB

Generated by 🚫 dangerJS against c577e78

@eps1lon eps1lon force-pushed the sebbie/square-scare branch from b31e714 to c577e78 Compare July 8, 2025 06:57
@eps1lon eps1lon requested a review from sebmarkbage July 8, 2025 07:01
Comment on lines -2755 to -2761
if (filename.startsWith('/')) {
// If the filename starts with `/` we assume that it is a file system file
// rather than relative to the current host. Since on the server fully qualified
// stack traces use the file path.
// TODO: What does this look like on Windows?
filename = 'file://' + filename;
}
Copy link
Collaborator Author

@eps1lon eps1lon Jul 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The host should deal with this instead (e.g. in Node.js via url.pathToFileURL if they need to). For CommonJS it'd be the wrong thing to do since the sourcemaps of CJS files are keyed by their file path in Node.js not their file URL.

@eps1lon eps1lon marked this pull request as ready for review July 8, 2025 07:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed React Core Team Opened by a member of the React Core Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants