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
ayane@3.0.1 C:\ayane
+-- clause-normal-form@2.4.0
| +-- big-integer@1.6.22
| +-- big-rational@0.10.6
| +-- clone@2.1.1
| `-- lodash@4.17.4
+-- command-files@1.1.0
| `-- glob@7.1.1
| +-- fs.realpath@1.0.0
| +-- inflight@1.0.6
| | `-- wrappy@1.0.2
| +-- inherits@2.0.3
| +-- minimatch@3.0.3
| | `-- brace-expansion@1.1.7
| | +-- balanced-match@0.4.2
| | `-- concat-map@0.0.1
| +-- once@1.4.0
| `-- path-is-absolute@1.0.1
+-- commander@2.9.0
| `-- graceful-readlink@1.0.1
+-- dimacs-parser@2.3.0
+-- get-stdin@5.0.1
+-- iop@1.4.1
`-- tptp-parser@2.5.1
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?
via rwallace
No comments:
Post a Comment