snyk-nodejs-lockfile-parser
Version:
Generate a dep tree given a lockfile
18 lines • 1.07 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.rewriteAliasesInNpmLockV1 = void 0;
const cloneDeep = require("lodash.clonedeep");
const rewriteAliasesInNpmLockV1 = (lockfileContent) => {
const jsonLockfile = JSON.parse(lockfileContent);
for (const pkg in jsonLockfile.dependencies) {
if (jsonLockfile.dependencies[pkg].version.startsWith('npm:')) {
const aliasName = jsonLockfile.dependencies[pkg].version.substring(4, jsonLockfile.dependencies[pkg].version.lastIndexOf('@'));
jsonLockfile.dependencies[aliasName] = cloneDeep(jsonLockfile.dependencies[pkg]);
jsonLockfile.dependencies[aliasName].version = jsonLockfile.dependencies[pkg].version.substring(jsonLockfile.dependencies[pkg].version.lastIndexOf('@') + 1, jsonLockfile.dependencies[pkg].version.length);
delete jsonLockfile.dependencies[pkg];
}
}
return JSON.stringify(jsonLockfile);
};
exports.rewriteAliasesInNpmLockV1 = rewriteAliasesInNpmLockV1;
//# sourceMappingURL=npm-lock-v1.js.map
;