Proposal:
- Remove modules
Dom, Dom_storage, Dom_storage2 from the @rescript/runtime package
- Instead of those, vendor the base package of
experimental-webapi
- Make the vendored
@rescript/react depend on that
- Split off
@rescript/react-dom
- Move
JsxDOM/JsxDOMStyle/JsxEvent into @rescript/react-dom
- Make everything work 🙂
- Also make it work/test with rescript-react-native and a with non-React JSX runtime like Xote
Note that any vendoring here (@rescript/react, @rescript/react-dom, relevant parts of webapi and rescript-react-native/Xote) does not mean moving the source of truth for these packages into the compiler repo. It's just for easier and quicker iteration while moving things around.
Once the new shape has crystallized, things need to be synced back to the respective repos.
Proposal:
Dom,Dom_storage,Dom_storage2from the@rescript/runtimepackageexperimental-webapi@rescript/reactdepend on that@rescript/react-domJsxDOM/JsxDOMStyle/JsxEventinto@rescript/react-domNote that any vendoring here (
@rescript/react,@rescript/react-dom, relevant parts of webapi and rescript-react-native/Xote) does not mean moving the source of truth for these packages into the compiler repo. It's just for easier and quicker iteration while moving things around.Once the new shape has crystallized, things need to be synced back to the respective repos.