Skip to content
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

[Flight Parcel] Implement findSourceMapURL #32294

Merged
merged 2 commits into from
Feb 4, 2025

Conversation

devongovett
Copy link
Contributor

This implements findSourceMapURL in react-server-dom-parcel, enabling source maps for replayed server errors on the client. It utilizes a new endpoint in the Parcel dev server that returns the source map for a given bundle/file. The error overlay UI has also been updated to handle these stacks. See parcel-bundler/parcel#10082

Also updated the fixture to the latest Parcel canary. A few APIs have changed. We do have a higher level library wrapper now (@parcel/rsc added in parcel-bundler/parcel#10074) but I left the fixture using the lower level APIs directly here since it is easier to see how react-server-dom-parcel is used.

@react-sizebot
Copy link

Comparing: 152bfe3...136347a

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 = 514.52 kB 514.52 kB = 91.76 kB 91.76 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 = 557.55 kB 557.55 kB = 99.01 kB 99.01 kB
facebook-www/ReactDOM-prod.classic.js = 596.50 kB 596.50 kB = 104.89 kB 104.89 kB
facebook-www/ReactDOM-prod.modern.js = 586.92 kB 586.92 kB = 103.35 kB 103.35 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-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js +0.50% 88.16 kB 88.61 kB +0.71% 16.65 kB 16.77 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js +0.50% 90.99 kB 91.45 kB +0.68% 17.27 kB 17.39 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js +0.50% 90.99 kB 91.45 kB +0.68% 17.27 kB 17.39 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js +0.50% 88.21 kB 88.66 kB +0.70% 16.68 kB 16.79 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js +0.49% 92.79 kB 93.25 kB +0.66% 17.62 kB 17.74 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js +0.49% 92.79 kB 93.25 kB +0.66% 17.62 kB 17.74 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js +0.42% 108.44 kB 108.89 kB +0.57% 20.71 kB 20.82 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js +0.42% 105.22 kB 105.66 kB +0.58% 19.95 kB 20.06 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js +0.41% 110.24 kB 110.69 kB +0.56% 21.07 kB 21.19 kB

Generated by 🚫 dangerJS against 3c90d40

@@ -30,6 +30,17 @@ import type {TemporaryReferenceSet} from 'react-client/src/ReactFlightTemporaryR
export {createTemporaryReferenceSet} from 'react-client/src/ReactFlightTemporaryReferences';
export type {TemporaryReferenceSet};

function findSourceMapURL(filename: string, environmentName: string) {
const devServer = parcelRequire.meta.devServer;
Copy link
Collaborator

Choose a reason for hiding this comment

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

It's nice that this is totally encapsulated through an official API so the consumer doesn't have to do anything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants