UNPKG

projen

Version:

CDK for software projects

41 lines 4.63 kB
"use strict"; // Small helpers shared by the release builtin task entrypoints // (`resolve-tag`, `decide-bump-type`, `apply-bump`). Object.defineProperty(exports, "__esModule", { value: true }); exports.runBuiltin = runBuiltin; exports.requireEnv = requireEnv; exports.intEnv = intEnv; /** * Runs a builtin's async body, exiting non-zero on failure. Prints the error's * stack when available, otherwise its message/string form - dax parse errors * are not `Error` instances and have no `.stack`, so a naive `console.log(e.stack)` * would print a bare "undefined". */ function runBuiltin(body) { body().catch((e) => { const err = e; console.error(err?.stack ?? err?.message ?? String(e)); process.exit(1); }); } /** Returns a required env var, throwing a clear error when it is missing. */ function requireEnv(name) { const value = process.env[name]; if (!value) { throw new Error(`${name} is required`); } return value; } /** Parses an optional integer env var, throwing when it is set but not a number. */ function intEnv(name) { const raw = process.env[name]; if (raw == null || raw === "") { return undefined; } const value = parseInt(raw, 10); if (Number.isNaN(value)) { throw new Error(`${name} must be a number: ${raw}`); } return value; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1lbnYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC90YXNrLWVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0RBQStEO0FBQy9ELHFEQUFxRDs7QUFRckQsZ0NBTUM7QUFHRCxnQ0FNQztBQUdELHdCQVVDO0FBbENEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLElBQXlCO0lBQ2xELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFO1FBQzFCLE1BQU0sR0FBRyxHQUFHLENBQXlDLENBQUM7UUFDdEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLEdBQUcsRUFBRSxPQUFPLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCw2RUFBNkU7QUFDN0UsU0FBZ0IsVUFBVSxDQUFDLElBQVk7SUFDckMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxjQUFjLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsb0ZBQW9GO0FBQ3BGLFNBQWdCLE1BQU0sQ0FBQyxJQUFZO0lBQ2pDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUM5QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxzQkFBc0IsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU21hbGwgaGVscGVycyBzaGFyZWQgYnkgdGhlIHJlbGVhc2UgYnVpbHRpbiB0YXNrIGVudHJ5cG9pbnRzXG4vLyAoYHJlc29sdmUtdGFnYCwgYGRlY2lkZS1idW1wLXR5cGVgLCBgYXBwbHktYnVtcGApLlxuXG4vKipcbiAqIFJ1bnMgYSBidWlsdGluJ3MgYXN5bmMgYm9keSwgZXhpdGluZyBub24temVybyBvbiBmYWlsdXJlLiBQcmludHMgdGhlIGVycm9yJ3NcbiAqIHN0YWNrIHdoZW4gYXZhaWxhYmxlLCBvdGhlcndpc2UgaXRzIG1lc3NhZ2Uvc3RyaW5nIGZvcm0gLSBkYXggcGFyc2UgZXJyb3JzXG4gKiBhcmUgbm90IGBFcnJvcmAgaW5zdGFuY2VzIGFuZCBoYXZlIG5vIGAuc3RhY2tgLCBzbyBhIG5haXZlIGBjb25zb2xlLmxvZyhlLnN0YWNrKWBcbiAqIHdvdWxkIHByaW50IGEgYmFyZSBcInVuZGVmaW5lZFwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcnVuQnVpbHRpbihib2R5OiAoKSA9PiBQcm9taXNlPHZvaWQ+KTogdm9pZCB7XG4gIGJvZHkoKS5jYXRjaCgoZTogdW5rbm93bikgPT4ge1xuICAgIGNvbnN0IGVyciA9IGUgYXMgeyBzdGFjaz86IHN0cmluZzsgbWVzc2FnZT86IHN0cmluZyB9O1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyPy5zdGFjayA/PyBlcnI/Lm1lc3NhZ2UgPz8gU3RyaW5nKGUpKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH0pO1xufVxuXG4vKiogUmV0dXJucyBhIHJlcXVpcmVkIGVudiB2YXIsIHRocm93aW5nIGEgY2xlYXIgZXJyb3Igd2hlbiBpdCBpcyBtaXNzaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVFbnYobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdmFsdWUgPSBwcm9jZXNzLmVudltuYW1lXTtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lfSBpcyByZXF1aXJlZGApO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLyoqIFBhcnNlcyBhbiBvcHRpb25hbCBpbnRlZ2VyIGVudiB2YXIsIHRocm93aW5nIHdoZW4gaXQgaXMgc2V0IGJ1dCBub3QgYSBudW1iZXIuICovXG5leHBvcnQgZnVuY3Rpb24gaW50RW52KG5hbWU6IHN0cmluZyk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHJhdyA9IHByb2Nlc3MuZW52W25hbWVdO1xuICBpZiAocmF3ID09IG51bGwgfHwgcmF3ID09PSBcIlwiKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCB2YWx1ZSA9IHBhcnNlSW50KHJhdywgMTApO1xuICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lfSBtdXN0IGJlIGEgbnVtYmVyOiAke3Jhd31gKTtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59XG4iXX0=