
How it works...
The npm registry allows global and scoped package names. We converted our module's name to a scoped namespace in order to avoid naming conflicts. This meant that we had to pass the --access=public flag along with the npm publish command. If we're publishing a module to the global namespace, this wouldn't be required since all modules in the global namespace are public. Scoped packages, however, allow both private and public publishing where restricted access is the default.
When we ran the npm publish command, the npm tool packaged up our module and sent it to the npm registry. The npm registry stored our module and analyzed the package.json file and the Readme.md file to create a page for our module on npmjs.com.
Subsequently, now that our module is in the registry, it can be installed as a dependency of other modules and applications.
For instance:
mkdir my-app
cd my-app
npm init
npm install @davidmarkclements/hsl-to-hex