Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Flight][Fizz][Fiber] Refactor configs #26571

Closed
wants to merge 5 commits into from
Closed

Conversation

gnoff
Copy link
Collaborator

@gnoff gnoff commented Apr 7, 2023

ServerFormatConfigs no longer just provide generalizable Format configuration. The original intent was these files could be used by Fizz and Flight however the logic is deeply entangled with things like the ResponseState which are Fizz specific that at this point the file is not general at all.

Additionally we are about to have entirely different requirements for FlightServer for Float methods. We woudl need to extract Float from the format config to do this however there are performance advantages to having Float deeply integrated with what is called the format config.

This PR refactors config namings to lean into the fact that each runtime needs runtime specific configs and names them accordingly

Config for each runtime

Flight Server -> ReactFlightServerConfig
Flight Client -> ReactFlightClientConfig
Fizz Server -> ReactFizzConfig
(Fiber) Client -> ReactFiberConfig

This PR was set up as a series of commits focussing on FlightServer/FlightClient, then Fizz, and finally Fiber. It is probably easier to review commit by commit.

FlightServerConfigDOM currently simply exposes the isPrimaryRenderer flag. It will eventually hold the FlightServer implementation of Float

FlightClientConfigDOM currently holds nothing but will hold the FlightClient implementation of Float (in particular the machinery to dispatch directives from a Flight response in either Fizz or Fiber)

@facebook-github-bot facebook-github-bot added CLA Signed React Core Team Opened by a member of the React Core Team labels Apr 7, 2023
@react-sizebot
Copy link

react-sizebot commented Apr 7, 2023

Comparing: 657698e...e9d300c

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 = 165.16 kB 165.16 kB = 51.86 kB 51.86 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js = 166.74 kB 166.74 kB = 52.37 kB 52.37 kB
facebook-www/ReactDOM-prod.classic.js = 555.16 kB 555.16 kB = 98.41 kB 98.41 kB
facebook-www/ReactDOM-prod.modern.js = 539.00 kB 539.00 kB = 95.74 kB 95.74 kB
oss-experimental/react-server/cjs/react-server-flight.development.js = 64.99 kB 63.44 kB = 15.63 kB 15.33 kB
oss-stable-semver/react-server/cjs/react-server-flight.development.js = 64.99 kB 63.44 kB = 15.63 kB 15.33 kB
oss-stable/react-server/cjs/react-server-flight.development.js = 64.99 kB 63.44 kB = 15.63 kB 15.33 kB
facebook-relay/flight/ReactFlightNativeRelayServer-dev.js = 62.28 kB 60.73 kB = 15.10 kB 14.73 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js = 91.01 kB 84.16 kB = 21.91 kB 20.19 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js = 91.01 kB 84.16 kB = 21.91 kB 20.19 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js = 91.01 kB 84.16 kB = 21.91 kB 20.19 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js = 92.85 kB 85.81 kB = 21.68 kB 19.95 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js = 92.85 kB 85.81 kB = 21.68 kB 19.95 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js = 92.85 kB 85.81 kB = 21.68 kB 19.95 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js = 89.62 kB 82.77 kB = 21.53 kB 19.81 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js = 89.62 kB 82.77 kB = 21.53 kB 19.81 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js = 89.62 kB 82.77 kB = 21.53 kB 19.81 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js = 88.48 kB 81.67 kB = 21.55 kB 19.82 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js = 88.48 kB 81.67 kB = 21.55 kB 19.82 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js = 88.48 kB 81.67 kB = 21.55 kB 19.82 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js = 87.99 kB 81.18 kB = 21.41 kB 19.68 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js = 87.99 kB 81.18 kB = 21.41 kB 19.68 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js = 87.99 kB 81.18 kB = 21.41 kB 19.68 kB
oss-experimental/react-server/cjs/react-server-flight.production.min.js = 16.67 kB 15.30 kB = 5.85 kB 5.57 kB
oss-stable-semver/react-server/cjs/react-server-flight.production.min.js = 16.67 kB 15.30 kB = 5.85 kB 5.57 kB
oss-stable/react-server/cjs/react-server-flight.production.min.js = 16.67 kB 15.30 kB = 5.85 kB 5.57 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js = 25.19 kB 20.13 kB = 8.45 kB 7.17 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js = 25.19 kB 20.13 kB = 8.45 kB 7.17 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js = 25.19 kB 20.13 kB = 8.45 kB 7.17 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.min.js = 24.95 kB 19.89 kB = 8.35 kB 7.07 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.min.js = 24.95 kB 19.89 kB = 8.35 kB 7.07 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.min.js = 24.95 kB 19.89 kB = 8.35 kB 7.07 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.min.js = 24.31 kB 19.26 kB = 8.16 kB 6.88 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.min.js = 24.31 kB 19.26 kB = 8.16 kB 6.88 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.min.js = 24.31 kB 19.26 kB = 8.16 kB 6.88 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js = 24.23 kB 19.18 kB = 8.16 kB 6.89 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js = 24.23 kB 19.18 kB = 8.16 kB 6.89 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js = 24.23 kB 19.18 kB = 8.16 kB 6.89 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js = 24.02 kB 18.97 kB = 8.07 kB 6.78 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js = 24.02 kB 18.97 kB = 8.07 kB 6.78 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js = 24.02 kB 18.97 kB = 8.07 kB 6.78 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-reconciler/cjs/react-reconciler.profiling.min.js = 122.72 kB 122.21 kB = 36.83 kB 36.80 kB
oss-stable/react-reconciler/cjs/react-reconciler.profiling.min.js = 121.23 kB 120.71 kB = 36.40 kB 36.37 kB
oss-stable-semver/react-reconciler/cjs/react-reconciler.profiling.min.js = 121.20 kB 120.69 kB = 36.38 kB 36.35 kB
oss-experimental/react-reconciler/cjs/react-reconciler.production.min.js = 113.72 kB 113.21 kB = 34.62 kB 34.59 kB
oss-stable/react-reconciler/cjs/react-reconciler.production.min.js = 112.22 kB 111.70 kB = 34.19 kB 34.16 kB
oss-stable-semver/react-reconciler/cjs/react-reconciler.production.min.js = 112.19 kB 111.68 kB = 34.16 kB 34.14 kB
oss-experimental/react-client/cjs/react-client-flight.production.min.js = 6.21 kB 6.17 kB = 2.46 kB 2.45 kB
oss-stable-semver/react-client/cjs/react-client-flight.production.min.js = 6.21 kB 6.17 kB = 2.46 kB 2.45 kB
oss-stable/react-client/cjs/react-client-flight.production.min.js = 6.21 kB 6.17 kB = 2.46 kB 2.45 kB
oss-experimental/react-server/cjs/react-server.production.min.js = 24.85 kB 24.67 kB = 8.47 kB 8.47 kB
oss-stable-semver/react-server/cjs/react-server.production.min.js = 24.60 kB 24.41 kB = 8.38 kB 8.38 kB
oss-stable/react-server/cjs/react-server.production.min.js = 24.60 kB 24.41 kB = 8.38 kB 8.38 kB
facebook-relay/flight/ReactFlightNativeRelayServer-prod.js = 31.57 kB 31.16 kB = 7.47 kB 7.36 kB
oss-experimental/react-server/cjs/react-server-flight.development.js = 64.99 kB 63.44 kB = 15.63 kB 15.33 kB
oss-stable-semver/react-server/cjs/react-server-flight.development.js = 64.99 kB 63.44 kB = 15.63 kB 15.33 kB
oss-stable/react-server/cjs/react-server-flight.development.js = 64.99 kB 63.44 kB = 15.63 kB 15.33 kB
facebook-relay/flight/ReactFlightNativeRelayServer-dev.js = 62.28 kB 60.73 kB = 15.10 kB 14.73 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js = 91.01 kB 84.16 kB = 21.91 kB 20.19 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js = 91.01 kB 84.16 kB = 21.91 kB 20.19 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js = 91.01 kB 84.16 kB = 21.91 kB 20.19 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js = 92.85 kB 85.81 kB = 21.68 kB 19.95 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js = 92.85 kB 85.81 kB = 21.68 kB 19.95 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js = 92.85 kB 85.81 kB = 21.68 kB 19.95 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js = 89.62 kB 82.77 kB = 21.53 kB 19.81 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js = 89.62 kB 82.77 kB = 21.53 kB 19.81 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js = 89.62 kB 82.77 kB = 21.53 kB 19.81 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js = 88.48 kB 81.67 kB = 21.55 kB 19.82 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js = 88.48 kB 81.67 kB = 21.55 kB 19.82 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js = 88.48 kB 81.67 kB = 21.55 kB 19.82 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js = 87.99 kB 81.18 kB = 21.41 kB 19.68 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js = 87.99 kB 81.18 kB = 21.41 kB 19.68 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js = 87.99 kB 81.18 kB = 21.41 kB 19.68 kB
oss-experimental/react-server/cjs/react-server-flight.production.min.js = 16.67 kB 15.30 kB = 5.85 kB 5.57 kB
oss-stable-semver/react-server/cjs/react-server-flight.production.min.js = 16.67 kB 15.30 kB = 5.85 kB 5.57 kB
oss-stable/react-server/cjs/react-server-flight.production.min.js = 16.67 kB 15.30 kB = 5.85 kB 5.57 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js = 25.19 kB 20.13 kB = 8.45 kB 7.17 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js = 25.19 kB 20.13 kB = 8.45 kB 7.17 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js = 25.19 kB 20.13 kB = 8.45 kB 7.17 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.min.js = 24.95 kB 19.89 kB = 8.35 kB 7.07 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.min.js = 24.95 kB 19.89 kB = 8.35 kB 7.07 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.min.js = 24.95 kB 19.89 kB = 8.35 kB 7.07 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.min.js = 24.31 kB 19.26 kB = 8.16 kB 6.88 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.min.js = 24.31 kB 19.26 kB = 8.16 kB 6.88 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.min.js = 24.31 kB 19.26 kB = 8.16 kB 6.88 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js = 24.23 kB 19.18 kB = 8.16 kB 6.89 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js = 24.23 kB 19.18 kB = 8.16 kB 6.89 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js = 24.23 kB 19.18 kB = 8.16 kB 6.89 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js = 24.02 kB 18.97 kB = 8.07 kB 6.78 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js = 24.02 kB 18.97 kB = 8.07 kB 6.78 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js = 24.02 kB 18.97 kB = 8.07 kB 6.78 kB

Generated by 🚫 dangerJS against e9d300c

@gnoff gnoff marked this pull request as ready for review April 7, 2023 21:59
@gnoff gnoff requested a review from sebmarkbage April 7, 2023 21:59
@@ -0,0 +1,11 @@
/**
Copy link
Collaborator

Choose a reason for hiding this comment

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

What will this file be used for?

The naming convention seems like it should be ReactFlightClientHostConfigDOM if you look at its siblings:

ReactFlightClientHostConfigBrowser (runtime)
ReactFlightClientHostConfigStream (channel)
ReactFlightClientHostConfigDOM (format)

The difference between Browser and DOM here is subtle though.

Should these be split between the Flight client running in Fizz and client-side?

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 my head the *Browser and *Node files were still describing the server runtime and would be appropriate to use for Native and other hosts.

ReactFlight is to ReactFiber
ReactDOMFlight is to ReactDOM in my naming scheme

I could use the naming scheme you suggest but it would still be appropriate to keep the file in react-dom-bindings project. And since it is not a sibling file of the other two I figured it didn't need to follow the same structure

Copy link
Collaborator

@sebmarkbage sebmarkbage left a comment

Choose a reason for hiding this comment

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

Fix filename nits.

@sebmarkbage
Copy link
Collaborator

We can probably rename FormatConfig too. I wonder if we just drop the "Host" part and just call everything Config.

ReactFiberConfig
ReactFizzConfig
ReactFlightClientConfig
ReactFlightServerConfig

@gnoff
Copy link
Collaborator Author

gnoff commented Apr 10, 2023

@sebmarkbage I was considering adding Fizz to the existing server format config. But yeah since it's not JUST a format config anymore Maybe it's better to just drop that part.

@gnoff gnoff changed the title [Flight] Implements wiring for Flight to have it's own "HostConfig" separate f… [Flight][Fizz][Fiber] Refactor configs Apr 10, 2023
@gnoff gnoff force-pushed the flightconfig branch 3 times, most recently from 9f964a9 to 621590c Compare April 10, 2023 18:15
@gnoff
Copy link
Collaborator Author

gnoff commented Apr 10, 2023

@sebmarkbage did a much bigger filename refactor.

I'll land as separate commits so git has an easier time tracking filename changes

Normalize ReactFligthClientConfig and related files
…rom Fizz.

Historically the ServerFormatConfigs were supposed to be generic enough to be used by Fizz and Flight. However with the addition of features like Float the configs have evolved to be more specific to the renderer. We may want to get back to a place where there is a pure FormatConfig which can be shared but for now we are embracing the fact that these runtimes need very different things and DCE cannot adequately remove the unused stuff for Fizz when pulling this dep into Flight so we are going to fork the configs and just maintain separate ones.

At first the Flight config will be almost empty but once Float support in Flight lands it will have a more complex implementation

Additionally this commit normalizes the component files which make up FlightServerConfig and FlightClientConfig. Now each file that participates starts with ReactFlightServerConfig... and ReactFlightClientConfig...
…r Fiber and not Fizz/Fligh. This better conforms to the naming used in Flight and now Fizz of `ReactFlightServerConfig` and `ReactFizzConfig`
…ribe the configs we customize per runtime like FlightClient, FlightServer, Fizz, and Fiber. This commit generalizes $$$hostconfig to $$$config
Copy link
Collaborator

@sebmarkbage sebmarkbage left a comment

Choose a reason for hiding this comment

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

lgtm

gnoff added a commit that referenced this pull request Apr 10, 2023
First part of #26571

merging separately to help with git history with a lot of file renames
gnoff added a commit that referenced this pull request Apr 10, 2023
Part of #26571

Implements wiring for Flight to have it's own "HostConfig" from Fizz.

Historically the ServerFormatConfigs were supposed to be generic enough
to be used by Fizz and Flight. However with the addition of features
like Float the configs have evolved to be more specific to the renderer.
We may want to get back to a place where there is a pure FormatConfig
which can be shared but for now we are embracing the fact that these
runtimes need very different things and DCE cannot adequately remove the
unused stuff for Fizz when pulling this dep into Flight so we are going
to fork the configs and just maintain separate ones.

At first the Flight config will be almost empty but once Float support
in Flight lands it will have a more complex implementation

Additionally this commit normalizes the component files which make up
FlightServerConfig and FlightClientConfig. Now each file that
participates starts with ReactFlightServerConfig... and
ReactFlightClientConfig...
gnoff added a commit that referenced this pull request Apr 10, 2023
part of #26571

merging separately to improve tracking of file renames
github-actions bot pushed a commit that referenced this pull request Apr 10, 2023
Part of #26571

Implements wiring for Flight to have it's own "HostConfig" from Fizz.

Historically the ServerFormatConfigs were supposed to be generic enough
to be used by Fizz and Flight. However with the addition of features
like Float the configs have evolved to be more specific to the renderer.
We may want to get back to a place where there is a pure FormatConfig
which can be shared but for now we are embracing the fact that these
runtimes need very different things and DCE cannot adequately remove the
unused stuff for Fizz when pulling this dep into Flight so we are going
to fork the configs and just maintain separate ones.

At first the Flight config will be almost empty but once Float support
in Flight lands it will have a more complex implementation

Additionally this commit normalizes the component files which make up
FlightServerConfig and FlightClientConfig. Now each file that
participates starts with ReactFlightServerConfig... and
ReactFlightClientConfig...

DiffTrain build for [f4f873f](f4f873f)
gnoff added a commit that referenced this pull request Apr 10, 2023
#26592)

part of #26571

merging separately to improve tracking of files renames in git

Rename HostConfig files to FiberConfig to clarify they are configs for
Fiber and not Fizz/Flight. This better conforms to the naming used in
Flight and now Fizz of `ReactFlightServerConfig` and `ReactFizzConfig`
github-actions bot pushed a commit that referenced this pull request Apr 10, 2023
part of #26571

merging separately to improve tracking of file renames

DiffTrain build for [ffb8eac](ffb8eac)
@gnoff
Copy link
Collaborator Author

gnoff commented Apr 10, 2023

Merged in #26589 #26590 #26591 #26592 #26593

@gnoff gnoff closed this Apr 10, 2023
@gnoff gnoff deleted the flightconfig branch April 10, 2023 22:02
kassens pushed a commit to kassens/react that referenced this pull request Apr 17, 2023
First part of facebook#26571

merging separately to help with git history with a lot of file renames
jerrydev0927 added a commit to jerrydev0927/react that referenced this pull request Jan 5, 2024
Part of facebook/react#26571

Implements wiring for Flight to have it's own "HostConfig" from Fizz.

Historically the ServerFormatConfigs were supposed to be generic enough
to be used by Fizz and Flight. However with the addition of features
like Float the configs have evolved to be more specific to the renderer.
We may want to get back to a place where there is a pure FormatConfig
which can be shared but for now we are embracing the fact that these
runtimes need very different things and DCE cannot adequately remove the
unused stuff for Fizz when pulling this dep into Flight so we are going
to fork the configs and just maintain separate ones.

At first the Flight config will be almost empty but once Float support
in Flight lands it will have a more complex implementation

Additionally this commit normalizes the component files which make up
FlightServerConfig and FlightClientConfig. Now each file that
participates starts with ReactFlightServerConfig... and
ReactFlightClientConfig...

DiffTrain build for [f4f873f6282e6f2e584990c00fb2aae86db85a8b](facebook/react@f4f873f)
jerrydev0927 added a commit to jerrydev0927/react that referenced this pull request Jan 5, 2024
part of facebook/react#26571

merging separately to improve tracking of file renames

DiffTrain build for [ffb8eaca5966fc7733bd0a23f4055e26d2cc59d7](facebook/react@ffb8eac)
EdisonVan pushed a commit to EdisonVan/react that referenced this pull request Apr 15, 2024
First part of facebook#26571

merging separately to help with git history with a lot of file renames
EdisonVan pushed a commit to EdisonVan/react that referenced this pull request Apr 15, 2024
…26590)

Part of facebook#26571

Implements wiring for Flight to have it's own "HostConfig" from Fizz.

Historically the ServerFormatConfigs were supposed to be generic enough
to be used by Fizz and Flight. However with the addition of features
like Float the configs have evolved to be more specific to the renderer.
We may want to get back to a place where there is a pure FormatConfig
which can be shared but for now we are embracing the fact that these
runtimes need very different things and DCE cannot adequately remove the
unused stuff for Fizz when pulling this dep into Flight so we are going
to fork the configs and just maintain separate ones.

At first the Flight config will be almost empty but once Float support
in Flight lands it will have a more complex implementation

Additionally this commit normalizes the component files which make up
FlightServerConfig and FlightClientConfig. Now each file that
participates starts with ReactFlightServerConfig... and
ReactFlightClientConfig...
EdisonVan pushed a commit to EdisonVan/react that referenced this pull request Apr 15, 2024
part of facebook#26571

merging separately to improve tracking of file renames
EdisonVan pushed a commit to EdisonVan/react that referenced this pull request Apr 15, 2024
facebook#26592)

part of facebook#26571

merging separately to improve tracking of files renames in git

Rename HostConfig files to FiberConfig to clarify they are configs for
Fiber and not Fizz/Flight. This better conforms to the naming used in
Flight and now Fizz of `ReactFlightServerConfig` and `ReactFizzConfig`
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