From b49fcbcd419dab0c30d3524112bddcdc2bbc0d9c Mon Sep 17 00:00:00 2001 From: itsspriyansh Date: Thu, 4 Jul 2024 00:13:52 +0530 Subject: [PATCH 1/6] show help for invalid subcommand --- src/commands/android/subcommands/index.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/commands/android/subcommands/index.ts b/src/commands/android/subcommands/index.ts index 91fa629..4c24013 100644 --- a/src/commands/android/subcommands/index.ts +++ b/src/commands/android/subcommands/index.ts @@ -2,11 +2,12 @@ import colors from 'ansi-colors'; import * as dotenv from 'dotenv'; import path from 'path'; -import {checkJavaInstallation, getSdkRootFromEnv} from '../utils/common'; +import {checkJavaInstallation, getSdkRootFromEnv, getSubcommandHelp} from '../utils/common'; import {connect} from './connect'; import {getPlatformName} from '../../../utils'; import Logger from '../../../logger'; import {Options, Platform} from '../interfaces'; +import {AVAILABLE_SUBCOMMANDS} from '../constants'; export class AndroidSubcommand { sdkRoot: string; @@ -26,6 +27,15 @@ export class AndroidSubcommand { } async run(): Promise { + if (!Object.keys(AVAILABLE_SUBCOMMANDS).includes(this.subcommand)) { + Logger.log(`${colors.red(`unknown subcommand passed: ${this.subcommand}`)}\n`); + + const help = getSubcommandHelp(); + Logger.log(help); + + return false; + } + this.loadEnvFromDotEnv(); const javaInstalled = checkJavaInstallation(this.rootDir); From e4967daa60ca9e04a73c7248c173f9396c898e73 Mon Sep 17 00:00:00 2001 From: itsspriyansh Date: Sat, 6 Jul 2024 10:04:16 +0530 Subject: [PATCH 2/6] minor refactor --- src/commands/android/subcommands/index.ts | 1 + src/commands/android/utils/common.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/commands/android/subcommands/index.ts b/src/commands/android/subcommands/index.ts index 4c24013..d1bda00 100644 --- a/src/commands/android/subcommands/index.ts +++ b/src/commands/android/subcommands/index.ts @@ -32,6 +32,7 @@ export class AndroidSubcommand { const help = getSubcommandHelp(); Logger.log(help); + Logger.log(`For complete Android help, run: ${colors.cyan('npx @nightwatch/mobile-helper android --help')}`); return false; } diff --git a/src/commands/android/utils/common.ts b/src/commands/android/utils/common.ts index 6e4e492..a5695ff 100644 --- a/src/commands/android/utils/common.ts +++ b/src/commands/android/utils/common.ts @@ -212,7 +212,7 @@ export const checkJavaInstallation = (cwd: string): boolean => { export const getSubcommandHelp = (): string => { let output = ''; - output += `Usage: ${colors.cyan('npx @nightwatch/mobile-helper android [subcmd] [subcmd-options]')}\n`; + output += `Usage: ${colors.cyan('npx @nightwatch/mobile-helper android subcmd [subcmd-options]')}\n`; output += ' The following subcommands are used for different operations on Android SDK:\n\n'; output += `${colors.yellow('Subcommands and Subcommand-Options:')}\n`; From 8a9871382304f7a0ff71c5dc0b35bb7abb1a831e Mon Sep 17 00:00:00 2001 From: itsspriyansh Date: Mon, 19 Aug 2024 12:07:50 +0530 Subject: [PATCH 3/6] minor refactor --- src/commands/android/subcommands/index.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/commands/android/subcommands/index.ts b/src/commands/android/subcommands/index.ts index 39c5136..58815ff 100644 --- a/src/commands/android/subcommands/index.ts +++ b/src/commands/android/subcommands/index.ts @@ -31,9 +31,8 @@ export class AndroidSubcommand { if (!Object.keys(AVAILABLE_SUBCOMMANDS).includes(this.subcommand)) { Logger.log(`${colors.red(`unknown subcommand passed: ${this.subcommand}`)}\n`); - const help = getSubcommandHelp(); - Logger.log(help); - Logger.log(`For complete Android help, run: ${colors.cyan('npx @nightwatch/mobile-helper android --help')}`); + Logger.log(getSubcommandHelp()); + Logger.log(`For complete Android help, run: ${colors.cyan('npx @nightwatch/mobile-helper android --help')}\n`); return false; } From f555610436238fe40b6fee7be2589ae0f2f6fb9e Mon Sep 17 00:00:00 2001 From: itsspriyansh Date: Mon, 19 Aug 2024 12:10:40 +0530 Subject: [PATCH 4/6] minor fix --- src/commands/android/subcommands/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/commands/android/subcommands/index.ts b/src/commands/android/subcommands/index.ts index 58815ff..cbdf783 100644 --- a/src/commands/android/subcommands/index.ts +++ b/src/commands/android/subcommands/index.ts @@ -28,8 +28,10 @@ export class AndroidSubcommand { } async run(): Promise { - if (!Object.keys(AVAILABLE_SUBCOMMANDS).includes(this.subcommand)) { - Logger.log(`${colors.red(`unknown subcommand passed: ${this.subcommand}`)}\n`); + if (!Object.keys(AVAILABLE_SUBCOMMANDS).includes(this.subcommand) || this.options.help) { + if (!this.options.help) { + Logger.log(`${colors.red(`unknown subcommand passed: ${this.subcommand}`)}\n`); + } Logger.log(getSubcommandHelp()); Logger.log(`For complete Android help, run: ${colors.cyan('npx @nightwatch/mobile-helper android --help')}\n`); From e71e8b2242bc0bc4d8b39e46c35e7aedb8707e4b Mon Sep 17 00:00:00 2001 From: Priyansh Garg Date: Thu, 22 Aug 2024 00:47:30 +0530 Subject: [PATCH 5/6] Fix help for subcommands. --- src/commands/android/subcommands/index.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/commands/android/subcommands/index.ts b/src/commands/android/subcommands/index.ts index cbdf783..cdcc05d 100644 --- a/src/commands/android/subcommands/index.ts +++ b/src/commands/android/subcommands/index.ts @@ -8,6 +8,7 @@ import {AVAILABLE_SUBCOMMANDS} from '../constants'; import {Options, Platform} from '../interfaces'; import {checkJavaInstallation, getSdkRootFromEnv, getSubcommandHelp} from '../utils/common'; import {connect} from './connect'; +import {showHelp} from './help'; import {install} from './install'; export class AndroidSubcommand { @@ -28,17 +29,21 @@ export class AndroidSubcommand { } async run(): Promise { - if (!Object.keys(AVAILABLE_SUBCOMMANDS).includes(this.subcommand) || this.options.help) { - if (!this.options.help) { - Logger.log(`${colors.red(`unknown subcommand passed: ${this.subcommand}`)}\n`); - } - + if (!Object.keys(AVAILABLE_SUBCOMMANDS).includes(this.subcommand)) { + Logger.log(`${colors.red(`unknown subcommand passed: ${this.subcommand}`)}\n`); Logger.log(getSubcommandHelp()); + Logger.log(`For individual subcommand help, run: ${colors.cyan('npx @nightwatch/mobile-helper android SUBCOMMAND --help')}`); Logger.log(`For complete Android help, run: ${colors.cyan('npx @nightwatch/mobile-helper android --help')}\n`); return false; } + if (this.options.help) { + showHelp(this.subcommand); + + return true; + } + this.loadEnvFromDotEnv(); const javaInstalled = checkJavaInstallation(this.rootDir); From a837f673bc428cdd8623772e0c90f1c6355e1df8 Mon Sep 17 00:00:00 2001 From: Priyansh Garg Date: Thu, 22 Aug 2024 00:51:02 +0530 Subject: [PATCH 6/6] Modify subcommands help. --- src/commands/android/utils/common.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/commands/android/utils/common.ts b/src/commands/android/utils/common.ts index 0409766..0ae2b28 100644 --- a/src/commands/android/utils/common.ts +++ b/src/commands/android/utils/common.ts @@ -216,9 +216,9 @@ export const checkJavaInstallation = (cwd: string): boolean => { export const getSubcommandHelp = (): string => { let output = ''; - output += `Usage: ${colors.cyan('npx @nightwatch/mobile-helper android subcmd [subcmd-options]')}\n`; - output += ' The following subcommands are used for different operations on Android SDK:\n\n'; - output += `${colors.yellow('Subcommands and Subcommand-Options:')}\n`; + output += `Usage: ${colors.cyan('npx @nightwatch/mobile-helper android SUBCOMMAND [flag] [configs]')}\n`; + output += ' Perform common Android SDK operations using subcommands.\n\n'; + output += `${colors.yellow('Subcommands (with available flags and configs):')}\n`; Object.keys(AVAILABLE_SUBCOMMANDS).forEach(subcommand => { const subcmd = AVAILABLE_SUBCOMMANDS[subcommand];