UNPKG

snyk-go-parser

Version:

Generate a dep tree given a collection of manifests

42 lines 2.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseGoModVersionDirective = exports.parseGoModRelativeManifestReplaces = exports.parseGoModGraph = exports.parseGoVendorConfig = exports.parseGoPkgConfig = void 0; exports.buildGoPkgDepTree = buildGoPkgDepTree; exports.buildGoVendorDepTree = buildGoVendorDepTree; const parsers_1 = require("./parsers"); Object.defineProperty(exports, "parseGoPkgConfig", { enumerable: true, get: function () { return parsers_1.parseGoPkgConfig; } }); Object.defineProperty(exports, "parseGoVendorConfig", { enumerable: true, get: function () { return parsers_1.parseGoVendorConfig; } }); Object.defineProperty(exports, "parseGoModGraph", { enumerable: true, get: function () { return parsers_1.parseGoModGraph; } }); Object.defineProperty(exports, "parseGoModRelativeManifestReplaces", { enumerable: true, get: function () { return parsers_1.parseGoModRelativeManifestReplaces; } }); Object.defineProperty(exports, "parseGoModVersionDirective", { enumerable: true, get: function () { return parsers_1.parseGoModVersionDirective; } }); const types_1 = require("./types"); // TODO(kyegupov): make all build* functions sync // TODO(kyegupov): pin down the types for "options" // Build dep tree from the manifest/lock files only. // This does not scan the source code for imports, so it's not accurate; // in particular, it cannot build the proper dependency graph (only a flat list). async function buildGoPkgDepTree(manifestFileContents, lockFileContents, options) { return buildGoDepTree(await (0, parsers_1.parseGoPkgConfig)(manifestFileContents, lockFileContents)); } // Build dep tree from the manifest/lock files only. // This does not scan the source code for imports, so it's not accurate; // in particular, it cannot build the proper dependency graph (only a flat list). async function buildGoVendorDepTree(manifestFileContents) { return buildGoDepTree(await (0, parsers_1.parseGoVendorConfig)(manifestFileContents)); } function buildGoDepTree(goProjectConfig) { const depTree = { name: goProjectConfig.packageName || 'root', version: types_1.DEFAULT_INITIAL_VERSION, dependencies: {}, }; const dependencies = depTree.dependencies; for (const dep of Object.keys(goProjectConfig.lockedVersions)) { dependencies[dep] = { name: dep, version: goProjectConfig.lockedVersions[dep].version, }; } return depTree; } //# sourceMappingURL=index.js.map