devDependencies
are only installed when your module is top level (not in another project's node_modules dir).
peerDependencies
are only installed when your module is not top level.
So for Browserify projects, where nothing is truly a dependency
in the sense it is required to run the app, you are left with a sub-optimal scenario. Any modules you depend on to function must be listed in both devDependencies
(to ensure they are installed when you are working on this module) and in peerDependencies
(to ensure they are installed when this module is used by another module). The only exception seems to be testing dependencies, which can be left out of peerDependencies
.
Or do you say eff it and list everything but testing modules in dependencies
?