Fast Node Manager (fnm
)
> :rocket: Fast and simple Node.js version manager, built in ReasonML
## Features
:sparkles: Single file, easy installation
:rocket: Built with speed in mind
:thinking: Works with `.nvmrc` files
## Installation
* Download the [latest release binary](https://github.com/Schniz/fnm/releases) for your system
* Make it available globally on `$PATH`
* Add the following line to your `.bashrc`/`.zshrc` file:
```bash
eval `fnm env`
```
## Future Plans
- [ ] Add a simpler way of installing it (`curl | bash`?)
- [ ] Feature: make versions complete the latest: `10` would infer the latest minor and patch versions of node 10. `10.1` would infer the latest patch version of node 10.1
- [ ] Feature: `fnm use --install`, `fnm use --quiet`
- [ ] Feature: `fnm install lts`?
- [ ] Feature: `fnm alias`?
- [ ] Feature: Consider nvm-like per-shell usage with symlinks on `/tmp` directory
- [ ] OSX: Add to homebrew?
- [ ] Windows Support?
- [ ] Linux: Replace `curl` usage with `cohttp`/`ocurl` or something else which is statically-linkable
- [ ] Linux: Replace `tar` with a statically linked library too (for ungzip + untar)
## Contributing
PRs welcome :tada:
### Developing:
```
npm install -g esy
git clone https://github.com/Schniz/fnm.git
esy install
esy build
```
### Running Binary:
After building the project, you can run the main binary that is produced.
```
esy x fnm.exe
```
### Running Tests:
```
# Runs some smoke-unity test
esy test
# Runs the feature tests
feature_tests/run.sh
```