Concept
package.json names the project, its scripts and its dependencies; package-lock.json pins the exact versions installed. npm scripts are the standard way to run the build, tests and the server.
The tutor works through these with you, in conversation and code. A session ends when you have shown them, not when a video does.
A few lines that show npm and package.json doing its job.
{
"name": "orders-api",
"type": "module",
"scripts": {
"dev": "node --watch src/server.js",
"test": "node --test",
"start": "node src/server.js"
},
"dependencies": { "fastify": "^5.0.0" },
"devDependencies": { "eslint": "^9.0.0" },
"engines": { "node": ">=22" }
}Running npm install in CI instead of npm ci. Install may update the lock file and pull a different version than you tested; ci installs exactly what the lock says.
Your roadmap puts these before npm and package.json, unless you already know them.
Once a session shows you understand npm and package.json, it comes back for review. Each review takes a minute and tells the memory model how well you still know it.
Topics that build on npm and package.json.