Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jdk2pq/auto-n-auto
Automatically run "n auto" when changing directories with zsh, but only when needed
https://github.com/jdk2pq/auto-n-auto
automation n node zsh
Last synced: 28 days ago
JSON representation
Automatically run "n auto" when changing directories with zsh, but only when needed
- Host: GitHub
- URL: https://github.com/jdk2pq/auto-n-auto
- Owner: jdk2pq
- Created: 2024-07-03T15:03:17.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-07-07T04:18:15.000Z (4 months ago)
- Last Synced: 2024-09-28T07:40:58.539Z (about 1 month ago)
- Topics: automation, n, node, zsh
- Language: JavaScript
- Homepage:
- Size: 8.79 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# auto-n-auto
A modified version of [runn](https://github.com/neemzy/runn) by [neemzy](https://github.com/neemzy)
Uses the [n](https://github.com/tj/n) Node.js version manager to switch Node.js versions automatically.
Run `n auto` automatically while changing directories with `zsh`, but only if you need to according to [node-semver](https://github.com/npm/node-semver).
## How it works
This is meant to be run upon `cd` to switch automatically while keeping it fast. I use `zsh` hooks to run the script on every directory change (configuration below).
Running this script will try to read a Node.js version from a `.n-node-version` file in the working directory, match the current version of Node against it, and run `n auto` if they do not match.
## Setup
Pre req: make sure `n` is installed of course.
```sh
git clone [email protected]:jdk2pq/auto-n-auto.git
pnpm i
```Add the following to your `.zshrc`:
```sh
autoload -U add-zsh-hookauto-n-auto() {
node path/to/auto-n-auto
}add-zsh-hook chpwd auto-n-auto
auto-n-auto
```
Finally, run `source .zshrc` or restart your terminal, and it should work!