1. npm-audit-report
Given a response from the npm security api, render it into a variety of security reports
npm-audit-report
Package: npm-audit-report
Created by: npm
Last modified: Wed, 09 Aug 2023 16:59:11 GMT
Version: 5.0.0
License: ISC
Downloads: 2,569,380
Repository: https://github.com/npm/npm-audit-report

Install

npm install npm-audit-report
yarn add npm-audit-report

npm audit security report

Given a response from the npm security api, render it into a variety of security reports

The response is an object that contains an output string (the report) and a suggested exitCode.

{
  report: 'string that contains the security report',
  exit: 1
}

Basic usage example

This is intended to be used along with
@npmcli/arborist's AuditReport class.

'use strict'
const Report = require('npm-audit-report')
const options = {
  reporter: 'json'
}

const arb = new Arborist({ path: '/path/to/project' })
arb.audit().then(report => {
  const result = new Report(report, options)
  console.log(result.output)
  process.exitCode = result.exitCode
})

Break from Version 1

Version 5 and 6 of the npm CLI make a request to the registry endpoint at
either the "Full Audit" endpoint at /-/npm/v1/security/audits or
the "Quick Audit" endpoint at /-/npm/v1/security/audits/quick. The Full
Audit endpoint calculates remediations necessary to correct problems based
on the shape of the tree.

As of npm v7, the logic of how the cli manages trees is dramatically
rearchitected, rendering much of the remediations no longer valid.
Thus, it only fetches the advisory data from the Quick Audit endpoint,
and uses @npmcli/arborist to calculate
required remediations and affected nodes in the dependency graph. This
data is serialized and provided as an "auditReportVersion": 2 object.

Version 2 of this module expects to receive an instance (or serialized JSON
version of) the AuditReport class from Arborist, which is returned by
arborist.audit() and stored on the instance as arborist.auditReport.

Eventually, a new endpoint may be added to move the @npmcli/arborist work
to the server-side, in which case version 2 style audit reports may be
provided directly.

options

option values default description
reporter install, detail, json, quiet install specify which output format you want to use
chalk Chalk instance required a Chalk instance to use for colorizing strings. use new chalk.Instance({ level: 0 }) for no colors
unicode true, false true indicates if unicode characters should be used
indent Number or String 2 indentation for 'json' report
auditLevel 'info', 'low', 'moderate', 'high', 'critical', 'none' low (ie, exit 0 if only info advisories are found) level of vulnerability that will trigger a non-zero exit code (set to 'none' to always exit with a 0 status code)

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code