Reason and React Meta-Frameworks

This page summarizes the projects mentioned and recommended in the original post on dev.to

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • melange

    A mixture of tooling combined to produce JavaScript from OCaml & Reason

    In my previous post on trying to use the NextJS App Router and Reason I described some of the problems and limitations of their compatibility with one another. With the release of Melange 2 I decided to see if the new features of Melange 2 could help to increase the compatibility of Reason and the NextJS App Router. I have also documented some of the things learnt after trying Melange (v1) with Astro and Remix.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • astro-reason

    We can then tell Netlify the location of our functions (./reason_netlify_functions_output/reason_netlify_functions) in a netlify.toml file. See this basic Astro, Reason and Netlify application for an example.

  • And the app should work perfectly with the NextJS dev tooling. See this basic NextJS App Router, Reason and Melange 2 application for an example.

  • ocaml.org

    The official OCaml website.

    Dune will allow some special characters in folder names but it does not allow them in file names (in my limited experience). Remix uses file name based routing and the file names can have special characters in them, e.g., concerts.$city.js. When a file name with special characters in it fails to compile we can use a Dune rule stanza to create an output JS file with special characters in it:

  • remix-reason

    In the above dune file we add concerts_city.js to the melange.runtime_deps - this is the output JS file name created from the Reason source code file concerts_city.re. In the rule stanza we set the target as the special character containing file name we want and the dependency (deps) as the path to concerts_city.js in the _build folder. The rule then copies concerts_city.js to concerts.$city.js, which should then work perfectly in a Remix application. Here is a broken and unfinished Remix app that may be of some limited use.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Hazel: A live functional programming environment featuring typed holes

    1 project | news.ycombinator.com | 31 Oct 2024
  • Tylr.fun

    1 project | news.ycombinator.com | 5 Nov 2023
  • NextJS, the App Router and ReasonReact

    3 projects | dev.to | 21 Aug 2023
  • An apology for "Emacs is Not Enough" (no)

    1 project | /r/emacs | 21 Jan 2023
  • Onivim – The retro-futuristic modal editor

    1 project | news.ycombinator.com | 23 Dec 2022