node/deps/npm/lib/utils/audit-error.js
npm CLI robot a4808b6c3b
deps: upgrade npm to 9.6.2
PR-URL: https://github.com/nodejs/node/pull/47108
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-03-27 14:41:08 -04:00

40 lines
1 KiB
JavaScript

const log = require('./log-shim')
const replaceInfo = require('./replace-info.js')
// print an error or just nothing if the audit report has an error
// this is called by the audit command, and by the reify-output util
// prints a JSON version of the error if it's --json
// returns 'true' if there was an error, false otherwise
const auditError = (npm, report) => {
if (!report || !report.error) {
return false
}
if (npm.command !== 'audit') {
return true
}
const { error } = report
// ok, we care about it, then
log.warn('audit', error.message)
const { body: errBody } = error
const body = Buffer.isBuffer(errBody) ? errBody.toString() : errBody
if (npm.flatOptions.json) {
npm.output(JSON.stringify({
message: error.message,
method: error.method,
uri: replaceInfo(error.uri),
headers: error.headers,
statusCode: error.statusCode,
body,
}, null, 2))
} else {
npm.output(body)
}
throw 'audit endpoint returned an error'
}
module.exports = auditError