You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
varbackendOption=newOption<bool>("--backend","-b"){Description="Run only backend build"};
14
+
varfrontendOption=newOption<bool>("--frontend","-f"){Description="Run only frontend build"};
15
+
varsolutionNameOption=newOption<string?>("<solution-name>","--solution-name","-s"){Description="The name of the self-contained system to build (only used for backend builds)"};
15
16
16
-
AddOption(newOption<bool?>(["--backend","-b"],"Run only backend build"));
17
-
AddOption(newOption<bool?>(["--frontend","-f"],"Run only frontend build"));
18
-
AddOption(newOption<string?>(["<solution-name>","--solution-name","-s"],"The name of the self-contained system to build (only used for backend builds)"));
Copy file name to clipboardExpand all lines: developer-cli/Commands/CheckCommand.cs
+26-14Lines changed: 26 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
usingSystem.CommandLine;
2
-
usingSystem.CommandLine.NamingConventionBinder;
2
+
usingSystem.CommandLine.Invocation;
3
3
usingSystem.Diagnostics;
4
4
usingPlatformPlatform.DeveloperCli.Installation;
5
5
usingPlatformPlatform.DeveloperCli.Utilities;
@@ -11,13 +11,25 @@ public class CheckCommand : Command
11
11
{
12
12
publicCheckCommand():base("check","Performs all checks including build, test, format, and inspect for backend and frontend code")
13
13
{
14
-
AddOption(newOption<bool?>(["--backend","-b"],"Run only backend checks"));
15
-
AddOption(newOption<bool?>(["--frontend","-f"],"Run only frontend checks"));
16
-
AddOption(newOption<string?>(["<solution-name>","--solution-name","-s"],"The name of the self-contained system to check (only used for backend checks)"));
17
-
AddOption(newOption<bool>(["--skip-format"],()=>false,"Skip the backend format step which can be time consuming"));
18
-
AddOption(newOption<bool>(["--skip-inspect"],()=>false,"Skip the backend inspection step which can be time consuming"));
14
+
varbackendOption=newOption<bool>("--backend","-b"){Description="Run only backend checks"};
15
+
varfrontendOption=newOption<bool>("--frontend","-f"){Description="Run only frontend checks"};
16
+
varsolutionNameOption=newOption<string?>("<solution-name>","--solution-name","-s"){Description="The name of the self-contained system to check (only used for backend checks)"};
17
+
varskipFormatOption=newOption<bool>("--skip-format"){Description="Skip the backend format step which can be time consuming"};
18
+
varskipInspectOption=newOption<bool>("--skip-inspect"){Description="Skip the backend inspection step which can be time consuming"};
Copy file name to clipboardExpand all lines: developer-cli/Commands/End2EndCommand.cs
+65-25Lines changed: 65 additions & 25 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,4 @@
1
1
usingSystem.CommandLine;
2
-
usingSystem.CommandLine.NamingConventionBinder;
3
2
usingSystem.Diagnostics;
4
3
usingPlatformPlatform.DeveloperCli.Installation;
5
4
usingPlatformPlatform.DeveloperCli.Utilities;
@@ -16,30 +15,71 @@ public class End2EndCommand : Command
16
15
17
16
publicEnd2EndCommand():base("e2e","Run end-to-end tests using Playwright")
18
17
{
19
-
// Add argument for search term or test file patterns
20
-
AddArgument(newArgument<string[]>("search-terms",()=>[],"Search terms for test filtering (e.g., 'user management', '@smoke', 'smoke', 'comprehensive', 'user-management-flows.spec.ts')"));
21
-
22
-
// All options in alphabetical order
23
-
AddOption(newOption<string>(["--browser","-b"],()=>"all","Browser to use for tests (chromium, firefox, webkit, safari, all)"));
24
-
AddOption(newOption<bool>(["--debug"],()=>false,"Start with Playwright Inspector for debugging (automatically enables headed mode)"));
25
-
AddOption(newOption<bool>(["--debug-timing"],()=>false,"Show step timing output with color coding during test execution"));
26
-
AddOption(newOption<bool>(["--headed"],()=>false,"Show browser UI while running tests (automatically enables sequential execution)"));
27
-
AddOption(newOption<bool>(["--include-slow"],()=>false,"Include tests marked as @slow"));
28
-
AddOption(newOption<bool>(["--last-failed"],()=>false,"Only re-run the failures"));
29
-
AddOption(newOption<bool>(["--only-changed"],()=>false,"Only run test files that have uncommitted changes"));
30
-
AddOption(newOption<bool>(["--quiet"],()=>false,"Suppress all output including terminal output and automatic report opening"));
31
-
AddOption(newOption<int?>(["--repeat-each"],"Number of times to repeat each test"));
32
-
AddOption(newOption<bool>(["--delete-artifacts"],()=>false,"Delete all test artifacts and exit"));
33
-
AddOption(newOption<int?>(["--retries"],"Maximum retry count for flaky tests, zero for no retries"));
34
-
AddOption(newOption<string?>(["<self-contained-system>","--self-contained-system","-s"],$"The name of the self-contained system to test ({string.Join(", ",AvailableSelfContainedSystems)}, etc.)"));
35
-
AddOption(newOption<bool>(["--show-report"],()=>false,"Always show HTML report after test run"));
36
-
AddOption(newOption<bool>(["--slow-mo"],()=>false,"Run tests in slow motion (automatically enables headed mode)"));
37
-
AddOption(newOption<bool>(["--smoke"],()=>false,"Run only smoke tests"));
38
-
AddOption(newOption<bool>(["--stop-on-first-failure","-x"],()=>false,"Stop after the first failure"));
39
-
AddOption(newOption<bool>(["--ui"],()=>false,"Run tests in interactive UI mode with time-travel debugging"));
40
-
AddOption(newOption<int?>(["--workers","-w"],"Number of worker processes to use for running tests"));
41
-
42
-
Handler=CommandHandler.Create(Execute);
18
+
varsearchTermsArgument=newArgument<string[]>("search-terms"){Description="Search terms for test filtering (e.g., 'user management', '@smoke', 'smoke', 'comprehensive', 'user-management-flows.spec.ts')",DefaultValueFactory= _ =>[]};
19
+
varbrowserOption=newOption<string>("--browser","-b"){Description="Browser to use for tests (chromium, firefox, webkit, safari, all)",DefaultValueFactory= _ =>"all"};
20
+
vardebugOption=newOption<bool>("--debug"){Description="Start with Playwright Inspector for debugging (automatically enables headed mode)"};
21
+
vardebugTimingOption=newOption<bool>("--debug-timing"){Description="Show step timing output with color coding during test execution"};
22
+
varheadedOption=newOption<bool>("--headed"){Description="Show browser UI while running tests (automatically enables sequential execution)"};
23
+
varincludeSlowOption=newOption<bool>("--include-slow"){Description="Include tests marked as @slow"};
24
+
varlastFailedOption=newOption<bool>("--last-failed"){Description="Only re-run the failures"};
25
+
varonlyChangedOption=newOption<bool>("--only-changed"){Description="Only run test files that have uncommitted changes"};
26
+
varquietOption=newOption<bool>("--quiet"){Description="Suppress all output including terminal output and automatic report opening"};
27
+
varrepeatEachOption=newOption<int?>("--repeat-each"){Description="Number of times to repeat each test"};
28
+
vardeleteArtifactsOption=newOption<bool>("--delete-artifacts"){Description="Delete all test artifacts and exit"};
29
+
varretriesOption=newOption<int?>("--retries"){Description="Maximum retry count for flaky tests, zero for no retries"};
30
+
varselfContainedSystemOption=newOption<string?>("<self-contained-system>","--self-contained-system","-s"){Description=$"The name of the self-contained system to test ({string.Join(", ",AvailableSelfContainedSystems)}, etc.)"};
31
+
varshowReportOption=newOption<bool>("--show-report"){Description="Always show HTML report after test run"};
32
+
varslowMoOption=newOption<bool>("--slow-mo"){Description="Run tests in slow motion (automatically enables headed mode)"};
33
+
varsmokeOption=newOption<bool>("--smoke"){Description="Run only smoke tests"};
34
+
varstopOnFirstFailureOption=newOption<bool>("--stop-on-first-failure","-x"){Description="Stop after the first failure"};
35
+
varuiOption=newOption<bool>("--ui"){Description="Run tests in interactive UI mode with time-travel debugging"};
36
+
varworkersOption=newOption<int?>("--workers","-w"){Description="Number of worker processes to use for running tests"};
37
+
38
+
Arguments.Add(searchTermsArgument);
39
+
Options.Add(browserOption);
40
+
Options.Add(debugOption);
41
+
Options.Add(debugTimingOption);
42
+
Options.Add(headedOption);
43
+
Options.Add(includeSlowOption);
44
+
Options.Add(lastFailedOption);
45
+
Options.Add(onlyChangedOption);
46
+
Options.Add(quietOption);
47
+
Options.Add(repeatEachOption);
48
+
Options.Add(deleteArtifactsOption);
49
+
Options.Add(retriesOption);
50
+
Options.Add(selfContainedSystemOption);
51
+
Options.Add(showReportOption);
52
+
Options.Add(slowMoOption);
53
+
Options.Add(smokeOption);
54
+
Options.Add(stopOnFirstFailureOption);
55
+
Options.Add(uiOption);
56
+
Options.Add(workersOption);
57
+
58
+
// SetHandler only supports up to 8 parameters, so we use SetAction for this complex command
Copy file name to clipboardExpand all lines: developer-cli/Commands/FormatCommand.cs
+13-6Lines changed: 13 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,4 @@
1
1
usingSystem.CommandLine;
2
-
usingSystem.CommandLine.NamingConventionBinder;
3
2
usingSystem.Diagnostics;
4
3
usingSystem.Text.Json;
5
4
usingSystem.Xml.Linq;
@@ -13,11 +12,19 @@ public class FormatCommand : Command
13
12
{
14
13
publicFormatCommand():base("format","Formats code to match code styling rules")
15
14
{
16
-
AddOption(newOption<bool?>(["--backend","-b"],"Only format backend code"));
17
-
AddOption(newOption<bool?>(["--frontend","-f"],"Only format frontend code"));
18
-
AddOption(newOption<string?>(["<solution-name>","--solution-name","-s"],"The name of the self-contained system to format (only used for backend code)"));
varbackendOption=newOption<bool>("--backend","-b"){Description="Only format backend code"};
16
+
varfrontendOption=newOption<bool>("--frontend","-f"){Description="Only format frontend code"};
17
+
varsolutionNameOption=newOption<string?>("<solution-name>","--solution-name","-s"){Description="The name of the self-contained system to format (only used for backend code)"};
Copy file name to clipboardExpand all lines: developer-cli/Commands/InspectCommand.cs
+15-6Lines changed: 15 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,4 @@
1
1
usingSystem.CommandLine;
2
-
usingSystem.CommandLine.NamingConventionBinder;
3
2
usingSystem.Diagnostics;
4
3
usingPlatformPlatform.DeveloperCli.Installation;
5
4
usingPlatformPlatform.DeveloperCli.Utilities;
@@ -11,12 +10,22 @@ public class InspectCommand : Command
11
10
{
12
11
publicInspectCommand():base("inspect","Run code inspections for frontend and backend code")
13
12
{
14
-
AddOption(newOption<bool?>(["--backend","-b"],"Run only backend inspections"));
15
-
AddOption(newOption<bool?>(["--frontend","-f"],"Run only frontend inspections"));
16
-
AddOption(newOption<string?>(["<solution-name>","--solution-name","-s"],"The name of the self-contained system to inspect (only used for backend inspections)"));
17
-
AddOption(newOption<bool>(["--no-build"],()=>false,"Skip building and restoring the solution before running inspections"));
13
+
varbackendOption=newOption<bool>("--backend","-b"){Description="Run only backend inspections"};
14
+
varfrontendOption=newOption<bool>("--frontend","-f"){Description="Run only frontend inspections"};
15
+
varsolutionNameOption=newOption<string?>("<solution-name>","--solution-name","-s"){Description="The name of the self-contained system to inspect (only used for backend inspections)"};
16
+
varnoBuildOption=newOption<bool>("--no-build"){Description="Skip building and restoring the solution before running inspections"};
0 commit comments