UNPKG

snyk-poetry-lockfile-parser

Version:

Generate a dep graph given poetry.lock and pyproject.toml files

26 lines 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createManifestFileParser = void 0; const toml = require("@iarna/toml"); const error_catalog_nodejs_public_1 = require("@snyk/error-catalog-nodejs-public"); const v1Parser_1 = require("./parsers/v1Parser"); const v2Parser_1 = require("./parsers/v2Parser"); const createManifestFileParser = (manifestFileContents, includeDevDependencies) => { var _a; let manifest; try { manifest = toml.parse(manifestFileContents); } catch (error) { throw new error_catalog_nodejs_public_1.OpenSourceEcosystems.UnparseableManifestError('The pyproject.toml file is not parsable.', { error }); } if (manifest.project) { return new v2Parser_1.V2Parser(manifest, includeDevDependencies); } if ((_a = manifest.tool) === null || _a === void 0 ? void 0 : _a.poetry) { return new v1Parser_1.V1Parser(manifest, includeDevDependencies); } throw new error_catalog_nodejs_public_1.OpenSourceEcosystems.UnparseableManifestError('The pyproject.toml is not a valid poetry file.'); }; exports.createManifestFileParser = createManifestFileParser; //# sourceMappingURL=utils.js.map