Learn

Choosing and using a package manager

Node.js, npm, pnpm, bun: making sense of the JavaScript ecosystem

Understand Node.js, the role of package.json, and choose between npm, pnpm, and bun depending on your context. The course takes a clear position: npm for backwards compatibility, pnpm or bun for new projects.

Start course

Who this course is for

You are starting a JavaScript or TypeScript project, or picking up an existing one. You see npm install in READMEs, pnpm-lock.yaml in some repos, bun install in others, and you wonder which one to use, why there are three of them, and what actually happens when you run the command.

This course answers those questions without dogma and without vagueness. We look at what Node does, what each package manager solves, their respective strengths, and we give a clear recommendation for 2026: pnpm or bun for new projects, npm only for backwards compatibility.

How to follow it

  • Linearly the first time: Node first, then package.json, then the comparison.
  • By lesson after that: come back to look up the syntax of a specific command.
  • No religion: we present the arguments, you decide. If your existing project is on npm, we show you how to evaluate it and migrate if needed.

Every command is sourced to the official documentation of the relevant tool and stamped with its last verified date.

Syllabus

Connexions avec d'autres cours

Node.js, prérequis runtime de l'écosystème JS

Beaucoup d'outils (Claude Code CLI, pnpm, bun, Next.js) supposent Node installé. Ici on enseigne comment, là on l'utilise.