tom-sherman / rescript-remix

MIT License
30 stars 5 forks source link

Example app #13

Open tom-sherman opened 2 years ago

tom-sherman commented 2 years ago

Add an example app in this repo to serve as a test bed for type checking and integration tests (likely needs cypress)

drewschrauf commented 2 years ago

I was planning on doing a port of the Jokes app as a combined sanity check of the bindings and a reference for future travellers. It doesn't cover 100% of the Remix API surface but I think it would serve as good documentation. We may want to add a "kitchen sink" app to this repo for coverage.

What do you reckon, should I do the Jokes port as a PR against this repo or a separate repo using the template as a base?

tom-sherman commented 2 years ago

I think it would be worth including it in this repo as a form of integration tests and to serve as an example 👍

If you do work on this, don't worry too much about writing any tests - we can do that later on.

drewschrauf commented 2 years ago

Thought you might be interested in seeing the progress. I've got it up on a fork here.

I've added some bindings for session stuff and a few alternative bindings for variadic functions in Remix. There's a tonne of them. There's also quite a few optional return types (like, loader functions can return raw data or a Response).

I'm not sure what the general policy should be for this kind of thing: provide alternative bindings or only support the most permissive versions? Similarly, should we be aiming for zero-cost bindings everywhere or wrapping some of these variadic functions in Rescript functions with optional labelled arguments?