@keymanapp/kmc
Version:
Keyman Developer compiler command line tools
40 lines • 1.47 kB
JavaScript
import { ALL_COMPILER_LOG_FORMATS, ALL_COMPILER_LOG_LEVELS } from "@keymanapp/developer-utils";
import { Option } from "commander";
;
/**
* These options map to CompilerBaseOptions
*/
export class BaseOptions {
static addLogLevel(program) {
return program.addOption(new Option('-l, --log-level <logLevel>', 'Log level').choices(ALL_COMPILER_LOG_LEVELS).default('info'));
}
static addLogFormat(program) {
return program.addOption(new Option('--log-format <logFormat>', 'Log format').choices(ALL_COMPILER_LOG_FORMATS).default('formatted'));
}
static addColor(program) {
return program
.option('--color', 'Force colorization for log messages')
.option('--no-color', 'No colorization for log messages; if both omitted, detects from console');
}
static addAll(program) {
return [
this.addLogLevel,
this.addLogFormat,
this.addColor,
].reduce((p, f) => f(p), program);
}
}
export class BuildBaseOptions extends BaseOptions {
static addOutFile(program) {
return program.option('-o, --out-file <filename>', 'Override the default path and filename for the output file');
}
static addAll(program) {
return [
this.addLogLevel,
this.addLogFormat,
this.addColor,
this.addOutFile,
].reduce((p, f) => f(p), program);
}
}
//# sourceMappingURL=baseOptions.js.map