qnm icon indicating copy to clipboard operation
qnm copied to clipboard

--why shows first level/depth dependents

Open roymiloh opened this issue 7 years ago • 5 comments

Say I have the following graph:

a -> b -> c -> d (a depends on b and so on).

When I do qnm --why d, I'm getting c, which is fine - but I'd like to get the entire path until the direct dependency itself in some manner.

roymiloh avatar May 04 '18 18:05 roymiloh

Thanks @roymiloh, this is a cool idea!

There is a small UX problem that needs to be solved, some packages are being downloaded because multiple packages depend on them, which means that the output would be a bit harder to present.

We could create some interactive mode that will let the user to explore and expand dependency trees dynamically.

If there is a nice way to preset the whole tree statically that could be also nice.

I'm open for ideas and PRs

ranyitz avatar May 30 '18 01:05 ranyitz

If I understand correctly, it should behave the same as npm list [package], right?

For example:

> qnm serialize-javascript serialize-javascript

serialize-javascript
├── 2.1.2
└─┬ webpack
  └── 1.9.0

compare to

> npm list serialize-javascript

[email protected] /path/to/my-package
└─┬ [email protected]
  ├─┬ [email protected]
  │ └── [email protected] 
  └─┬ [email protected]
    └─┬ [email protected]
      └── [email protected]

moshfeu avatar Jan 08 '20 06:01 moshfeu

The problem with the npm ls tree is that it doesn't show the versions that you have on the file system. Meaning that you don't know which version is located on the root node_modules and which version is nested inside of other modules' node_modules directory.

ranyitz avatar Jan 08 '20 07:01 ranyitz

Have not tested it. So seems like qnm should take both of the worlds..

moshfeu avatar Jan 08 '20 10:01 moshfeu

You're right, finding good ways to show the full tree would give a lot of value.

ranyitz avatar Jan 08 '20 12:01 ranyitz