This PR adds a GitHub action (🎉) that checks for the latest refmt syntax.
This is done thanks to @thomsj which brought up the problems with formatting in the repo! 👏#105 (comment)
The current implementation is not ideal: it installs esy and then installs OCaml and @esy-ocaml/reason. A better way to do it is to distribute refmt as a standalone binary from the latest Reason release. This will be fast to install and therefore fast to integrate with CI.
An approach to do so is to add an artifact to the CircleCI runs, and then use something like circleci-artifacts.now.sh to fetch the artifact, extract it and profit 💰
In the meantime, it takes <4m to run it, which is much faster than the Azure Linux build, not to mention the Windows one.
* Fix build with fixed versions
* Use carets
* support `lts/dubnium` format
* trim string in test
* fix typo
* Add resolution to windows.json too
* Use specific opam file
* Use variants instead of a boolean
* Add infrastructure for multishell and aliases: Aliases are required because I want to have a default node version on startup
* create alias command
* fmt
* Added aliases (Fixes#29) and opt-in multishell support (Fixes#19)
* Better docs
* update snapshot
* Some/Fail => Some/None
* add lint-staged
* use refmt and all of prettier are grouped
* System.readdir => Fs.readdir (now uses Lwt)
* use lstat for file_exists: check if symlink exists instead of actual linked file. also, initialize the Random seed on Env
* Remove fish set options that were added in trial and error
* Bootstrap script
* add bootstrap documentation
* Add a LICENSE file
* added license, thanks @bnb
* script to print licenses
* Change to GPL v3
I believe it is necessary because of fnm's dependencies. If it's not, I'd be happy to make it more open
* Update package.json
This PR adds a script that generates a new Reason module named `Fnm__Package` and a script that verifies that it is up to date.
`Fnm__Package` will have `package.json` information necessary for the app, like its version.
Unfortunately, [`husky` doesn't work with esy](https://github.com/esy/esy/issues/623) so I can't use it for generating git hooks and have a `pre-commit` script that verifies `Fnm__Package` and reformats using `refmt`