Is there a way to force `npm link` to not require also calling `npm link <package>` within a dependency of a package?
If I have a few local-only modules with dependencies, such as:
mod1, v1.34.2
mod2, v0.2.3
mod1: "1.x"
mod3, v0.3.4
mod1: "1.x"
mod2: "0.2.x"
appmod v1.4.2
mod1: "1.x"
mod2: "0.2.x"
mod3: "0.3.x"
Even if I go into each root module and call `npm link <dependency>` (for each dependency, of course), `npm install` within appmod will fail, I believe, I due to the nested dependency of mod1 within mod2 and mod3. In addition, because I've specified "1.x" as the dependency version, none of the modules that depend on mod1 "1.x" will resolve to an `npm link`ed version of mod1. It's only when I specify the exact linked version in all of their manifests, 1.34.2, that modules resolve.
Is there an easier way to get what I want without using relative paths? While I've changed the names here, this is a real scenario due to legacy code, and is not contrived. It seems silly that I would have to go and `npm link` into each module's node_modules folder recursively.
I've also tried specifying the dependencies as peerDependencies, but that seems to have the same effect: node cannot resolve the nested dependencies.
Any ideas? Would more code help people understand what I'm trying to do?