From c571fd7b7bacd858d85455fcd256a62db955437b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me> Date: Thu, 18 Jan 2024 01:49:14 +0100 Subject: [PATCH] Add debug mode --- NodeApp/src/commander/CommanderApp.ts | 7 ++++++- .../assignment/subcommands/AssignmentCheckCommand.ts | 5 +++-- NodeApp/src/helpers/Dojo/ExerciseRunHelper.ts | 5 +++-- NodeApp/src/shared | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/NodeApp/src/commander/CommanderApp.ts b/NodeApp/src/commander/CommanderApp.ts index 4f422bc..03814c8 100644 --- a/NodeApp/src/commander/CommanderApp.ts +++ b/NodeApp/src/commander/CommanderApp.ts @@ -1,4 +1,4 @@ -import { Command } from 'commander'; +import { Command, Option } from 'commander'; import SessionCommand from './session/SessionCommand'; import ClientsSharedConfig from '../sharedByClients/config/ClientsSharedConfig'; import AssignmentCommand from './assignment/AssignmentCommand'; @@ -26,6 +26,7 @@ class CommanderApp { sortSubcommands : true }) .option('-H, --host <string>', 'override the Dojo API endpoint', ClientsSharedConfig.apiURL) + .addOption(new Option('--debug').hideHelp()) .hook('preAction', () => { this.warnDevelopmentVersion(); }).hook('postAction', () => { @@ -36,6 +37,10 @@ class CommanderApp { ClientsSharedConfig.apiURL = this.program.opts().host; }); + this.program.on('option:debug', () => { + SharedConfig.debug = true; + }); + this.registerCommands(); this.program.parse(); diff --git a/NodeApp/src/commander/assignment/subcommands/AssignmentCheckCommand.ts b/NodeApp/src/commander/assignment/subcommands/AssignmentCheckCommand.ts index f8ca9db..b818c73 100644 --- a/NodeApp/src/commander/assignment/subcommands/AssignmentCheckCommand.ts +++ b/NodeApp/src/commander/assignment/subcommands/AssignmentCheckCommand.ts @@ -5,6 +5,7 @@ import chalk from 'chalk'; import AssignmentValidator from '../../../sharedByClients/helpers/Dojo/AssignmentValidator'; import ClientsSharedAssignmentHelper from '../../../sharedByClients/helpers/Dojo/ClientsSharedAssignmentHelper'; import { Option } from 'commander'; +import SharedConfig from '../../../shared/config/SharedConfig'; class AssignmentCheckCommand extends CommanderCommand { @@ -21,7 +22,7 @@ class AssignmentCheckCommand extends CommanderCommand { } protected async commandAction(options: { path: string, verbose: boolean, superVerbose: boolean }): Promise<void> { - const verbose: boolean = options.verbose || options.superVerbose; + const verbose: boolean = options.verbose || options.superVerbose || SharedConfig.debug; const localExercisePath: string = options.path ?? Config.folders.defaultLocalExercise; @@ -43,7 +44,7 @@ class AssignmentCheckCommand extends CommanderCommand { buildPhase = false; } - if ( displayable && (options.superVerbose || buildPhase === false) ) { + if ( SharedConfig.debug || (displayable && (options.superVerbose || buildPhase === false)) ) { console.log(line); } } diff --git a/NodeApp/src/helpers/Dojo/ExerciseRunHelper.ts b/NodeApp/src/helpers/Dojo/ExerciseRunHelper.ts index 90cbd48..2db4ba2 100644 --- a/NodeApp/src/helpers/Dojo/ExerciseRunHelper.ts +++ b/NodeApp/src/helpers/Dojo/ExerciseRunHelper.ts @@ -13,6 +13,7 @@ import ClientsSharedExerciseHelper from '../../sharedByClients/helpers/ import os from 'os'; import util from 'util'; import { exec } from 'child_process'; +import SharedConfig from '../../shared/config/SharedConfig'; const execAsync = util.promisify(exec); @@ -37,7 +38,7 @@ class ExerciseRunHelper { } async run(options: { path: string, verbose: boolean, superVerbose: boolean }): Promise<void> { - const verbose: boolean = options.verbose || options.superVerbose; + const verbose: boolean = options.verbose || options.superVerbose || SharedConfig.debug; const localExercisePath: string = options.path ?? Config.folders.defaultLocalExercise; @@ -150,7 +151,7 @@ class ExerciseRunHelper { buildPhase = false; } - if ( displayable && (options.superVerbose || buildPhase === false) ) { + if ( SharedConfig.debug || (displayable && (options.superVerbose || buildPhase === false)) ) { console.log(line); } } diff --git a/NodeApp/src/shared b/NodeApp/src/shared index 36004df..f370f8b 160000 --- a/NodeApp/src/shared +++ b/NodeApp/src/shared @@ -1 +1 @@ -Subproject commit 36004dfe8f24a27e4896620118598f9e74df3677 +Subproject commit f370f8b0a6e7b059d12f1980cdd21e3f2daa2f04 -- GitLab