tools/what-does-1-2-3-mean-in-package-json-version-rules-you-can-try.md
What does ^1.2.3 mean in package.json? Version rules you can try
Open any package.json and you'll see versions like `^4.17.21` or `~1.2.3`. That little symbol is a rule for which updates npm may install without asking you.
Here you can type a rule, release new versions into a pretend registry, and watch which ones get picked. By the end you'll know why `^` allows new features but not breaking changes, why `0.x` versions are treated as extra risky, and what `package-lock.json` is for.

$ ls tools/
see all →
tools/debugging-for-beginners-step-through-code-to-find-an-off-by-one.md
Debugging for beginners: step through code to find an off-by-one
Your code prints 6 and you expected 10. A debugger lets you slow the program down, run one line at a time, and watch every variable change…
tools/your-first-terminal-commands-pwd-ls-cd-and-friends-with-no-fear.md
Your first terminal commands: pwd, ls, cd and friends, with no fear
The terminal is a window where you type commands instead of clicking, and about a dozen of them cover most of what you'll do every day…
tools/git-basics-where-your-work-lives-and-why-branches-are-just-pointers.md
Git Basics: Where Your Work Lives and Why Branches Are Just Pointers
Git saves your project's history as commits: snapshots you choose to take, each with a short message. The trick to understanding it is…