rescript-jest
genType
Our great sponsors
rescript-jest | genType | |
---|---|---|
2 | 5 | |
293 | 759 | |
- | - | |
5.6 | 0.0 | |
6 months ago | 5 months ago | |
ReScript | OCaml | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rescript-jest
-
Testing in ReScript
Another popular option is to use bindings for Jest. However, in my opinion, Jest is a monstrous combine that is slow, has a hacky mock system, bad ESM support, and purely tries to mimic DOM API with JSDOM. AVA literally doesn't have any of these. Also, the available Jest bindings don't allow doing multiple assertions per test, which is often useful to me.
-
How I Switched from TypeScript to ReScript
In order to write tests in ReScript, and thus test your code directly, you can use bs-jest, which provides ReScript bindings to Jest. If you prefer, you can also use the slightly less mature bs-mocha. You can also test the generated JavaScript or TypeScript files with no extra configuration.
genType
-
ts-belt - Fast, modern, and practical utility library for FP in TypeScript / Flow / JavaScript. (Faster than ramda, rambda, remeda and lodash/fp.)
I don't really use ts-belt to be certain, but by looking at the source, it seems that it's using genType, which can generate TS types from ReScript values, and that makes interop work really well.
-
ReScript 10.0
They discuss this in their docs.
https://rescript-lang.org/docs/manual/latest/introduction#di...
Seems like a type system for Javascript, built with a differing set of opinions than Typescript.
Looks like they also offer some form of TS interop:
https://rescript-lang.org/docs/gentype/latest/introduction
- From TypeScript to ReScript
-
TS Belt - fast, modern, and practical utility library for FP in TypeScript
TS Belt has been built with ReScript (and its Belt stdlib). ReScript generates highly performant JavaScript code, and with genType it also automatically generates TypeScript types. Moreover, I've added a few codemods to the building process to provide even more code optimizations and cleaner TypeScript signatures.
-
How I Switched from TypeScript to ReScript
To interoperate with TypeScript with proper type information you’ll use third-party genType. Add it as a devDependency and annotate the module export you want to generate with @genType (in previous versions you’d surround annotations with square brackets).
What are some alternatives?
rescript-react-realworld-example-app - An exemplary real-world application built using ReScript and React
zod - TypeScript-first schema validation with static type inference
rescript-sublime - Official Sublime Text plugin for ReScript.
melange - A mixture of tooling combined to produce JavaScript from OCaml & Reason
rescript-apollo-client - ReScript bindings for the Apollo Client ecosystem
Idris2 - A purely functional programming language with first class types
proposal-pipeline-operator - A proposal for adding a useful pipe operator to JavaScript.
lwt - OCaml promises and concurrent I/O
rescript-react - Official ReScript bindings for ReactJS
from-typescript-to-rescript - Frontend of https://Inhyped.com written in TypeScript and rewritten in ReScript
rescript-schema - The fastest composable parser/serializer for ReScript (and TypeScript)
bolt - Bolt is a language with in-built data-race freedom!