Skip to content

Conversation

@sebmarkbage
Copy link
Collaborator

@sebmarkbage sebmarkbage commented Jul 8, 2025

Because the object limit is unfortunately depth first due to limitations of JSON stringify, we need to ensure that things we really don't want outlined are first in the enumeration order.

We add the stack length to the object limit to ensure that the stack frames aren't outlined. In console all the user space arguments are at the end of the args. In server component props, the props are at the end of the properties of the element.

For the value of I/O we had it before the stack so it could steal the limit from the stack. The fix is to put it at the end.

@sebmarkbage sebmarkbage requested a review from eps1lon July 8, 2025 15:32
@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

Comparing: befc124...cf6a0d2

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 674.93 kB = 118.75 kB 118.71 kB
facebook-www/ReactDOM-prod.modern.js = 665.56 kB 665.36 kB = 117.11 kB 117.06 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.22% 135.31 kB 135.61 kB = 23.93 kB 23.92 kB
oss-stable/react-server/cjs/react-server.production.js +0.22% 135.31 kB 135.61 kB = 23.93 kB 23.92 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js = 166.34 kB 165.64 kB = 29.63 kB 29.50 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 165.01 kB 164.30 kB = 29.38 kB 29.26 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js = 162.31 kB 161.60 kB = 29.08 kB 28.96 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js = 161.10 kB 160.39 kB = 28.98 kB 28.86 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js = 161.01 kB 160.30 kB = 28.94 kB 28.83 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js = 159.44 kB 158.73 kB = 28.60 kB 28.48 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js = 157.97 kB 157.26 kB = 28.48 kB 28.35 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js = 156.87 kB 156.17 kB = 28.15 kB 28.02 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js = 155.39 kB 154.68 kB = 27.91 kB 27.79 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js = 154.83 kB 154.13 kB = 27.76 kB 27.64 kB
oss-experimental/react-client/cjs/react-client-flight.development.js = 154.22 kB 153.51 kB = 27.05 kB 26.93 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js = 153.79 kB 153.08 kB = 27.40 kB 27.27 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js = 152.65 kB 151.94 kB = 27.38 kB 27.26 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js = 210.34 kB 209.29 kB = 38.36 kB 38.19 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js = 210.29 kB 209.23 kB = 38.36 kB 38.18 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js = 209.14 kB 208.08 kB = 38.06 kB 37.88 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-server.node.development.js = 202.36 kB 201.31 kB = 36.91 kB 36.79 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js = 196.40 kB 195.34 kB = 36.22 kB 36.12 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js = 123.91 kB 123.20 kB = 22.83 kB 22.67 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js = 123.91 kB 123.20 kB = 22.83 kB 22.67 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 122.58 kB 121.87 kB = 22.58 kB 22.42 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 122.58 kB 121.87 kB = 22.58 kB 22.42 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js = 119.87 kB 119.17 kB = 22.29 kB 22.12 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js = 119.87 kB 119.17 kB = 22.29 kB 22.12 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js = 118.66 kB 117.96 kB = 22.12 kB 21.95 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js = 118.66 kB 117.96 kB = 22.12 kB 21.95 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js = 118.57 kB 117.87 kB = 22.09 kB 21.92 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js = 118.57 kB 117.87 kB = 22.09 kB 21.92 kB
oss-experimental/react-server/cjs/react-server-flight.development.js = 134.97 kB 134.16 kB = 24.55 kB 24.34 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js = 117.00 kB 116.30 kB = 21.80 kB 21.63 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js = 117.00 kB 116.30 kB = 21.80 kB 21.63 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js = 115.53 kB 114.83 kB = 21.62 kB 21.45 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js = 115.53 kB 114.83 kB = 21.62 kB 21.45 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js = 114.44 kB 113.73 kB = 21.34 kB 21.17 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js = 114.44 kB 113.73 kB = 21.34 kB 21.17 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js = 112.94 kB 112.24 kB = 21.16 kB 20.98 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js = 112.89 kB 112.19 kB = 21.13 kB 20.95 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js = 112.39 kB 111.68 kB = 21.02 kB 20.84 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js = 112.34 kB 111.63 kB = 21.00 kB 20.81 kB
oss-stable/react-client/cjs/react-client-flight.development.js = 111.78 kB 111.07 kB = 20.28 kB 20.12 kB
oss-stable-semver/react-client/cjs/react-client-flight.development.js = 111.76 kB 111.05 kB = 20.26 kB 20.10 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js = 111.35 kB 110.64 kB = 20.68 kB 20.51 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js = 111.30 kB 110.59 kB = 20.66 kB 20.49 kB
oss-stable-semver/react-server/cjs/react-server-flight.development.js = 126.37 kB 125.57 kB = 23.01 kB 22.81 kB
oss-stable/react-server/cjs/react-server-flight.development.js = 126.37 kB 125.57 kB = 23.01 kB 22.81 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js = 110.20 kB 109.50 kB = 20.63 kB 20.45 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js = 110.15 kB 109.45 kB = 20.60 kB 20.42 kB
oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 189.41 kB 187.72 kB = 42.37 kB 41.97 kB
oss-stable/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 152.95 kB 151.26 kB = 35.59 kB 35.16 kB
oss-stable-semver/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 152.92 kB 151.23 kB = 35.56 kB 35.13 kB
oss-experimental/react-server/cjs/react-server-flight.production.js = 67.10 kB 66.22 kB = 13.28 kB 13.03 kB
oss-stable-semver/react-server/cjs/react-server-flight.production.js = 61.48 kB 60.61 kB = 12.39 kB 12.15 kB
oss-stable/react-server/cjs/react-server-flight.production.js = 61.48 kB 60.61 kB = 12.39 kB 12.15 kB

Generated by 🚫 dangerJS against cf6a0d2

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