aws-cdk
Version:
AWS CDK CLI, the command line tool for CDK apps
68 lines • 6.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isCI = void 0;
exports.yargsNegativeAlias = yargsNegativeAlias;
exports.yargsImplies = yargsImplies;
exports.cliVersion = cliVersion;
exports.browserForPlatform = browserForPlatform;
const version_1 = require("../version");
var ci_1 = require("../util/ci");
Object.defineProperty(exports, "isCI", { enumerable: true, get: function () { return ci_1.isCI; } });
/**
* yargs middleware to negate an option if a negative alias is provided
* E.g. `-R` will imply `--rollback=false`
*
* @param optionToNegate - The name of the option to negate, e.g. `rollback`
* @param negativeAlias - The alias that should negate the option, e.g. `R`
* @returns a middleware function that can be passed to yargs
*/
function yargsNegativeAlias(negativeAlias, optionToNegate) {
return (argv) => {
// if R in argv && argv[R]
// then argv[rollback] = false
if (negativeAlias in argv && argv[negativeAlias]) {
argv[optionToNegate] = false;
}
return argv;
};
}
/**
* yargs middleware to switch on other boolean options when a flag is set.
* E.g. `--debug` implies `--debug-app` and `--debug-cli`.
*
* @param flag - The camelCase name of the flag that implies the others, e.g. `debug`
* @param impliedOptions - The camelCase names of the options to switch on, e.g. `['debugApp', 'debugCli']`
* @returns a middleware function that can be passed to yargs
*/
function yargsImplies(flag, impliedOptions) {
return (argv) => {
if (argv[flag]) {
for (const implied of impliedOptions) {
argv[implied] = true;
}
}
return argv;
};
}
/**
* Returns the current version of the CLI
* @returns the current version of the CLI
*/
function cliVersion() {
return (0, version_1.versionWithBuild)();
}
/**
* Returns the default browser command for the current platform
* @returns the default browser command for the current platform
*/
function browserForPlatform() {
switch (process.platform) {
case 'darwin':
return 'open %u';
case 'win32':
return 'start %u';
default:
return 'xdg-open %u';
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFyZ3MtaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInlhcmdzLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsZ0RBWUM7QUFVRCxvQ0FTQztBQU1ELGdDQUVDO0FBTUQsZ0RBU0M7QUFsRUQsd0NBQThDO0FBRTlDLGlDQUFrQztBQUF6QiwwRkFBQSxJQUFJLE9BQUE7QUFFYjs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQ2hDLGFBQWdCLEVBQ2hCLGNBQWlCO0lBRWpCLE9BQU8sQ0FBQyxJQUFPLEVBQUUsRUFBRTtRQUNqQiwwQkFBMEI7UUFDMUIsOEJBQThCO1FBQzlCLElBQUksYUFBYSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNoRCxJQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLElBQVksRUFBRSxjQUF3QjtJQUNqRSxPQUFPLENBQUMsSUFBeUIsRUFBRSxFQUFFO1FBQ25DLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDZixLQUFLLE1BQU0sT0FBTyxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsVUFBVTtJQUN4QixPQUFPLElBQUEsMEJBQWdCLEdBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0Isa0JBQWtCO0lBQ2hDLFFBQVEsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sU0FBUyxDQUFDO1FBQ25CLEtBQUssT0FBTztZQUNWLE9BQU8sVUFBVSxDQUFDO1FBQ3BCO1lBQ0UsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2ZXJzaW9uV2l0aEJ1aWxkIH0gZnJvbSAnLi4vdmVyc2lvbic7XG5cbmV4cG9ydCB7IGlzQ0kgfSBmcm9tICcuLi91dGlsL2NpJztcblxuLyoqXG4gKiB5YXJncyBtaWRkbGV3YXJlIHRvIG5lZ2F0ZSBhbiBvcHRpb24gaWYgYSBuZWdhdGl2ZSBhbGlhcyBpcyBwcm92aWRlZFxuICogRS5nLiBgLVJgIHdpbGwgaW1wbHkgYC0tcm9sbGJhY2s9ZmFsc2VgXG4gKlxuICogQHBhcmFtIG9wdGlvblRvTmVnYXRlIC0gVGhlIG5hbWUgb2YgdGhlIG9wdGlvbiB0byBuZWdhdGUsIGUuZy4gYHJvbGxiYWNrYFxuICogQHBhcmFtIG5lZ2F0aXZlQWxpYXMgLSBUaGUgYWxpYXMgdGhhdCBzaG91bGQgbmVnYXRlIHRoZSBvcHRpb24sIGUuZy4gYFJgXG4gKiBAcmV0dXJucyBhIG1pZGRsZXdhcmUgZnVuY3Rpb24gdGhhdCBjYW4gYmUgcGFzc2VkIHRvIHlhcmdzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB5YXJnc05lZ2F0aXZlQWxpYXM8VCBleHRlbmRzIHsgW3ggaW4gUyB8IExdOiBib29sZWFuIHwgdW5kZWZpbmVkIH0sIFMgZXh0ZW5kcyBzdHJpbmcsIEwgZXh0ZW5kcyBzdHJpbmc+KFxuICBuZWdhdGl2ZUFsaWFzOiBTLFxuICBvcHRpb25Ub05lZ2F0ZTogTCxcbik6IChhcmd2OiBUKSA9PiBUIHtcbiAgcmV0dXJuIChhcmd2OiBUKSA9PiB7XG4gICAgLy8gaWYgUiBpbiBhcmd2ICYmIGFyZ3ZbUl1cbiAgICAvLyB0aGVuIGFyZ3Zbcm9sbGJhY2tdID0gZmFsc2VcbiAgICBpZiAobmVnYXRpdmVBbGlhcyBpbiBhcmd2ICYmIGFyZ3ZbbmVnYXRpdmVBbGlhc10pIHtcbiAgICAgIChhcmd2IGFzIGFueSlbb3B0aW9uVG9OZWdhdGVdID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBhcmd2O1xuICB9O1xufVxuXG4vKipcbiAqIHlhcmdzIG1pZGRsZXdhcmUgdG8gc3dpdGNoIG9uIG90aGVyIGJvb2xlYW4gb3B0aW9ucyB3aGVuIGEgZmxhZyBpcyBzZXQuXG4gKiBFLmcuIGAtLWRlYnVnYCBpbXBsaWVzIGAtLWRlYnVnLWFwcGAgYW5kIGAtLWRlYnVnLWNsaWAuXG4gKlxuICogQHBhcmFtIGZsYWcgLSBUaGUgY2FtZWxDYXNlIG5hbWUgb2YgdGhlIGZsYWcgdGhhdCBpbXBsaWVzIHRoZSBvdGhlcnMsIGUuZy4gYGRlYnVnYFxuICogQHBhcmFtIGltcGxpZWRPcHRpb25zIC0gVGhlIGNhbWVsQ2FzZSBuYW1lcyBvZiB0aGUgb3B0aW9ucyB0byBzd2l0Y2ggb24sIGUuZy4gYFsnZGVidWdBcHAnLCAnZGVidWdDbGknXWBcbiAqIEByZXR1cm5zIGEgbWlkZGxld2FyZSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwYXNzZWQgdG8geWFyZ3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHlhcmdzSW1wbGllcyhmbGFnOiBzdHJpbmcsIGltcGxpZWRPcHRpb25zOiBzdHJpbmdbXSk6IChhcmd2OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgcmV0dXJuIChhcmd2OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiB7XG4gICAgaWYgKGFyZ3ZbZmxhZ10pIHtcbiAgICAgIGZvciAoY29uc3QgaW1wbGllZCBvZiBpbXBsaWVkT3B0aW9ucykge1xuICAgICAgICBhcmd2W2ltcGxpZWRdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFyZ3Y7XG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBDTElcbiAqIEByZXR1cm5zIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIENMSVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xpVmVyc2lvbigpOiBzdHJpbmcge1xuICByZXR1cm4gdmVyc2lvbldpdGhCdWlsZCgpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGRlZmF1bHQgYnJvd3NlciBjb21tYW5kIGZvciB0aGUgY3VycmVudCBwbGF0Zm9ybVxuICogQHJldHVybnMgdGhlIGRlZmF1bHQgYnJvd3NlciBjb21tYW5kIGZvciB0aGUgY3VycmVudCBwbGF0Zm9ybVxuICovXG5leHBvcnQgZnVuY3Rpb24gYnJvd3NlckZvclBsYXRmb3JtKCk6IHN0cmluZyB7XG4gIHN3aXRjaCAocHJvY2Vzcy5wbGF0Zm9ybSkge1xuICAgIGNhc2UgJ2Rhcndpbic6XG4gICAgICByZXR1cm4gJ29wZW4gJXUnO1xuICAgIGNhc2UgJ3dpbjMyJzpcbiAgICAgIHJldHVybiAnc3RhcnQgJXUnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ3hkZy1vcGVuICV1JztcbiAgfVxufVxuIl19