UNPKG

snyk-mvn-plugin

Version:
76 lines 2.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseDependency = parseDependency; exports.buildDependencyString = buildDependencyString; const UNKNOWN = 'unknown'; const unknownDependency = { groupId: UNKNOWN, artifactId: UNKNOWN, type: UNKNOWN, version: UNKNOWN, }; function parseDependency(value) { if (typeof value !== 'string') return unknownDependency; const parts = value.split(':'); switch (parts.length) { // using classifier and scope // "com.example:my-app:jar:jdk8:1.2.3:compile" case 6: { return { groupId: getPart(parts, 0), artifactId: getPart(parts, 1), type: getPart(parts, 2), classifier: getPart(parts, 3), version: getPart(parts, 4), scope: getPart(parts, 5), }; } // using scope // "com.example:my-app:jar:1.2.3:compile" case 5: { return { groupId: getPart(parts, 0), artifactId: getPart(parts, 1), type: getPart(parts, 2), version: getPart(parts, 3), scope: getPart(parts, 4), }; } // everything else // "com.example:my-app:jar:1.2.3" case 4: { return { groupId: getPart(parts, 0), artifactId: getPart(parts, 1), type: getPart(parts, 2), version: getPart(parts, 3), }; } default: { return unknownDependency; } } } function buildDependencyString(dependency) { const parts = [ formatMavenPart(dependency.groupId), formatMavenPart(dependency.artifactId), formatMavenPart(dependency.type), formatMavenPart(dependency.version), ]; if (dependency.scope) { parts.push(formatMavenPart(dependency.scope)); } if (dependency.classifier) { parts.splice(3, 0, formatMavenPart(dependency.classifier)); } return parts.join(':'); } function getPart(parts, index) { return parts[index] || UNKNOWN; } function formatMavenPart(part) { return part == UNKNOWN ? '' : part; } //# sourceMappingURL=dependency.js.map