commit 0c7dbf72a429ad137efdbfb7bbb3366d935103a4 Author: NunoSempere Date: Thu Nov 17 16:32:56 2022 +0000 tweak: Initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..c15474d --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +NUÑO's STUPID NODE VERSION MANAGER +================================== + +## About + +The problem: Current node version managers, such as [nvm](https://github.com/nvm-sh/nvm) or [asdf](https://asdf-vm.com/) are too slow. In particular, they add half a second to a few seconds when loaded with bash. + +The solution: Write a stupidly simple node version manager which is significantly simpler, hackier, less featureful, and less secure, but much faster. + +Use this software at your own risk. In particular, consider reading the source code. + +## Usage + +Read the `nsnvm.sh` file, then execute it like: + +``` +./nsvnm.sh 18.12.1 +``` + +Make sure that you pass it one argument and that it is a correct node version number: there is no error checking. diff --git a/nsnvm.sh b/nsnvm.sh new file mode 100755 index 0000000..5167ec5 --- /dev/null +++ b/nsnvm.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +dir="$HOME/.nnvm" +version="$1" +referent="node-v$version-linux-x64" +nodejs_url="https://nodejs.org/dist/v$version/$referent.tar.xz" + +mkdir -p "$dir" +cd "$dir" +rm -f "$dir/$referent.tar.xz" +rm -rf "$dir/$referent" +wget "$nodejs_url" +tar xf "$referent.tar.xz" + +sudo rm -f /usr/bin/node +sudo rm -f /usr/bin/npm +sudo rm -f /usr/bin/npx + +sudo ln -s "$dir/$referent/bin/node" "/usr/bin" +sudo ln -s "$dir/$referent/bin/npm" "/usr/bin" +sudo ln -s "$dir/$referent/bin/npx" "/usr/bin"