Move Hydration Warnings from the DOM Config into the Fiber reconciliation
Stacked on #28458.
This doesn't actually really change the messages yet, it's just a refactor.
Hydration warnings can be presented either as HTML or React JSX format. If presented as HTML it makes more sense to make that a DOM specific concept, however, I think it's actually better to present it in terms of React JSX.
Most of the time the errors aren't going to be something messing with them at the HTML/HTTP layer. It's because the JS code does something different. Most of the time you're working in just React. People don't necessarily even know what the HTML form of it looks like. So this takes the approach that the warnings are presented in React JSX in their rich object form.
Therefore, I'm moving the approach to yield diff data to the reconciler but it's the reconciler that's actually printing all the warnings.
Comparing: 84c84d72f11ff1961a103b3cd59919876e48f759...21f7e9d338b3b59a8ba34c1b0a08bf334e37ccd3
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 | +0.01% | 175.91 kB | 175.92 kB | +0.31% | 54.53 kB | 54.70 kB |
| oss-experimental/react-dom/cjs/react-dom.production.min.js | +0.01% | 172.39 kB | 172.41 kB | +0.26% | 53.70 kB | 53.84 kB |
| facebook-www/ReactDOM-prod.classic.js | = | 589.86 kB | 589.78 kB | +0.18% | 103.60 kB | 103.78 kB |
| facebook-www/ReactDOM-prod.modern.js | = | 573.39 kB | 573.30 kB | +0.16% | 100.66 kB | 100.82 kB |
| test_utils/ReactAllWarnings.js | Deleted | 64.83 kB | 0.00 kB | Deleted | 16.08 kB | 0.00 kB |
Significant size changes
Includes any change greater than 0.2%:
Expand to show
Generated by :no_entry_sign: dangerJS against 21f7e9d338b3b59a8ba34c1b0a08bf334e37ccd3