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.
- Data fetched from npm (indexes all packages that are tagged with the
rescriptkeyword). 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
reason-prefix in the package name, use
reason-reactis currently an exception and will be renamed with the next major release)
- Make sure to provide a one-liner
descriptionfield in your
package.jsonas 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
rescript, 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!