react icon indicating copy to clipboard operation
react copied to clipboard

[ServerRenderer][draft] Add option to send instructions as data attributes

Open mofeiZ opened this issue 1 year ago • 1 comments

Would love to get some feedback on this before writing tests.

Changes made:

  • Running with enableFizzExternalRuntime (feature flag) and unstable_externalRuntimeSrc (param) will generate the following
<div 
  hidden data-react-server-instruction="$INSTR"
  data-react-server-arg0="param0"
  data-react-server-arg1="param1"
></div>

What's left (done)

  • ~~Add disableInstructionExecution as an entrypoint parameter~~
  • ~~Add a MutationObserver implementation~~
  • ~~Add ^ to test setup (when using Meta's feature flags)~~

Summary

How did you test this change?

mofeiZ avatar Oct 05 '22 22:10 mofeiZ

Comparing: 1a08f1478d965693611087393fc7271bf1e7e8f9...fcf858efc9659cfa82d7dc47979039e997afb165

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.min.js = 153.66 kB 153.66 kB = 48.90 kB 48.89 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js = 155.58 kB 155.58 kB = 49.51 kB 49.51 kB
facebook-www/ReactDOM-prod.classic.js = 530.48 kB 530.48 kB = 94.67 kB 94.67 kB
facebook-www/ReactDOM-prod.modern.js = 515.74 kB 515.74 kB = 92.49 kB 92.49 kB
facebook-www/ReactDOMForked-prod.classic.js = 530.48 kB 530.48 kB = 94.67 kB 94.67 kB
oss-experimental/react-dom/unstable_server-external-runtime.js +46.54% 1.52 kB 2.22 kB +43.85% 0.73 kB 1.05 kB
oss-stable-semver/react-dom/unstable_server-external-runtime.js +46.54% 1.52 kB 2.22 kB +43.85% 0.73 kB 1.05 kB
oss-stable/react-dom/unstable_server-external-runtime.js +46.54% 1.52 kB 2.22 kB +43.85% 0.73 kB 1.05 kB
facebook-www/ReactDOMServerStreaming-prod.modern.js +2.63% 121.77 kB 124.97 kB +1.94% 24.02 kB 24.48 kB
facebook-www/ReactDOMServer-prod.modern.js +2.42% 117.08 kB 119.91 kB +2.23% 22.73 kB 23.24 kB
facebook-www/ReactDOMServer-prod.classic.js +2.35% 120.22 kB 123.05 kB +2.17% 23.37 kB 23.88 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/unstable_server-external-runtime.js +46.54% 1.52 kB 2.22 kB +43.85% 0.73 kB 1.05 kB
oss-stable-semver/react-dom/unstable_server-external-runtime.js +46.54% 1.52 kB 2.22 kB +43.85% 0.73 kB 1.05 kB
oss-stable/react-dom/unstable_server-external-runtime.js +46.54% 1.52 kB 2.22 kB +43.85% 0.73 kB 1.05 kB
facebook-www/ReactDOMServerStreaming-prod.modern.js +2.63% 121.77 kB 124.97 kB +1.94% 24.02 kB 24.48 kB
facebook-www/ReactDOMServer-prod.modern.js +2.42% 117.08 kB 119.91 kB +2.23% 22.73 kB 23.24 kB
facebook-www/ReactDOMServer-prod.classic.js +2.35% 120.22 kB 123.05 kB +2.17% 23.37 kB 23.88 kB
facebook-www/ReactDOMServer-dev.modern.js +1.77% 325.75 kB 331.52 kB +1.51% 73.28 kB 74.39 kB
facebook-www/ReactDOMServerStreaming-dev.modern.js +1.74% 321.23 kB 326.83 kB +1.45% 72.25 kB 73.30 kB
facebook-www/ReactDOMServer-dev.classic.js +1.74% 332.45 kB 338.21 kB +1.45% 74.71 kB 75.80 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js +1.37% 22.56 kB 22.87 kB +0.91% 8.02 kB 8.09 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js +1.37% 22.56 kB 22.87 kB +0.91% 8.02 kB 8.09 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js +1.36% 22.60 kB 22.91 kB +0.92% 8.04 kB 8.11 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js +1.35% 22.75 kB 23.06 kB +0.76% 8.12 kB 8.19 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js +1.35% 22.75 kB 23.06 kB +0.76% 8.12 kB 8.19 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js +1.35% 22.79 kB 23.10 kB +0.76% 8.14 kB 8.20 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js +1.34% 22.93 kB 23.24 kB +0.93% 8.11 kB 8.18 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js +1.34% 22.93 kB 23.24 kB +0.93% 8.11 kB 8.18 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js +1.34% 22.98 kB 23.29 kB +0.91% 8.12 kB 8.20 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +1.20% 83.00 kB 83.99 kB +0.66% 20.82 kB 20.96 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +1.20% 83.00 kB 83.99 kB +0.66% 20.82 kB 20.96 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +1.19% 83.06 kB 84.05 kB +0.66% 20.84 kB 20.98 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +1.18% 84.19 kB 85.18 kB +0.66% 20.88 kB 21.02 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +1.18% 84.19 kB 85.18 kB +0.66% 20.88 kB 21.02 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +1.18% 84.25 kB 85.24 kB +0.66% 20.90 kB 21.04 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js +1.17% 87.17 kB 88.19 kB +0.67% 21.07 kB 21.21 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js +1.17% 87.17 kB 88.19 kB +0.67% 21.07 kB 21.21 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js +1.17% 87.23 kB 88.25 kB +0.64% 21.09 kB 21.23 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.production.min.js +0.96% 55.87 kB 56.41 kB +0.97% 17.73 kB 17.91 kB
oss-stable/react-dom/cjs/react-dom-server.node.production.min.js +0.96% 55.90 kB 56.44 kB +0.96% 17.76 kB 17.93 kB
oss-experimental/react-dom/cjs/react-dom-server.node.production.min.js +0.96% 56.29 kB 56.83 kB +0.87% 17.91 kB 18.06 kB
oss-experimental/react-dom/cjs/react-dom-static.node.production.min.js +0.96% 56.29 kB 56.83 kB +0.84% 17.90 kB 18.05 kB
oss-stable-semver/react-dom/umd/react-dom-server.browser.development.js +0.91% 331.12 kB 334.12 kB +0.97% 73.32 kB 74.03 kB
oss-stable/react-dom/umd/react-dom-server.browser.development.js +0.91% 331.14 kB 334.14 kB +0.97% 73.34 kB 74.05 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.development.js +0.91% 315.75 kB 318.60 kB +0.97% 72.57 kB 73.27 kB
oss-stable/react-dom/cjs/react-dom-server.browser.development.js +0.91% 315.77 kB 318.63 kB +0.97% 72.59 kB 73.30 kB
oss-experimental/react-dom/cjs/react-dom-static.browser.development.js +0.90% 316.37 kB 319.23 kB +0.97% 72.77 kB 73.47 kB
oss-experimental/react-dom/umd/react-dom-server.browser.development.js +0.90% 332.52 kB 335.52 kB +0.97% 73.69 kB 74.40 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.development.js +0.90% 316.91 kB 319.77 kB +0.98% 72.50 kB 73.21 kB
oss-stable/react-dom/cjs/react-dom-server.node.development.js +0.90% 316.93 kB 319.79 kB +0.97% 72.53 kB 73.23 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.development.js +0.90% 317.06 kB 319.92 kB +0.96% 72.96 kB 73.66 kB
oss-experimental/react-dom/cjs/react-dom-static.node.development.js +0.90% 318.19 kB 321.05 kB +0.97% 72.98 kB 73.68 kB
oss-experimental/react-dom/cjs/react-dom-server.node.development.js +0.90% 318.23 kB 321.09 kB +0.97% 72.89 kB 73.59 kB
oss-experimental/react-dom/umd/react-dom-server.browser.production.min.js +0.88% 51.98 kB 52.44 kB +0.89% 16.78 kB 16.93 kB
oss-stable-semver/react-dom/umd/react-dom-server.browser.production.min.js +0.87% 51.63 kB 52.08 kB +0.85% 16.65 kB 16.79 kB
oss-stable/react-dom/umd/react-dom-server.browser.production.min.js +0.87% 51.65 kB 52.11 kB +0.83% 16.67 kB 16.81 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.production.min.js +0.87% 51.57 kB 52.02 kB +0.82% 16.41 kB 16.54 kB
oss-stable/react-dom/cjs/react-dom-server.browser.production.min.js +0.87% 51.60 kB 52.05 kB +0.83% 16.43 kB 16.57 kB
oss-experimental/react-dom/cjs/react-dom-static.browser.production.min.js +0.87% 51.80 kB 52.25 kB +0.76% 16.52 kB 16.64 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.production.min.js +0.87% 51.92 kB 52.37 kB +0.77% 16.56 kB 16.69 kB
oss-stable-semver/react-dom/umd/react-dom-server-legacy.browser.development.js +0.64% 331.93 kB 334.05 kB +0.83% 73.14 kB 73.74 kB
oss-stable/react-dom/umd/react-dom-server-legacy.browser.development.js +0.64% 331.95 kB 334.08 kB +0.83% 73.16 kB 73.77 kB
oss-experimental/react-dom/umd/react-dom-server-legacy.browser.development.js +0.64% 333.33 kB 335.45 kB +0.82% 73.51 kB 74.11 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.development.js +0.63% 316.54 kB 318.55 kB +0.80% 72.37 kB 72.95 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.development.js +0.63% 316.56 kB 318.57 kB +0.79% 72.40 kB 72.97 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.development.js +0.63% 317.86 kB 319.87 kB +0.79% 72.76 kB 73.33 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.development.js +0.63% 318.25 kB 320.26 kB +0.79% 72.84 kB 73.42 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.development.js +0.63% 318.27 kB 320.28 kB +0.79% 72.86 kB 73.44 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.development.js +0.63% 319.56 kB 321.57 kB +0.79% 73.23 kB 73.80 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.production.min.js +0.35% 55.37 kB 55.57 kB +0.41% 17.02 kB 17.09 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.production.min.js +0.35% 55.40 kB 55.59 kB +0.40% 17.04 kB 17.11 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.production.min.js +0.35% 55.79 kB 55.98 kB +0.35% 17.20 kB 17.27 kB
oss-stable-semver/react-dom/umd/react-dom-server-legacy.browser.production.min.js +0.24% 50.74 kB 50.87 kB +0.30% 15.82 kB 15.87 kB
oss-stable/react-dom/umd/react-dom-server-legacy.browser.production.min.js +0.24% 50.77 kB 50.89 kB +0.29% 15.84 kB 15.89 kB
oss-experimental/react-dom/umd/react-dom-server-legacy.browser.production.min.js +0.24% 51.10 kB 51.22 kB +0.28% 15.97 kB 16.01 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +0.23% 50.65 kB 50.77 kB +0.26% 15.57 kB 15.61 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +0.22% 50.68 kB 50.79 kB +0.26% 15.59 kB 15.63 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +0.22% 51.01 kB 51.12 kB +0.25% 15.74 kB 15.77 kB

Generated by :no_entry_sign: dangerJS against fcf858efc9659cfa82d7dc47979039e997afb165

sizebot avatar Oct 05 '22 22:10 sizebot

@acdlite @gnoff @sebmarkbage Thanks for all the feedback so far! All suggested changes have been made, and I'd love to get some feedback on this again 🙂

mofeiZ avatar Nov 03 '22 20:11 mofeiZ