By statically linking `libgmp` on MacOS, we can avoid problems we have with OpenSSL, including dynamic linking (Fixes#110), and certificate issues (Fixes#170)
Unfortunately, it makes fnm fail to build on Windows, which is not that of a big deal. I want to say thanks for @ulrikstrid for all the work he invested into making the build pass on Windows, but I think that implementing fnm on Windows will be better off as a separate program — maybe even in this very repo, while sharing the feature tests with the Unix implementation
* 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
I added `-gx` to the `set` commands for fish so that the variables can be picked up by later runs of fnm. There are cases where the setup current code already works however it doesn't when the `FNM_...` variables haven't been exported globally before.
* 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
* remove ansi codes from provided version string
* add check func whether the specify version is already installed or not
* Revert "remove ansi codes from provided version string"
This reverts commit 9e5b27f942e8be94c1bffda13a254f46cbf3dece.
* apply code review(rename check function)
* run esy fmt
* move short path to the top of the switch case
* use Result.fold instead of switch case
* use Array.exists instead of List.exists
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`