Hi everyone!
We are happy to announce the initial release of our new ReScript Package Index. The goal was to provide a handy search experience for the whole ReScript ecosystem, that is seamlessly integrated in the documentation website.
Features:
- Data fetched from npm (indexes all packages that are tagged with the
rescript
keyword). Right now the index rebuilds every 6 hours. The index is statically generated, so there will never be an outtake if npm goes offline. - Additionally features hand-curated resources that are tracked within the rescript-lang.org Github repository
- Provides simple guidelines on how to publish your own package (will be extended with more details in the future)
- Categories and filters for official / community resources
- Client-side based fuzzy searching
Check it out here:
We need your help to shape the index
Right now the index is pretty minimalistic, so youâll probably notice that there are many libraries, tools and bindings missing from the original ReScript ecosystem. We need the community to help us migrate as many packages as possible to the new package index.
Of course one could just add a rescript
keyword in their package.json and call it a day, but Iâd like to take it one step further and ask you to help us shape a consistent ecosystem experience by following these rough guidelines:
-
Donât use any
bs-
/reason-
prefix in the package name, userescript-
instead (bs-platform
/reason-react
is currently an exception and will be renamed with the next major release) - Make sure to provide a one-liner
description
field in yourpackage.json
as well, otherwise it will only show the first line of your README in the package index, which is often not useful. - If possible rename any occurrence of âOCamlâ and âBuckleScriptâ to âReScriptâ to stay consistent with the rest of the toolchain (we filter common package.json keywords such as
reasonml
,bucklescript
,ocaml
andrescript
, on the package index already, so these words donât show up in the package index UI). - Ideally, new packages / bindings are curated in ReScript syntax (but itâs understandable if there are still old libraries curated in Reason syntax)
- Make sure to have ReScript based examples in your README / docs, so ReScript users know how to use them
If you canât find your favourite ReScript package on our index, ping the responsible maintainers to update their package.json
metadata / READMEs, so it will show up in the future.
We are open for feedback and ideas to improve the package index experience. Make sure to open an issue on the rescript-lang.org issue tracker to kick off the discussion.
We hope you like it!