Lock File
ELI5 — The Vibe Check
A lock file is a snapshot of the exact versions of every package your project is using right now. It means everyone on the team — and your production server — installs the exact same versions, not slightly-different-maybe-broken ones.
Real Talk
A lock file (package-lock.json, yarn.lock, Pipfile.lock) records the exact resolved version of every dependency and transitive dependency. It ensures reproducible installs across machines and environments. Always commit your lock file.
When You'll Hear This
"Commit the lock file — it ensures reproducible builds." / "The lock file was out of sync and that's why CI was failing."
Related Terms
Dependency
A dependency is a package your project relies on to work. Your app depends on React to render UI, axios to make requests, and dotenv to read config.
node_modules
node_modules is the folder where npm dumps all the packages you install. It can grow to hundreds of megabytes instantly and contains thousands of files.
Package
A package is a bundle of code someone else wrote and published so you don't have to reinvent the wheel. Need to parse dates? There's a package for that.
Semver (Semver)
Semver is the numbering system for software versions: MAJOR.MINOR.PATCH.
Virtual Environment
A virtual environment is an isolated bubble for your Python project's packages.