To resolve packages by name and version, npm talks to a registry website that implements the CommonJS Package Registry specification for reading package info.

The registry URL used is determined by the scope of the package (see npm-scope). If no scope is specified, the default registry is used, which is supplied by the registry config parameter