@@ -6,6 +6,8 @@ import type { HardhatRuntimeEnvironment } from "@nomicfoundation/hardhat-core/ty
6
6
import type {
7
7
NewTaskDefinition ,
8
8
NewTaskDefinitionBuilder ,
9
+ Task ,
10
+ TaskArguments ,
9
11
} from "@nomicfoundation/hardhat-core/types/tasks" ;
10
12
11
13
import assert from "node:assert/strict" ;
@@ -27,7 +29,8 @@ import {
27
29
main ,
28
30
parseGlobalOptions ,
29
31
parseHardhatSpecialArguments ,
30
- parseTaskAndArguments ,
32
+ parseTask ,
33
+ parseTaskArguments ,
31
34
} from "../../../src/internal/cli/main.js" ;
32
35
import { resetHardhatRuntimeEnvironmentSingleton } from "../../../src/internal/hre-singleton.js" ;
33
36
import { getHardhatVersion } from "../../../src/internal/utils/package.js" ;
@@ -465,6 +468,33 @@ For global options help run: hardhat --help`;
465
468
} ) ;
466
469
467
470
describe ( "parseTaskAndArguments" , function ( ) {
471
+ // This is not an ideal way to test these two functions now that they're split apart,
472
+ // but I don't think it's worth the time to refactor all of these tests right now since the logic is the same.
473
+ function parseTaskAndArguments (
474
+ cliArguments : string [ ] ,
475
+ usedCliArguments : boolean [ ] ,
476
+ hreLocal : HardhatRuntimeEnvironment ,
477
+ ) :
478
+ | {
479
+ task : Task ;
480
+ taskArguments : TaskArguments ;
481
+ }
482
+ | string [ ] {
483
+ const parsedTask = parseTask ( cliArguments , usedCliArguments , hreLocal ) ;
484
+ if ( Array . isArray ( parsedTask ) ) {
485
+ return parsedTask ;
486
+ }
487
+
488
+ return {
489
+ task : parsedTask ,
490
+ taskArguments : parseTaskArguments (
491
+ cliArguments ,
492
+ usedCliArguments ,
493
+ parsedTask ,
494
+ ) ,
495
+ } ;
496
+ }
497
+
468
498
let hre : HardhatRuntimeEnvironment ;
469
499
let tasks : NewTaskDefinition [ ] ;
470
500
let subtasks : NewTaskDefinition [ ] ;
0 commit comments