@relative-ci/agent
Version:
Send bundle stats and CI build information to RelativeCI
61 lines (58 loc) • 2.09 kB
JavaScript
import { AGENT_MISSING_KEY_ERROR, AGENT_MISSING_SLUG_ERROR, AGENT_MISSING_COMMIT_ERROR, AGENT_MISSING_BRANCH_ERROR } from '../locales/en.js';
import { DEFAULT_ENDPOINT } from '../constants.js';
import { getEnvVars } from './get-env-vars.js';
import { debug } from './debug.js';
import { maskObjectProperties } from './mask-object-property.js';
import { getCommitMessage } from './get-commit-message.js';
/**
* Normalize ingest params based on:
* 1. pluign arguments
* 2. computed values
* 3. env-ci fallback
*/
function normalizeParams(pluginArgs, config) {
const envVars = getEnvVars();
const params = {
slug: pluginArgs.slug || envVars.slug,
branch: pluginArgs.branch || envVars.branch,
pr: pluginArgs.pr || envVars.pr,
commit: pluginArgs.commit || envVars.commit,
build: envVars.build,
buildUrl: envVars.buildUrl,
service: envVars.service,
key: envVars.key,
endpoint: envVars.endpoint || DEFAULT_ENDPOINT,
agentVersion: "4.3.0",
/**
* Get commit message using git if includeCommitMessage is set and
* the commitMessage plugin argument is missing
*/
commitMessage: pluginArgs.commitMessage
|| envVars.commitMessage
|| (config.includeCommitMessage ? getCommitMessage() : undefined),
};
debug('normalized parameters', maskObjectProperties(params, ['key']));
// Validate required parameters
if (!params.key) {
throw new Error(AGENT_MISSING_KEY_ERROR);
}
if (!params.slug) {
throw new Error(AGENT_MISSING_SLUG_ERROR);
}
if (!params.commit) {
throw new Error(AGENT_MISSING_COMMIT_ERROR);
}
if (!params.branch) {
throw new Error(AGENT_MISSING_BRANCH_ERROR);
}
// Explicitly pass required props to allow ts to infer correctly
return {
...params,
key: params.key,
slug: params.slug,
branch: params.branch,
commit: params.commit,
};
}
export { normalizeParams };
//# sourceMappingURL=normalize-params.js.map