sdball / fnm

πŸš€ Fast and simple Node.js version manager, built in ReasonML

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fast Node Manager (fnm) Build Status

πŸš€ Fast and simple Node.js version manager, built in ReasonML

Blazing fast!

Features

✨ Single file, easy installation

πŸš€ Built with speed in mind

πŸ€” Works with .nvmrc files

Installation

  • Download the latest release binary for your system

  • Make it available globally on $PATH

  • Add the following line to your .bashrc/.zshrc file:

    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 πŸŽ‰

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

About

πŸš€ Fast and simple Node.js version manager, built in ReasonML


Languages

Language:OCaml 91.3%Language:Shell 6.5%Language:Dockerfile 2.0%Language:C++ 0.2%