UNPKG

cypress-contract-stubs

Version:

Cypress plugin for Spring Contract Stubs

65 lines 2.86 kB
"use strict"; 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