JavaScript package registry, package manager, npm CLI, open-source dependencies, package.json, publishing, installs, semantic versioning, security, supply chain, and GitHub
npm
npm is a popular JavaScript package registry and package manager ecosystem where developers find, install, publish, and manage packages used in web and Node.js projects.
What npm is
npm is a package registry and package manager ecosystem for JavaScript developers. On npmjs.com, people can search for packages, inspect versions, read package metadata, and find links to documentation, repositories, and maintainers.

Registry and CLI
The npm registry stores package files and metadata, while the npm command-line tool installs packages, publishes new releases, runs scripts, and connects projects to the registry. That pairing made npm feel less like a directory and more like a default workflow for JavaScript work.
Packages and package.json
An npm package is usually described by a package.json file. That file can name the project, define scripts, list dependencies, set entry points, describe licensing, and tell other tools how the package should be installed or used.
Publishing and reuse
npm made it easy for developers to publish small modules and for other projects to reuse them immediately. This helped JavaScript culture move toward composable libraries, quick experimentation, and very large dependency graphs.
Versioning and dependency trees
npm depends heavily on semantic version ranges and lockfiles. A project can request compatible versions while a lockfile records the exact resolved dependency tree, helping teams keep installs repeatable across machines and deployment environments.
Security and supply chain
Because npm packages can pull in many transitive dependencies, the ecosystem also created security and maintenance challenges. Auditing, provenance, account protection, package ownership, and dependency review became important parts of using npm responsibly.
GitHub ownership
GitHub acquired npm in 2020 and kept it closely tied to open-source development workflows. The acquisition connected npm to a broader developer platform that already hosted many of the repositories behind packages in the registry.
Why it matters
npm helped turn JavaScript into a huge shared software ecosystem. Its influence is visible in modern web apps, build tools, frameworks, design systems, command-line utilities, and the way developers expect packages to be discovered, installed, and updated.