cypress-contract-stubs
Version:
Cypress plugin for Spring Contract Stubs
65 lines • 2.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.nexusDownloadUrl = exports.nexusUrl = exports.nexus3Url = void 0;
const stubs_config_1 = require("../stubs/stubs-config");
/**
* Nexus Repository Manager 3
* https://help.sonatype.com/repomanager3/rest-and-integration-api/search-api
*
* @param config Remote stub configuration
*/
function nexus3Url(config) {
const { groupId, artifactId, version, classifier } = (0, stubs_config_1.stubCoordinate)(config.id);
const endpoint = `${stubs_config_1.configVars.endpointNexus3Context}/${stubs_config_1.configVars.endpointNexus3}`;
const url = new URL(endpoint, config.server || stubs_config_1.configVars.server);
url.searchParams.append('repository', config.repository || stubs_config_1.configVars.repository);
url.searchParams.append('group', groupId);
url.searchParams.append('name', artifactId);
url.searchParams.append('maven.classifier', classifier);
url.searchParams.append('maven.extension', 'jar');
if (version === '+' || version.toLowerCase() === 'latest') {
url.searchParams.append('sort', 'version');
}
else {
url.searchParams.append('version', version);
}
return url;
}
exports.nexus3Url = nexus3Url;
/**
* Nexus Repository Manager 2
* https://repository.sonatype.org/nexus-restlet1x-plugin/default/docs/path__artifact_maven_content.html
*
* @param config Remote stub configuration
*/
function nexusUrl(config) {
const { groupId, artifactId, version, classifier } = (0, stubs_config_1.stubCoordinate)(config.id);
const endpoint = `${stubs_config_1.configVars.endpointNexusContext}/${stubs_config_1.configVars.endpointNexus}`;
const url = new URL(endpoint, config.server || stubs_config_1.configVars.server);
url.searchParams.append('r', config.repository || stubs_config_1.configVars.repository);
url.searchParams.append('g', groupId);
url.searchParams.append('a', artifactId);
url.searchParams.append('c', classifier);
url.searchParams.append('p', 'jar');
if (version === '+' || version.toLowerCase() === 'latest') {
url.searchParams.append('v', 'LATEST');
}
else {
url.searchParams.append('v', version);
}
return url;
}
exports.nexusUrl = nexusUrl;
/**
* Generate download url
*
* @param path Repository path
* @param config Remote stub configuration
*/
function nexusDownloadUrl(path, config) {
const repository = config.repository || stubs_config_1.configVars.repository;
const repositories = `${stubs_config_1.configVars.endpointNexusContext}/${stubs_config_1.configVars.endpointNexusRepositories}`;
return new URL(`${repositories}/${repository}/content/${path}`, config.server || stubs_config_1.configVars.server);
}
exports.nexusDownloadUrl = nexusDownloadUrl;
//# sourceMappingURL=nexus-url.js.map