From 706ea01362de3ba126039580c2109225a8d1a084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me> Date: Wed, 21 Feb 2024 21:12:44 +0100 Subject: [PATCH] Commander => Add interactive mode --- NodeApp/src/commander/CommanderApp.ts | 5 +++++ NodeApp/src/config/Config.ts | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/NodeApp/src/commander/CommanderApp.ts b/NodeApp/src/commander/CommanderApp.ts index 03814c8..f32b3d7 100644 --- a/NodeApp/src/commander/CommanderApp.ts +++ b/NodeApp/src/commander/CommanderApp.ts @@ -26,6 +26,7 @@ class CommanderApp { sortSubcommands : true }) .option('-H, --host <string>', 'override the Dojo API endpoint', ClientsSharedConfig.apiURL) + .option('-I, --interactive', 'show interactive interface when available', Config.interactiveMode) .addOption(new Option('--debug').hideHelp()) .hook('preAction', () => { this.warnDevelopmentVersion(); @@ -37,6 +38,10 @@ class CommanderApp { ClientsSharedConfig.apiURL = this.program.opts().host; }); + this.program.on('option:interactive', () => { + Config.interactiveMode = this.program.opts().interactive; + }); + this.program.on('option:debug', () => { SharedConfig.debug = true; }); diff --git a/NodeApp/src/config/Config.ts b/NodeApp/src/config/Config.ts index b0d2df8..375f0cf 100644 --- a/NodeApp/src/config/Config.ts +++ b/NodeApp/src/config/Config.ts @@ -30,6 +30,8 @@ class Config { neededFiles: Array<string> }; + public interactiveMode: boolean; + constructor() { this.localConfig = { folder : getAppDataPath('DojoCLI'), @@ -62,6 +64,8 @@ class Config { this.exercise = { neededFiles: JSON.parse(process.env.EXERCISE_NEEDED_FILES || '[]') }; + + this.interactiveMode = process.env.INTERACTIVE_MODE === 'true'; } } -- GitLab