pr-sizewise
Version:
A CLI tool that measures and reports pull request sizes for GitHub and GitLab, helping teams maintain manageable code changes.
50 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnvValue = getEnvValue;
exports.getRequiredValues = getRequiredValues;
exports.validateRequiredValues = validateRequiredValues;
const providers_1 = require("../providers");
/**
* Get environment variable value from multiple possible keys
*/
function getEnvValue(keys) {
for (const key of keys) {
const value = process.env[key];
if (value) {
return value;
}
}
return undefined;
}
/**
* Get required values from options or environment variables
*/
function getRequiredValues(options, platform) {
const mapping = providers_1.ENV_MAPPINGS[platform];
// Get PR/MR ID from options or environment
const prId = options.prId ?? options.mrId ?? getEnvValue(mapping.pullRequestId);
// Get other required values
const projectId = options.projectId ?? getEnvValue(mapping.projectId);
const token = options.token ?? getEnvValue(mapping.token);
const host = options.host ?? getEnvValue(mapping.host);
return {
prId,
projectId,
token,
host,
};
}
/**
* Validate required values and return any errors
*/
function validateRequiredValues(values) {
const errors = [];
if (!values.token)
errors.push('API token is required');
if (!values.host)
errors.push('Host URL is required');
if (!values.projectId)
errors.push('Project ID is required');
return errors;
}
//# sourceMappingURL=env.js.map