Skip to content

Conversation

@sebmarkbage
Copy link
Collaborator

This lets us write them early in the render phase.

This should be safe because even if we write them deeply, then they still can't be wrapped by a element because then they'd no longer be in the document scope anymore. They end up flat in the body and so when we search the content we'll discover them.

This lets us write them early in the render phase.
@sebmarkbage sebmarkbage requested a review from gnoff April 10, 2025 23:13
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Apr 10, 2025
@react-sizebot
Copy link

Comparing: 5e9b487...9e556d1

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 = 517.64 kB 517.25 kB = 92.08 kB 91.98 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 = 622.45 kB 622.05 kB = 110.15 kB 110.05 kB
facebook-www/ReactDOM-prod.classic.js = 655.67 kB 655.28 kB = 115.72 kB 115.63 kB
facebook-www/ReactDOM-prod.modern.js = 645.95 kB 645.56 kB = 114.17 kB 114.08 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-experimental/react-dom/cjs/react-dom-server.node.development.js = 411.50 kB 410.42 kB = 71.58 kB 71.40 kB
oss-experimental/react-dom/cjs/react-dom-server.edge.development.js = 416.62 kB 415.50 kB = 72.40 kB 72.17 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.development.js = 415.61 kB 414.49 kB = 72.17 kB 71.96 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.production.js = 236.07 kB 235.43 kB = 43.16 kB 43.01 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.production.js = 230.99 kB 230.35 kB = 41.26 kB 41.10 kB
facebook-www/ReactDOMServer-prod.classic.js = 222.91 kB 222.27 kB = 40.02 kB 39.87 kB
oss-stable/react-dom/cjs/react-dom-server.node.development.js = 375.89 kB 374.81 kB = 67.58 kB 67.39 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.development.js = 375.82 kB 374.73 kB = 67.52 kB 67.34 kB
facebook-www/ReactDOMServer-prod.modern.js = 220.22 kB 219.58 kB = 39.69 kB 39.54 kB
oss-stable/react-dom/cjs/react-dom-server.edge.development.js = 380.15 kB 379.03 kB = 68.35 kB 68.15 kB
oss-stable-semver/react-dom/cjs/react-dom-server.edge.development.js = 380.08 kB 378.96 kB = 68.30 kB 68.10 kB
oss-stable/react-dom/cjs/react-dom-server.browser.development.js = 379.37 kB 378.25 kB = 68.20 kB 68.01 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.development.js = 379.29 kB 378.18 kB = 68.15 kB 67.96 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.production.js = 216.31 kB 215.66 kB = 40.36 kB 40.21 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.production.js = 216.28 kB 215.64 kB = 40.33 kB 40.18 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.production.js = 211.79 kB 211.15 kB = 38.59 kB 38.45 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.production.js = 211.77 kB 211.12 kB = 38.57 kB 38.43 kB
oss-experimental/react-dom/cjs/react-dom-server.bun.production.js = 236.70 kB 235.97 kB = 42.57 kB 42.42 kB
oss-experimental/react-dom/cjs/react-dom-server.node.production.js = 260.54 kB 259.71 kB = 45.89 kB 45.75 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.development.js = 390.60 kB 389.34 kB = 69.31 kB 69.03 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.development.js = 390.60 kB 389.33 kB = 69.31 kB 69.03 kB
oss-experimental/react-dom/cjs/react-dom-server.edge.production.js = 264.72 kB 263.86 kB = 46.90 kB 46.72 kB
facebook-www/ReactDOMServer-dev.classic.js = 380.13 kB 378.87 kB = 68.10 kB 67.81 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.production.js = 258.78 kB 257.92 kB = 44.74 kB 44.59 kB
facebook-www/ReactDOMServer-dev.modern.js = 376.67 kB 375.41 kB = 67.56 kB 67.27 kB
oss-stable/react-dom/cjs/react-dom-server.bun.production.js = 216.11 kB 215.38 kB = 39.79 kB 39.63 kB
oss-stable-semver/react-dom/cjs/react-dom-server.bun.production.js = 216.04 kB 215.31 kB = 39.77 kB 39.61 kB
facebook-www/ReactDOMServerStreaming-prod.modern.js = 224.54 kB 223.77 kB = 41.26 kB 41.11 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.development.js = 363.63 kB 362.37 kB = 66.04 kB 65.76 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.development.js = 363.63 kB 362.37 kB = 66.04 kB 65.76 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.development.js = 363.61 kB 362.35 kB = 66.01 kB 65.73 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.development.js = 363.61 kB 362.34 kB = 66.01 kB 65.73 kB
oss-experimental/react-dom/cjs/react-dom-server.bun.development.js = 348.64 kB 347.41 kB = 66.23 kB 65.96 kB
oss-stable/react-dom/cjs/react-dom-server.node.production.js = 232.81 kB 231.98 kB = 42.32 kB 42.16 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.production.js = 232.73 kB 231.91 kB = 42.29 kB 42.13 kB
oss-stable/react-dom/cjs/react-dom-server.edge.production.js = 236.29 kB 235.44 kB = 43.32 kB 43.14 kB
oss-stable-semver/react-dom/cjs/react-dom-server.edge.production.js = 236.22 kB 235.36 kB = 43.30 kB 43.12 kB
facebook-www/ReactDOMServerStreaming-dev.modern.js = 368.32 kB 366.95 kB = 66.20 kB 65.93 kB
oss-stable/react-dom/cjs/react-dom-server.browser.production.js = 231.10 kB 230.23 kB = 41.37 kB 41.19 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.production.js = 231.02 kB 230.16 kB = 41.35 kB 41.16 kB
oss-stable/react-dom/cjs/react-dom-server.bun.development.js = 323.73 kB 322.50 kB = 62.92 kB 62.66 kB
oss-stable-semver/react-dom/cjs/react-dom-server.bun.development.js = 323.66 kB 322.42 kB = 62.89 kB 62.64 kB

Generated by 🚫 dangerJS against 9e556d1

// also clear the singleton as well.
const headPreambleContributionChunk = stringToPrecomputedChunk('<!--head-->');
const bodyPreambleContributionChunk = stringToPrecomputedChunk('<!--body-->');
const htmlPreambleContributionChunk = stringToPrecomputedChunk('<!--html-->');
Copy link
Collaborator

Choose a reason for hiding this comment

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

nit: how is this last??!? :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

in the order of the functions :D

@sebmarkbage sebmarkbage merged commit 8a3c5e1 into facebook:main Apr 10, 2025
243 checks passed
github-actions bot pushed a commit that referenced this pull request Apr 10, 2025
…32850)

This lets us write them early in the render phase.

This should be safe because even if we write them deeply, then they
still can't be wrapped by a element because then they'd no longer be in
the document scope anymore. They end up flat in the body and so when we
search the content we'll discover them.

DiffTrain build for [8a3c5e1](8a3c5e1)
github-actions bot pushed a commit that referenced this pull request Apr 10, 2025
…32850)

This lets us write them early in the render phase.

This should be safe because even if we write them deeply, then they
still can't be wrapped by a element because then they'd no longer be in
the document scope anymore. They end up flat in the body and so when we
search the content we'll discover them.

DiffTrain build for [8a3c5e1](8a3c5e1)
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.

4 participants