@jitesoft/audit-for-gitlab
Version:
Minimal application to convert npm audit report into gitlab-ci vulnerability report format.
48 lines (45 loc) • 1.39 kB
JavaScript
;
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = getDependencies;
var _Util = require("../Util");
var _v = _interopRequireDefault(require("./v1"));
var _v2 = _interopRequireDefault(require("./v2"));
var _v3 = _interopRequireDefault(require("./v3"));
/**
* @typedef DependencyInterface
* @param {{name: string}} package
* @param {string} version
*/
/**
* @param {object|{lockfileVersion: number|undefined}} lockFile
* @returns number
*/
function getLockfileVersion(lockFile) {
if (lockFile.lockfileVersion === undefined) {
return 1;
}
return lockFile.lockfileVersion;
}
/**
*
* @param {object} lockFile Lockfile to process.
* @returns {Promise<Array<DependencyInterface>>} List of dependencies.
*/
async function getDependencies(lockFile) {
const version = getLockfileVersion(lockFile);
await (0, _Util.logger)(_Util.LogLevels.info, `PackageLock version ${version}`);
switch (version) {
case 1:
return (0, _v.default)(lockFile);
case 2:
return (0, _v2.default)(lockFile);
case 3:
return (0, _v3.default)(lockFile);
default:
throw new Error('Invalid lockfile version');
}
}