npm-audit-pipeline
Version:
Using npm audit in deployment pipelines
44 lines (43 loc) • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.evaluateFailedVulnerabilities = exports.Level = void 0;
var Level;
(function (Level) {
Level["info"] = "info";
Level["low"] = "low";
Level["moderate"] = "moderate";
Level["high"] = "high";
Level["critical"] = "critical";
})(Level = exports.Level || (exports.Level = {}));
var configLevelValues = function (config) {
var _a;
return (_a = {},
_a[Level.info] = config.info,
_a[Level.low] = config.low,
_a[Level.moderate] = config.moderate,
_a[Level.high] = config.high,
_a[Level.critical] = config.critical,
_a);
};
var npmLevelValues = function (npmAuditResponse) {
var _a;
return (_a = {},
_a[Level.info] = npmAuditResponse.info,
_a[Level.low] = npmAuditResponse.low,
_a[Level.moderate] = npmAuditResponse.moderate,
_a[Level.high] = npmAuditResponse.high,
_a[Level.critical] = npmAuditResponse.critical,
_a);
};
var evaluateFailedVulnerabilities = function (config) {
return function (npmAuditResponse) {
return Object.keys(Level)
.map(function (x) { return ({
level: x,
expectedCount: configLevelValues(config)[x],
actualCount: npmLevelValues(npmAuditResponse)[x],
}); })
.filter(function (x) { return x.actualCount > x.expectedCount; });
};
};
exports.evaluateFailedVulnerabilities = evaluateFailedVulnerabilities;