Publishing a cross-platform tool
Node.js would not be so powerful without its ecosystem. As we learned in Chapter 1, Learning the Internals of Node.js, relying on the power of its ecosystem was an elementary design decision. Here, npm takes the leading role by defining the package metadata in package.json
, as well as the installation of packages.
During the installation of a package, a couple of things are happening. After the package has been downloaded, it will be copied to a target directory. For a local installation with npm
, this is the node_modules
folder. For a global installation with npm
, the target will be globally available in your home directory. There is, however, one more thing to do. If the package contains a tool, then a reference to the tool will be put into a special directory, which is node_modules/.bin
for a local installation.
If you go back to the code from the previous chapter, you will see that, for example, jest
is available in node_modules/.bin
. This...