fable-compiler / fable-react

Fable bindings and helpers for React and React Native
MIT License
273 stars 67 forks source link

WIP: Repo split #171

Closed MangelMaxime closed 1 year ago

MangelMaxime commented 4 years ago

Follow up on https://github.com/fable-compiler/fable-react/pull/169

The package split of Fable.React is ready, there is already a beta version of Fable.React.Dom published.

I am waiting for a solution to Fable.Elmish.React split before realising everything to stable.

Zaid-Ajaj commented 4 years ago

This doesn't look ready!? because I see a lot of react-dom specific stuff still in here like Fable.React.Standard.fs, Props, Extensions etc... Now if Fable.ReactNative depends on Fable.React, they will have access to div and h1 but they can't use them because they are react-dom specific..

MangelMaxime commented 4 years ago

Ah yes, indeed.

I thought that react-native was accepting the same components as the one from the browser my bad.

I will update the PR.

Zaid-Ajaj commented 4 years ago

I gave this split a try locally but it was soo messy because of the SSR stuff everywhere using compiler directives to generate html elements on the server, but now these stuff have to go to fable-react-dom or their own library?!

alfonsogarciacaro commented 1 year ago

@MangelMaxime IIRC we never did the react/react-dom split at the end. Should we try to do it now that we are also splitting the types and the helpers?

MangelMaxime commented 1 year ago

@alfonsogarciacaro Because we are already doing a breaking changes with Fable.React.Types, indeed I think it would be a good opportunity to split the packages.

alfonsogarciacaro commented 1 year ago

What was the main motivation to remove react-dom btw? For cleanness or to avoid Femto using warnings in projects that don't need react-dom (like react native projects)?

MangelMaxime commented 1 year ago

I think it was to have a clean binding in term of dependencies.

For example, native project doesn't need react-dom and it would probably also make it cleaner which package is responsible for what. As before everything was mixed together between F# specific code, bindings for the React.Dom or for React itself

alfonsogarciacaro commented 1 year ago

Superseded by #234