rescript-lang / rescript-lang/rescript

Move JsxDOM types etc. into @rescript/react(-dom)

Open
#8,400 5 comments 1 reaction 1 assignee View on GitHub

@tsnobip is already working on this.

Since Apr 29, 2026.

cleanup
Dominant language
OCaml
Stars
7.5k
Forks
485
Avg merge
1d 2h
Merged PRs (30d)
55

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.