@@ -27,7 +27,7 @@ import {
2727 demandCommandFailureMessage ,
2828} from './utilities/command' ;
2929import { jsonHelpUsage } from './utilities/json-help' ;
30- import { normalizeOptionsMiddleware } from './utilities/normalize-options-middleware' ;
30+ import { createNormalizeOptionsMiddleware } from './utilities/normalize-options-middleware' ;
3131
3232const yargsParser = Parser as unknown as typeof Parser . default ;
3333
@@ -62,11 +62,14 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis
6262 }
6363
6464 const root = workspace ?. basePath ?? process . cwd ( ) ;
65+ const localYargs = yargs ( args ) ;
66+
6567 const context : CommandContext = {
6668 globalConfiguration,
6769 workspace,
6870 logger,
6971 currentDirectory : process . cwd ( ) ,
72+ yargsInstance : localYargs ,
7073 root,
7174 packageManager : new PackageManagerUtils ( { globalConfiguration, workspace, root } ) ,
7275 args : {
@@ -80,15 +83,14 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis
8083 } ,
8184 } ;
8285
83- let localYargs = yargs ( args ) ;
8486 for ( const CommandModule of await getCommandsToRegister ( positional [ 0 ] ) ) {
85- localYargs = addCommandModuleToYargs ( localYargs , CommandModule , context ) ;
87+ addCommandModuleToYargs ( CommandModule , context ) ;
8688 }
8789
8890 if ( jsonHelp ) {
8991 // eslint-disable-next-line @typescript-eslint/no-explicit-any
9092 const usageInstance = ( localYargs as any ) . getInternalMethods ( ) . getUsageInstance ( ) ;
91- usageInstance . help = ( ) => jsonHelpUsage ( ) ;
93+ usageInstance . help = ( ) => jsonHelpUsage ( localYargs ) ;
9294 }
9395
9496 // Add default command to support version option when no subcommand is specified
@@ -127,7 +129,7 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis
127129 . epilogue ( 'For more information, see https://angular.dev/cli/.\n' )
128130 . demandCommand ( 1 , demandCommandFailureMessage )
129131 . recommendCommands ( )
130- . middleware ( normalizeOptionsMiddleware )
132+ . middleware ( createNormalizeOptionsMiddleware ( localYargs ) )
131133 . version ( false )
132134 . showHelpOnFail ( false )
133135 . strict ( )
0 commit comments