@auttam/easycli
Version:
A quick and easy way of creating cli for your npm package.
50 lines (49 loc) • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateStore = exports.SettingStore = void 0;
const reflection_1 = require("./utility/reflection");
var _programEvents = ['onInvalidCommand', 'onExit', 'onProgramOption'];
var _noCommandMethods = [];
var _defaultCommand = 'defaultCommand';
exports.SettingStore = {
mainMethod: 'main',
rejectionHandler: (reason, promise) => { if (exports.SettingStore.useColors) {
console.error("\u001b[31;1m" + reason + "\u001b[0m");
}
else {
console.error(reason);
} },
processArgvStartIndex: 2,
minimistOptions: null,
enableCommands: false,
enableHelpCommand: true,
enableVersionOption: true,
enableHelpOption: true,
showHelpOnNoCommand: true,
showHelpOnInvalidOptions: true,
prioritizeProgramOptions: false,
showHelpOnInvalidParams: true,
useColors: true,
set defaultCommandMethod(name) {
if (!name) {
name = 'defaultCommand';
}
_defaultCommand = name;
},
get defaultCommandMethod() {
return _defaultCommand;
},
set nonCmdMethods(list) {
if (!Array.isArray(list) || !list.length)
return;
_noCommandMethods = list;
},
get nonCmdMethods() {
return _noCommandMethods.concat(_programEvents);
}
};
Object.seal(exports.SettingStore);
function updateStore(settings) {
reflection_1.mergeTypeSafe(exports.SettingStore, settings, { copyFunctions: true, throwTypeError: true, copyEmpty: true });
}
exports.updateStore = updateStore;