@halospv3/hce.shared-config
Version:
Automate commit message quality, changelogs, and CI/CD releases. Exports a semantic-release shareable configuration deserialized from this package's '.releaserc.yml'. Shared resources for .NET projects are also distributed with this package.
42 lines (39 loc) • 2 kB
JavaScript
;
const envUtils = require('../envUtils.cjs');
const _envUtils$getEnv = envUtils.getEnv(),
CI_API_V4_URL = _envUtils$getEnv.CI_API_V4_URL,
CI_PROJECT_ID = _envUtils$getEnv.CI_PROJECT_ID;
const nameof = {
CI_API_V4_URL: 'CI_API_V4_URL',
CI_PROJECT_ID: 'CI_PROJECT_ID'
};
const GitLabTokenEnvVar = 'CI_JOB_TOKEN';
const nugetGitLabUrlBase = CI_API_V4_URL;
const nugetGitLabUrl = CI_API_V4_URL && CI_PROJECT_ID ? `${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/nuget/index.json` : undefined;
/**
* Get a {@link NuGetRegistryInfo} for pushing to your GitLab Packages NuGet registry.
* @export
* @param {string} [tokenEnvVar=GitLabTokenEnvVar] The name of environment variable storing the GitLab Packages NuGet registry API key. Defaults to {@link GitLabTokenEnvVar}.
* @param {string} [url=nugetGitLabUrl] The url of the GitLab Packages NuGet registry. Defaults to {@link nugetGitLabUrl}.
* @returns {(NuGetRegistryInfo | undefined)} a {@link NuGetRegistryInfo} object if {@link tokenEnvVar} and {@link url} are defined. Else, undefined.
*/
function getGitlabNugetRegistryPair(tokenEnvVar = GitLabTokenEnvVar, url = nugetGitLabUrl) {
// yes, this is stupid. No, I won't change it.
if (!envUtils.getEnvVarValue(tokenEnvVar)) {
console.error(new Error(`The environment variable ${tokenEnvVar} was specified as the source of the token to push a NuGet package to GitLab, but the environment variable does not exist.`));
return undefined;
}
if (url) {
return {
tokenEnvVar,
url
};
}
console.error(new Error(`The environment variables ${nameof.CI_API_V4_URL} or ${nameof.CI_PROJECT_ID} do not exist and a custom GitLab Packages NuGet registry URL was not provided.`));
return undefined;
}
exports.GitLabTokenEnvVar = GitLabTokenEnvVar;
exports.getGitlabNugetRegistryPair = getGitlabNugetRegistryPair;
exports.nugetGitLabUrl = nugetGitLabUrl;
exports.nugetGitLabUrlBase = nugetGitLabUrlBase;
//# sourceMappingURL=dotnetGLPR.cjs.map