sindresorhus / awesome-nodejs

:zap: Delightful Node.js packages and resources
https://node.cool
Creative Commons Zero v1.0 Universal
57.83k stars 5.81k forks source link

Add Flox #1289

Open bryanhonof opened 1 month ago

bryanhonof commented 1 month ago

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

Description

site: https://flox.dev/

Flox is an environment manager and package manager all in one. It's capable of installing different versions of Node.js on the same machine, and activate them whenever a project requests a specific Node.js version. And example of using Flox for a Node.js project could look as follows.

$ flox init
✨ Created environment 'tmp.z6TSHUBTKs' (aarch64-darwin)

Next:
  $ flox search <package>    <- Search for a package
  $ flox install <package>   <- Install a package into an environment
  $ flox activate            <- Enter the environment
  $ flox edit                <- Add environment variables and shell hooks

$ flox search nodejs
nodejs       Event-driven I/O framework for the V8 JavaScript engine
nodejs_22    Event-driven I/O framework for the V8 JavaScript engine
nodejs_21    Event-driven I/O framework for the V8 JavaScript engine
nodejs_20    Event-driven I/O framework for the V8 JavaScript engine
nodejs_18    Event-driven I/O framework for the V8 JavaScript engine
nodejs_16    Event-driven I/O framework for the V8 JavaScript engine
nodejs_14    Event-driven I/O framework for the V8 JavaScript engine
nodejs-slim  Event-driven I/O framework for the V8 JavaScript engine
nodejs-19_x  Event-driven I/O framework for the V8 JavaScript engine
nodejs-18_x  Event-driven I/O framework for the V8 JavaScript engine

Showing 10 of 54 results. Use `flox search nodejs --all` to see the full list.

Use 'flox show <package>' to see available versions

$ flox show nodejs
nodejs - Event-driven I/O framework for the V8 JavaScript engine
    nodejs@20.14.0
    nodejs@20.12.2
    nodejs@20.11.1
    nodejs@20.10.0
    nodejs@18.18.2
    nodejs@18.18.0
    nodejs@18.17.1
    nodejs@18.16.1
    nodejs@18.16.0
    nodejs@18.14.2
    nodejs@18.14.1
    nodejs@18.13.0
    nodejs@18.12.1
    nodejs@16.15.0
    nodejs@14.16.1 (aarch64-linux, x86_64-darwin, x86_64-linux only)
$ flox install nodejs@20.14.0
✅ 'nodejs' installed to environment 'tmp.z6TSHUBTKs'
$ node --version
zsh: command not found: node
$ flox activate
✅ You are now using the environment 'tmp.z6TSHUBTKs'.
To stop using this environment, type 'exit'

flox [tmp.z6TSHUBTKs] $ node --version
v20.14.0
flox [tmp.z6TSHUBTKs] $

It is also capable of bringing in auxiliary tools that are necessary to run your project, but aren't necessarily part of the node ecosystem.