Skip to content
Snippets Groups Projects
Commit b6df78ae authored by Cédric Moreau's avatar Cédric Moreau
Browse files

[enh] The module API now allows to add CLI options

parent 6c0c915b
Branches
Tags
No related merge requests found
...@@ -768,6 +768,7 @@ function service(callback, nologs) { ...@@ -768,6 +768,7 @@ function service(callback, nologs) {
cbArgs.length--; cbArgs.length--;
cbArgs[cbArgs.length++] = server; cbArgs[cbArgs.length++] = server;
cbArgs[cbArgs.length++] = server.conf; cbArgs[cbArgs.length++] = server.conf;
cbArgs[cbArgs.length++] = program;
onService && onService(server); onService && onService(server);
return callback.apply(that, cbArgs); return callback.apply(that, cbArgs);
} catch (e) { } catch (e) {
...@@ -796,6 +797,11 @@ module.exports.addCommand = (command, requirements, promiseCallback) => { ...@@ -796,6 +797,11 @@ module.exports.addCommand = (command, requirements, promiseCallback) => {
.action(subCommand(service(promiseCallback))); .action(subCommand(service(promiseCallback)));
}; };
module.exports.addOption = (optFormat, optDesc, optParser) => {
program
.option(optFormat, optDesc, optParser);
};
function needsToBeLaunchedByScript() { function needsToBeLaunchedByScript() {
logger.error('This command must not be launched directly, using duniter.sh script'); logger.error('This command must not be launched directly, using duniter.sh script');
return Promise.resolve(); return Promise.resolve();
......
...@@ -62,6 +62,9 @@ module.exports.statics = { ...@@ -62,6 +62,9 @@ module.exports.statics = {
const stack = { const stack = {
registerDependency: (requiredObject) => { registerDependency: (requiredObject) => {
for (const opt of (requiredObject.duniter.cliOptions || [])) {
cli.addOption(opt.value, opt.desc, opt.parser);
}
for (const command of (requiredObject.duniter.cli || [])) { for (const command of (requiredObject.duniter.cli || [])) {
cli.addCommand({ name: command.name, desc: command.desc }, command.requires, command.promiseCallback); cli.addCommand({ name: command.name, desc: command.desc }, command.requires, command.promiseCallback);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment