Tchannel should't make any assumption about the module tree in which it is in. Let's assume we have the following `node_modules` tree: ``` $ npm ls tchannel top-level-project@1.0.0 /Users/aleksey/devel/top-level-project ├─┬ dep1@1.0.0 │ └── tchannel@3.5.0 ├─┬ dep2@1.0.0 │ └── tchannel@3.6.0 ``` Both `dep1` and `dep2` have tchannel as dependency matching all minor version up to 4: ``` "dependencies": { "tchannel": "^3.5.0" } ``` Running `npm install` on this tree will (rightfully) mark both 3.5.0 and 3.6.0 versions as valid and matching their respective semver ranges. I think it's a very bad practice for a module to expect a shape of the project's entire modules tree in which it is.
Tchannel should't make any assumption about the module tree in which it is in. Let's assume we have the following
node_modulestree:Both
dep1anddep2have tchannel as dependency matching all minor version up to 4:Running
npm installon this tree will (rightfully) mark both 3.5.0 and 3.6.0 versions as valid and matching their respective semver ranges.I think it's a very bad practice for a module to expect a shape of the project's entire modules tree in which it is.