react
react copied to clipboard
Configure JSX Feature Flags as Dynamic (React Native @ Meta)
Summary
We are almost ready to experiment with enabling enableRefAsProp and disableStringRefs in React Native at Meta. My plan is to enable and validate both at the same time, in order to minimize the time that we introduce these dynamic checks in the hot code path of JSX.
How did you test this change?
$ yarn test
$ yarn flow fabric
Comparing: 95e610da13e50c2cb92e003dd7dbfa4a8262bdd2...f69bd7c28c8f699fffd2a946ec6114ad0c753c4f
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.66 kB | 6.66 kB | +0.05% | 1.82 kB | 1.82 kB |
| oss-experimental/react-dom/cjs/react-dom.production.js | = | 6.67 kB | 6.67 kB | +0.05% | 1.83 kB | 1.83 kB |
| facebook-www/ReactDOM-prod.classic.js | = | 591.11 kB | 591.11 kB | = | 103.94 kB | 103.94 kB |
| facebook-www/ReactDOM-prod.modern.js | = | 567.33 kB | 567.33 kB | = | 100.34 kB | 100.34 kB |
| facebook-react-native/react/cjs/JSXRuntime-prod.js | +31.32% | 2.98 kB | 3.92 kB | +13.64% | 1.27 kB | 1.44 kB |
| facebook-react-native/react/cjs/JSXRuntime-profiling.js | +31.32% | 2.98 kB | 3.92 kB | +13.64% | 1.27 kB | 1.44 kB |
| facebook-react-native/react/cjs/JSXDEVRuntime-dev.js | +8.22% | 48.52 kB | 52.51 kB | +7.19% | 13.82 kB | 14.81 kB |
| facebook-react-native/react/cjs/JSXRuntime-dev.js | +8.01% | 49.75 kB | 53.74 kB | +6.97% | 14.18 kB | 15.17 kB |
| facebook-react-native/react/cjs/React-prod.js | +7.48% | 21.88 kB | 23.52 kB | +4.80% | 5.74 kB | 6.01 kB |
| facebook-react-native/react/cjs/React-profiling.js | +7.34% | 22.32 kB | 23.95 kB | +4.71% | 5.81 kB | 6.09 kB |
| facebook-react-native/react/cjs/React-dev.js | +4.00% | 113.13 kB | 117.66 kB | +3.37% | 29.43 kB | 30.42 kB |
| test_utils/ReactAllWarnings.js | Deleted | 64.26 kB | 0.00 kB | Deleted | 16.02 kB | 0.00 kB |
Significant size changes
Includes any change greater than 0.2%:
Expand to show
| Name | +/- | Base | Current | +/- gzip | Base gzip | Current gzip |
|---|---|---|---|---|---|---|
| facebook-react-native/react/cjs/JSXRuntime-prod.js | +31.32% | 2.98 kB | 3.92 kB | +13.64% | 1.27 kB | 1.44 kB |
| facebook-react-native/react/cjs/JSXRuntime-profiling.js | +31.32% | 2.98 kB | 3.92 kB | +13.64% | 1.27 kB | 1.44 kB |
| facebook-react-native/react/cjs/JSXDEVRuntime-dev.js | +8.22% | 48.52 kB | 52.51 kB | +7.19% | 13.82 kB | 14.81 kB |
| facebook-react-native/react/cjs/JSXRuntime-dev.js | +8.01% | 49.75 kB | 53.74 kB | +6.97% | 14.18 kB | 15.17 kB |
| facebook-react-native/react/cjs/React-prod.js | +7.48% | 21.88 kB | 23.52 kB | +4.80% | 5.74 kB | 6.01 kB |
| facebook-react-native/react/cjs/React-profiling.js | +7.34% | 22.32 kB | 23.95 kB | +4.71% | 5.81 kB | 6.09 kB |
| facebook-react-native/react/cjs/React-dev.js | +4.00% | 113.13 kB | 117.66 kB | +3.37% | 29.43 kB | 30.42 kB |
| react-native/implementations/ReactFabric-prod.fb.js | +0.36% | 366.41 kB | 367.72 kB | +0.56% | 64.05 kB | 64.41 kB |
| react-native/implementations/ReactNativeRenderer-prod.fb.js | +0.35% | 373.83 kB | 375.14 kB | +0.57% | 65.39 kB | 65.77 kB |
| react-native/implementations/ReactFabric-profiling.fb.js | +0.33% | 393.71 kB | 395.01 kB | +0.54% | 68.28 kB | 68.65 kB |
| react-native/implementations/ReactNativeRenderer-profiling.fb.js | +0.32% | 401.07 kB | 402.38 kB | +0.54% | 69.62 kB | 69.99 kB |
| test_utils/ReactAllWarnings.js | Deleted | 64.26 kB | 0.00 kB | Deleted | 16.02 kB | 0.00 kB |
Generated by :no_entry_sign: dangerJS against f69bd7c28c8f699fffd2a946ec6114ad0c753c4f