snyk-poetry-lockfile-parser
Version:
Generate a dep graph given poetry.lock and pyproject.toml files
25 lines • 977 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.packageSpecsFrom = packageSpecsFrom;
const toml = require("@iarna/toml");
const error_catalog_nodejs_public_1 = require("@snyk/error-catalog-nodejs-public");
function packageSpecsFrom(lockFileContents) {
let lockFile;
try {
lockFile = toml.parse(lockFileContents);
}
catch (error) {
throw new error_catalog_nodejs_public_1.OpenSourceEcosystems.UnparseableLockFileError('The poetry.lock file is not parsable.', { error });
}
if (!lockFile.package) {
throw new error_catalog_nodejs_public_1.OpenSourceEcosystems.UnparseableLockFileError('The poetry.lock file contains no package stanza.');
}
return lockFile.package.map((pkg) => {
return {
name: pkg.name,
version: pkg.version,
dependencies: Object.keys(pkg.dependencies || []),
};
});
}
//# sourceMappingURL=lock-file-parser.js.map