JavaScript Development Environment - austin-karren/dotfiles GitHub Wiki
Introduction
It is important to manage your JavaScript dependencies and runtimes to ensure that you always have what you need to run the latest JS and Typescript projects. Below is a guide on how I set my JS dependencies and runtimes up.
Software
Below is software that I install and what I use them for. Keep in mind that the JS ecosystem changes all the time but this is how I do things at the moment.
- Volta - My default version manager for all things nodejs, npm and pnpm related
- Node.js - Managed through Volta (don't mix with a homebrew install, NVM, or a manual download, it might confuse your system on which nodejs and npm version to use)
- NPM - Can be managed through NVM, pnpm, or Volta but don't mix them. Just pick one solution to manage your npm version
- Pnpm - Stands for Performant NPM. Great for nodejs applications and I prefer to use this over NPM if I can. Can be managed through homebrew or Volta but don't mix them. I prefer to keep everything in Volta
- Bun - A runtime and package manager but distinctly separate from nodejs. Compatible with most nodejs applications such as next.js
- Deno - A runtime and package manager but distinctly separate from nodejs. Compatible with most nodejs applications such as next.js. Different than Bun but another great option
Screenshot to show you how I manage my JS stuff