NPM can manage packages that are local dependencies of a particular project, as well as globally-installed JavaScript tools. When used as a dependency manager for a local project, NPM can install, in one command, all the dependencies of a project through the package.json file. In the package.json file, each dependency can specify a range of valid versions using the incumbent semantic versioning scheme. This allows Blaze developers to auto-update their packages while at the same time avoiding unwanted ‘breaking changes’, ongoing.
NPM also includes ‘version-bumping’ tools for developers to tag their packages with a particular version.
NPM also provides package-lock.json file which has the entry of the exact version used by the project after evaluating semantic versioning in package.json.
License: Open Source (Artistic Creative License)