npm-explain - Explain installed packages

NAME  Synopsis  Description  Configuration  json  workspace  See Also 

NAME

npm-explain - Explain installed packages

Synopsis

npm explain <package-spec>

alias: why

Description

This command will print the chain of dependencies causing a given package to be installed in the current project.

If one or more package specs are provided, then only packages matching one of the specifiers will have their relationships explained.

The package spec can also refer to a folder within ./node_modules

For example, running npm explain glob within npm’s source tree will show:

[email protected]
node_modules/glob
glob@"ˆ7.1.4" from the root project

[email protected] dev
node_modules/tacks/node_modules/glob
glob@"ˆ7.0.5" from [email protected]
node_modules/tacks/node_modules/rimraf
rimraf@"ˆ2.6.2" from [email protected]
node_modules/tacks
dev tacks@"ˆ1.3.0" from the root project

To explain just the package residing at a specific folder, pass that as the argument to the command. This can be useful when trying to figure out exactly why a given dependency is being duplicated to satisfy conflicting version requirements within the project.

$ npm explain node_modules/nyc/node_modules/find-up
[email protected] dev
node_modules/nyc/node_modules/find-up
find-up@"ˆ3.0.0" from [email protected]
node_modules/nyc
nyc@"ˆ14.1.1" from [email protected]
node_modules/tap
dev tap@"ˆ14.10.8" from the root project

Configuration

json

Default: false

Type: Boolean

Whether or not to output JSON data, rather than the normal output.

In npm pkg set it enables parsing set values with JSON.parse() before saving them to your package.json.

Not supported by all npm commands.

workspace

Default:

Type: String (can be set multiple times)

Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.

Valid values for the workspace config are either:

Workspace names

Path to a workspace directory

Path to a parent workspace directory (will result in selecting all workspaces within that folder)

When set for the npm init command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.

This value is not exported to the environment for child processes.

See Also

npm help "package spec"

npm help config

npm help npmrc

npm help folders

npm help ls

npm help install

npm help link

npm help prune

npm help outdated

npm help update


Updated 2024-01-29 - jenkler.se | uex.se