@relative-ci/agent
Version:
Send bundle stats and CI build information to RelativeCI
53 lines (50 loc) • 2.11 kB
JavaScript
import envCi from 'env-ci';
import { debug } from './debug.js';
import { maskObjectProperties } from './mask-object-property.js';
import { getSlug } from './get-slug.js';
function getEnvVarValue(envVars, envVarName) {
const name = envVarName;
if (!envVars[name]) {
return undefined;
}
return envVars[name];
}
/**
* Load environment variables - fallback to env-ci environment variables
*/
function getEnvVars() {
// CI environment variables
const ciEnvVars = envCi();
debug('CI environment variables', ciEnvVars);
// RelativeCI environment variables
const customEnvVars = {
key: process.env.RELATIVE_CI_KEY,
endpoint: process.env.RELATIVE_CI_ENDPOINT,
service: process.env.RELATIVE_CI_SERVICE,
slug: process.env.RELATIVE_CI_SLUG,
branch: process.env.RELATIVE_CI_BRANCH,
pr: process.env.RELATIVE_CI_PR,
build: process.env.RELATIVE_CI_BUILD,
buildUrl: process.env.RELATIVE_CI_BUILD_URL,
commit: process.env.RELATIVE_CI_COMMIT,
commitMessage: process.env.RELATIVE_CI_COMMIT_MESSAGE,
};
debug('RELATIVE_CI environment variables', maskObjectProperties(customEnvVars, ['key']));
const resolvedEnvVars = {
isCi: ciEnvVars.isCi,
key: customEnvVars.key,
endpoint: customEnvVars.endpoint,
service: customEnvVars.service || getEnvVarValue(ciEnvVars, 'service'),
slug: customEnvVars.slug || getSlug(ciEnvVars),
branch: customEnvVars.branch || getEnvVarValue(ciEnvVars, 'prBranch') || getEnvVarValue(ciEnvVars, 'branch'),
pr: customEnvVars.pr || getEnvVarValue(ciEnvVars, 'pr'),
build: customEnvVars.build || getEnvVarValue(ciEnvVars, 'build'),
buildUrl: customEnvVars.buildUrl || getEnvVarValue(ciEnvVars, 'buildUrl'),
commit: customEnvVars.commit || ciEnvVars.commit,
commitMessage: customEnvVars.commitMessage,
};
debug('Environment variables', maskObjectProperties(resolvedEnvVars, ['key']));
return resolvedEnvVars;
}
export { getEnvVars };
//# sourceMappingURL=get-env-vars.js.map