snyk-gradle-plugin
Version:
Snyk CLI Gradle plugin
42 lines • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMavenPackageInfo = getMavenPackageInfo;
const packageurl_js_1 = require("packageurl-js");
const _1 = require(".");
const coordinate_1 = require("./coordinate");
const PACKAGE_SEARCH_TYPE = 'maven';
const PACKAGE_SEARCH_VERSION = '2022-09-21~beta';
async function getMavenPackageInfo(sha1, depCoords, snykHttpClient) {
var _a;
const { res, body } = await snykHttpClient({
method: 'get',
// base URL defaults to SNYK_API_REST_URL="https://api.snyk.io/rest"
path: `/packages`,
qs: {
version: PACKAGE_SEARCH_VERSION,
package_type: PACKAGE_SEARCH_TYPE,
package_sha1: sha1,
package_namespace: depCoords.groupId,
package_name: depCoords.artifactId,
package_version: depCoords.version,
},
});
if ((res === null || res === void 0 ? void 0 : res.statusCode) >= 400 || !body) {
(0, _1.debugLog)(`Failed to resolve ${JSON.stringify(depCoords)} using sha1 '${sha1}.`);
// use input coordinates if sha1 cannot be resolved for whatever reason
return (0, coordinate_1.coordsToString)(depCoords);
}
try {
const purlString = (_a = body === null || body === void 0 ? void 0 : body.data[0]) === null || _a === void 0 ? void 0 : _a.id;
const pkg = packageurl_js_1.PackageURL.fromString(purlString);
const { namespace, name, version } = pkg;
depCoords.groupId = namespace;
depCoords.artifactId = name;
depCoords.version = version;
}
catch {
(0, _1.debugLog)(`Failed to parse purl components for ${JSON.stringify(depCoords)} using sha1 '${sha1}.`);
}
return (0, coordinate_1.coordsToString)(depCoords);
}
//# sourceMappingURL=search.js.map