By Long Nguyen | **Nov 30th, 2025
Software Engineers spend a surprising amount of time installing, updating, and managing dependencies. Yet very few β from asking around β fully understand what happens under the hood when running a simple command like: npm install
This post started with wondering about the naming of the below whilst reviewing vscode-pets
package.nls.it.json
β¦and turned into a deep dive on how npm, lockfiles, dependency management and content-addressable caching actually work.
package.nls.it.json ?package.json vs package-lock.jsonnpm ci: determinism, ci-friendly