Skip to content

Node.js

Trivy supports three types of Node.js package managers: npm, Yarn and pnpm. The following table provides an outline of the features Trivy offers.

Package manager File Transitive dependencies Dev dependencies Dependency graph Position License
npm package-lock.json Excluded
Yarn yarn.lock Excluded -
pnpm pnpm-lock.yaml Excluded - -

In addition, Trivy scans installed packages with package.json.

File Dependency graph Position License
package.json - -

These may be enabled or disabled depending on the target. See here for the detail.

Package managers

Trivy parses your files generated by package managers in filesystem/repository scanning.

Tip

Please make sure your lock file is up-to-date after modifying package.json.

npm

Trivy parses package-lock.json. To identify licenses, you need to download dependencies to node_modules beforehand. Trivy analyzes node_modules for licenses.

Yarn

Trivy parses yarn.lock, which doesn't contain information about development dependencies. To exclude devDependencies, package.json also needs to be present next to yarn.lock.

pnpm

Trivy parses pnpm-lock.yaml, then finds production dependencies and builds a tree of dependencies with vulnerabilities.

Packages

Trivy parses the manifest files of installed packages in container image scanning and so on.

package.json

Trivy searches for package.json files under node_modules and identifies installed packages. It only extracts package names, versions and licenses for those packages.