Skip to content

Commit

Permalink
docs(ls): removed design change pending section note (#7963)
Browse files Browse the repository at this point in the history
Removed npm 8 design change pending section note section from the
documentation for `npm ls`

https://docs.npmjs.com/cli/v10/commands/npm-ls?v=true#note-design-changes-pending

Closes npm/documentation#1365,
#6773
  • Loading branch information
milaninfy authored Dec 9, 2024
1 parent cf52b8b commit 8a911da
Showing 1 changed file with 0 additions and 28 deletions.
28 changes: 0 additions & 28 deletions docs/lib/content/commands/npm-ls.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,34 +39,6 @@ dependencies, not the physical layout of your `node_modules` folder.

When run as `ll` or `la`, it shows extended information by default.

### Note: Design Changes Pending

The `npm ls` command's output and behavior made a _ton_ of sense when npm
created a `node_modules` folder that naively nested every dependency. In
such a case, the logical dependency graph and physical tree of packages on
disk would be roughly identical.

With the advent of automatic install-time deduplication of dependencies in
npm v3, the `ls` output was modified to display the logical dependency
graph as a tree structure, since this was more useful to most users.
However, without using `npm ls -l`, it became impossible to show _where_ a
package was actually installed much of the time!

With the advent of automatic installation of `peerDependencies` in npm v7,
this gets even more curious, as `peerDependencies` are logically
"underneath" their dependents in the dependency graph, but are always
physically at or above their location on disk.

Also, in the years since npm got an `ls` command (in version 0.0.2!),
dependency graphs have gotten much larger as a general rule. Therefore, in
order to avoid dumping an excessive amount of content to the terminal, `npm
ls` now only shows the _top_ level dependencies, unless `--all` is
provided.

A thorough re-examination of the use cases, intention, behavior, and output
of this command, is currently underway. Expect significant changes to at
least the default human-readable `npm ls` output in npm v8.

### Configuration

<!-- AUTOGENERATED CONFIG DESCRIPTIONS -->
Expand Down

0 comments on commit 8a911da

Please # to comment.