NPM is the primary package manager for the JavaScript programming language. It acts as both the registry and also provides command-line tooling. It is considered the world's largest software registry.
NPM serves both front-end code — JavaScript packages meant to be run in the browser – and back-end code — Node.js libraries.
While there appear to be alternatives to NPM, like Yarn, they typically are only providing the command-line tooling, but actually use NPM as the registry, or the source of the packages.
You can learn more about NPM on its website.