I'm trying to figure out exactly what's going on with npm dependencies.
The shortest specific form of my question is: given that my transitive dependency graph invokes a certain package multiple times with different versions, why are those different versions not showing up in either npm list or the file system?
I don't want to clutter the global namespace with junk just for testing, so will use my actual current project; it's small enough to be clear, I think.
C:\ayane>npm list [email protected] C:\ayane +-- [email protected] | +-- [email protected] | +-- [email protected] | +-- [email protected] | `-- [email protected] +-- [email protected] | `-- [email protected] | +-- [email protected] | +-- [email protected] | | `-- [email protected] | +-- [email protected] | +-- [email protected] | | `-- [email protected] | | +-- [email protected] | | `-- [email protected] | +-- [email protected] | `-- [email protected] +-- [email protected] | `-- [email protected] +-- [email protected] +-- [email protected] +-- [email protected] `-- [email protected] That looks fine so far except ayane depends on clause-normal-form 2.4.0 but dimacs-parser and tptp-parser depend on clause-normal-form 2.3.0; why is this not showing in the above?
C:\ayane>tree /a Folder PATH listing for volume OS Volume serial number is C685-B1F1 C:. \---node_modules +---.bin +---balanced-match +---big-integer +---big-rational +---brace-expansion +---clause-normal-form +---clone +---command-files +---commander +---concat-map | +---example | \---test +---dimacs-parser +---fs.realpath +---get-stdin +---glob +---graceful-readlink +---inflight +---inherits +---iop +---lodash | \---fp +---minimatch +---once +---path-is-absolute +---tptp-parser \---wrappy Same question: why is only one clause-normal-form directory appearing?