@vforsh/argus 0.1.11 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/argus.js +5881 -5892
  3. package/dist/bin.js +4 -47
  4. package/dist/bin.js.map +1 -1
  5. package/dist/cli/program.d.ts.map +1 -1
  6. package/dist/cli/program.js +2 -1
  7. package/dist/cli/program.js.map +1 -1
  8. package/dist/cli/register/domCommandBuilder.d.ts +22 -0
  9. package/dist/cli/register/domCommandBuilder.d.ts.map +1 -0
  10. package/dist/cli/register/domCommandBuilder.js +33 -0
  11. package/dist/cli/register/domCommandBuilder.js.map +1 -0
  12. package/dist/cli/register/index.d.ts +4 -0
  13. package/dist/cli/register/index.d.ts.map +1 -0
  14. package/dist/cli/register/index.js +45 -0
  15. package/dist/cli/register/index.js.map +1 -0
  16. package/dist/cli/register/registerDom.d.ts.map +1 -1
  17. package/dist/cli/register/registerDom.js +138 -121
  18. package/dist/cli/register/registerDom.js.map +1 -1
  19. package/dist/commands/chrome/browser.d.ts +5 -0
  20. package/dist/commands/chrome/browser.d.ts.map +1 -0
  21. package/dist/commands/chrome/browser.js +71 -0
  22. package/dist/commands/chrome/browser.js.map +1 -0
  23. package/dist/commands/chrome/processes.d.ts +24 -0
  24. package/dist/commands/chrome/processes.d.ts.map +1 -0
  25. package/dist/commands/chrome/processes.js +115 -0
  26. package/dist/commands/chrome/processes.js.map +1 -0
  27. package/dist/commands/chrome/shared.d.ts +31 -0
  28. package/dist/commands/chrome/shared.d.ts.map +1 -0
  29. package/dist/commands/chrome/shared.js +48 -0
  30. package/dist/commands/chrome/shared.js.map +1 -0
  31. package/dist/commands/chrome/targets.d.ts +26 -0
  32. package/dist/commands/chrome/targets.d.ts.map +1 -0
  33. package/dist/commands/chrome/targets.js +240 -0
  34. package/dist/commands/chrome/targets.js.map +1 -0
  35. package/dist/commands/chrome.d.ts +6 -63
  36. package/dist/commands/chrome.d.ts.map +1 -1
  37. package/dist/commands/chrome.js +3 -511
  38. package/dist/commands/chrome.js.map +1 -1
  39. package/dist/commands/dom/shared.d.ts +12 -0
  40. package/dist/commands/dom/shared.d.ts.map +1 -0
  41. package/dist/commands/dom/shared.js +42 -0
  42. package/dist/commands/dom/shared.js.map +1 -0
  43. package/dist/commands/domAdd.d.ts.map +1 -1
  44. package/dist/commands/domAdd.js +11 -27
  45. package/dist/commands/domAdd.js.map +1 -1
  46. package/dist/commands/domClick.d.ts.map +1 -1
  47. package/dist/commands/domClick.js +14 -40
  48. package/dist/commands/domClick.js.map +1 -1
  49. package/dist/commands/domFill.d.ts.map +1 -1
  50. package/dist/commands/domFill.js +10 -31
  51. package/dist/commands/domFill.js.map +1 -1
  52. package/dist/commands/domFocus.d.ts.map +1 -1
  53. package/dist/commands/domFocus.js +11 -26
  54. package/dist/commands/domFocus.js.map +1 -1
  55. package/dist/commands/domHover.d.ts.map +1 -1
  56. package/dist/commands/domHover.js +11 -26
  57. package/dist/commands/domHover.js.map +1 -1
  58. package/dist/commands/domInfo.d.ts.map +1 -1
  59. package/dist/commands/domInfo.js +10 -25
  60. package/dist/commands/domInfo.js.map +1 -1
  61. package/dist/commands/domModify.d.ts.map +1 -1
  62. package/dist/commands/domModify.js +14 -26
  63. package/dist/commands/domModify.js.map +1 -1
  64. package/dist/commands/domRemove.d.ts.map +1 -1
  65. package/dist/commands/domRemove.js +10 -25
  66. package/dist/commands/domRemove.js.map +1 -1
  67. package/dist/commands/domScroll.d.ts.map +1 -1
  68. package/dist/commands/domScroll.js +7 -33
  69. package/dist/commands/domScroll.js.map +1 -1
  70. package/dist/commands/domScrollTo.d.ts.map +1 -1
  71. package/dist/commands/domScrollTo.js +7 -33
  72. package/dist/commands/domScrollTo.js.map +1 -1
  73. package/dist/commands/domSetFile.d.ts.map +1 -1
  74. package/dist/commands/domSetFile.js +14 -36
  75. package/dist/commands/domSetFile.js.map +1 -1
  76. package/dist/commands/domTree.d.ts.map +1 -1
  77. package/dist/commands/domTree.js +10 -25
  78. package/dist/commands/domTree.js.map +1 -1
  79. package/dist/commands/extension/setup.js +1 -1
  80. package/dist/commands/extension/setup.js.map +1 -1
  81. package/dist/commands/start.d.ts +1 -1
  82. package/dist/commands/start.d.ts.map +1 -1
  83. package/dist/commands/start.js +15 -42
  84. package/dist/commands/start.js.map +1 -1
  85. package/dist/commands/watcherSession.d.ts +29 -0
  86. package/dist/commands/watcherSession.d.ts.map +1 -0
  87. package/dist/commands/watcherSession.js +64 -0
  88. package/dist/commands/watcherSession.js.map +1 -0
  89. package/dist/commands/watcherStart.d.ts +1 -1
  90. package/dist/commands/watcherStart.d.ts.map +1 -1
  91. package/dist/commands/watcherStart.js +15 -40
  92. package/dist/commands/watcherStart.js.map +1 -1
  93. package/dist/config/argusConfig.d.ts.map +1 -1
  94. package/dist/config/argusConfig.js +69 -81
  95. package/dist/config/argusConfig.js.map +1 -1
  96. package/dist/watchers/requestWatcher.d.ts +13 -1
  97. package/dist/watchers/requestWatcher.d.ts.map +1 -1
  98. package/dist/watchers/requestWatcher.js +32 -0
  99. package/dist/watchers/requestWatcher.js.map +1 -1
  100. package/package.json +1 -1
package/dist/bin.js CHANGED
@@ -1,54 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createProgram } from './cli/program.js';
3
- import { registerQuickAccess } from './cli/register/registerQuickAccess.js';
4
- import { registerChrome } from './cli/register/registerChrome.js';
5
- import { registerWatcher } from './cli/register/registerWatcher.js';
6
- import { registerPage } from './cli/register/registerPage.js';
7
- import { registerLogs } from './cli/register/registerLogs.js';
8
- import { registerNet } from './cli/register/registerNet.js';
9
- import { registerAuth } from './cli/register/registerAuth.js';
10
- import { registerEval } from './cli/register/registerEval.js';
11
- import { registerDom } from './cli/register/registerDom.js';
12
- import { registerClick } from './cli/register/registerClick.js';
13
- import { registerKeydown } from './cli/register/registerKeydown.js';
14
- import { registerFill } from './cli/register/registerFill.js';
15
- import { registerHover } from './cli/register/registerHover.js';
16
- import { registerScrollTo } from './cli/register/registerScrollTo.js';
17
- import { registerStorage } from './cli/register/registerStorage.js';
18
- import { registerThrottle } from './cli/register/registerThrottle.js';
19
- import { registerSnapshot } from './cli/register/registerSnapshot.js';
20
- import { registerTrace } from './cli/register/registerTrace.js';
21
- import { registerConfig } from './cli/register/registerConfig.js';
22
- import { registerExtension } from './cli/register/registerExtension.js';
23
- import { registerCode } from './cli/register/registerCode.js';
3
+ import { coreProgramRegistrars } from './cli/register/index.js';
24
4
  import { registerPlugins } from './cli/plugins/registerPlugins.js';
25
5
  const program = createProgram();
26
- // Quick access
27
- registerQuickAccess(program);
28
- // Setup & infrastructure
29
- registerChrome(program);
30
- registerWatcher(program);
31
- registerPage(program);
32
- // Inspect & debug
33
- registerLogs(program);
34
- registerNet(program);
35
- registerAuth(program);
36
- registerEval(program);
37
- registerCode(program);
38
- registerDom(program);
39
- registerClick(program);
40
- registerKeydown(program);
41
- registerFill(program);
42
- registerHover(program);
43
- registerScrollTo(program);
44
- registerStorage(program);
45
- registerThrottle(program);
46
- // Capture
47
- registerSnapshot(program);
48
- registerTrace(program);
49
- // Configuration
50
- registerConfig(program);
51
- registerExtension(program);
6
+ for (const registerProgramPart of coreProgramRegistrars) {
7
+ registerProgramPart(program);
8
+ }
52
9
  await registerPlugins(program);
53
10
  program.parseAsync(process.argv).catch((error) => {
54
11
  console.error(error);
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;AAE/B,eAAe;AACf,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAE5B,yBAAyB;AACzB,cAAc,CAAC,OAAO,CAAC,CAAA;AACvB,eAAe,CAAC,OAAO,CAAC,CAAA;AACxB,YAAY,CAAC,OAAO,CAAC,CAAA;AAErB,kBAAkB;AAClB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,WAAW,CAAC,OAAO,CAAC,CAAA;AACpB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,WAAW,CAAC,OAAO,CAAC,CAAA;AACpB,aAAa,CAAC,OAAO,CAAC,CAAA;AACtB,eAAe,CAAC,OAAO,CAAC,CAAA;AACxB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,aAAa,CAAC,OAAO,CAAC,CAAA;AACtB,gBAAgB,CAAC,OAAO,CAAC,CAAA;AACzB,eAAe,CAAC,OAAO,CAAC,CAAA;AACxB,gBAAgB,CAAC,OAAO,CAAC,CAAA;AAEzB,UAAU;AACV,gBAAgB,CAAC,OAAO,CAAC,CAAA;AACzB,aAAa,CAAC,OAAO,CAAC,CAAA;AAEtB,gBAAgB;AAChB,cAAc,CAAC,OAAO,CAAC,CAAA;AACvB,iBAAiB,CAAC,OAAO,CAAC,CAAA;AAE1B,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;AAE9B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAChD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;AAE/B,KAAK,MAAM,mBAAmB,IAAI,qBAAqB,EAAE,CAAC;IACzD,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;AAE9B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAChD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,wBAAgB,aAAa,IAAI,OAAO,CAoBvC"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,wBAAgB,aAAa,IAAI,OAAO,CAoBvC"}
@@ -1,10 +1,11 @@
1
1
  import { Command } from 'commander';
2
+ import packageJson from '../../package.json' with { type: 'json' };
2
3
  export function createProgram() {
3
4
  const program = new Command();
4
5
  program
5
6
  .name('argus')
6
7
  .description('Argus CLI for local watcher servers')
7
- .version('0.1.11')
8
+ .version(packageJson.version)
8
9
  .configureOutput({
9
10
  outputError: (str, write) => write(str),
10
11
  })
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,UAAU,aAAa;IAC5B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,OAAO;SACL,IAAI,CAAC,OAAO,CAAC;SACb,WAAW,CAAC,qCAAqC,CAAC;SAClD,OAAO,CAAC,QAAQ,CAAC;SACjB,eAAe,CAAC;QAChB,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;KACvC,CAAC;SACD,wBAAwB,CAAC,IAAI,CAAC;SAC9B,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;IAEH,OAAO,OAAO,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAElE,MAAM,UAAU,aAAa;IAC5B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,OAAO;SACL,IAAI,CAAC,OAAO,CAAC;SACb,WAAW,CAAC,qCAAqC,CAAC;SAClD,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;SAC5B,eAAe,CAAC;QAChB,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;KACvC,CAAC;SACD,wBAAwB,CAAC,IAAI,CAAC;SAC9B,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;IAEH,OAAO,OAAO,CAAA;AACf,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { Command } from 'commander';
2
+ type DomSelectorCommandSpec = {
3
+ name: string;
4
+ description: string;
5
+ examples: string[];
6
+ alias?: string;
7
+ allowsAll?: boolean;
8
+ textOption?: {
9
+ flags: string;
10
+ description: string;
11
+ };
12
+ waitOption?: boolean;
13
+ configure?: (command: Command) => void;
14
+ action: (id: string | undefined, options: any) => Promise<void>;
15
+ };
16
+ /**
17
+ * Build DOM subcommands with the shared watcher-id, selector/testid, and output plumbing.
18
+ * Keeping this declarative avoids the usual CLI drift where similar commands slowly diverge.
19
+ */
20
+ export declare const registerDomSelectorCommand: (parent: Command, spec: DomSelectorCommandSpec) => void;
21
+ export {};
22
+ //# sourceMappingURL=domCommandBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domCommandBuilder.d.ts","sourceRoot":"","sources":["../../../src/cli/register/domCommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASxC,KAAK,sBAAsB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,OAAO,EAAE,MAAM,sBAAsB,KAAG,IA6B1F,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { resolveTestId } from '../../commands/resolveTestId.js';
2
+ /**
3
+ * Build DOM subcommands with the shared watcher-id, selector/testid, and output plumbing.
4
+ * Keeping this declarative avoids the usual CLI drift where similar commands slowly diverge.
5
+ */
6
+ export const registerDomSelectorCommand = (parent, spec) => {
7
+ const command = parent.command(spec.name).argument('[id]', 'Watcher id to query').description(spec.description);
8
+ if (spec.alias) {
9
+ command.alias(spec.alias);
10
+ }
11
+ command.option('--selector <css>', 'CSS selector to match element(s)');
12
+ command.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"');
13
+ if (spec.allowsAll !== false) {
14
+ command.option('--all', 'Allow multiple matches (default: error if >1 match)');
15
+ }
16
+ if (spec.textOption) {
17
+ command.option(spec.textOption.flags, spec.textOption.description);
18
+ }
19
+ if (spec.waitOption) {
20
+ command.option('--wait <duration>', 'Wait for selector to appear (e.g. 5s, 500ms)');
21
+ }
22
+ command.option('--json', 'Output JSON for automation');
23
+ spec.configure?.(command);
24
+ command.addHelpText('after', formatExamples(spec.examples));
25
+ command.action(async (id, options) => {
26
+ if (!resolveTestId(options)) {
27
+ return;
28
+ }
29
+ await spec.action(id, options);
30
+ });
31
+ };
32
+ const formatExamples = (examples) => `\nExamples:\n${examples.map((example) => ` $ ${example}`).join('\n')}\n`;
33
+ //# sourceMappingURL=domCommandBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domCommandBuilder.js","sourceRoot":"","sources":["../../../src/cli/register/domCommandBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAuB/D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAe,EAAE,IAA4B,EAAQ,EAAE;IACjG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAE/G,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAA;IACtE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC,CAAA;IAEpF,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAA;IAC/E,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC,CAAA;IACpF,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,CAAC,aAAa,CAAC,OAA4B,CAAC,EAAE,CAAC;YAClD,OAAM;QACP,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAkC,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAU,EAAE,CAAC,gBAAgB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Command } from 'commander';
2
+ export type ProgramRegistrar = (program: Command) => void;
3
+ export declare const coreProgramRegistrars: readonly ProgramRegistrar[];
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/register/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAuBxC,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AAEzD,eAAO,MAAM,qBAAqB,EAAE,SAAS,gBAAgB,EAsB5D,CAAA"}
@@ -0,0 +1,45 @@
1
+ import { registerQuickAccess } from './registerQuickAccess.js';
2
+ import { registerChrome } from './registerChrome.js';
3
+ import { registerWatcher } from './registerWatcher.js';
4
+ import { registerPage } from './registerPage.js';
5
+ import { registerLogs } from './registerLogs.js';
6
+ import { registerNet } from './registerNet.js';
7
+ import { registerAuth } from './registerAuth.js';
8
+ import { registerEval } from './registerEval.js';
9
+ import { registerDom } from './registerDom.js';
10
+ import { registerClick } from './registerClick.js';
11
+ import { registerKeydown } from './registerKeydown.js';
12
+ import { registerFill } from './registerFill.js';
13
+ import { registerHover } from './registerHover.js';
14
+ import { registerScrollTo } from './registerScrollTo.js';
15
+ import { registerStorage } from './registerStorage.js';
16
+ import { registerThrottle } from './registerThrottle.js';
17
+ import { registerSnapshot } from './registerSnapshot.js';
18
+ import { registerTrace } from './registerTrace.js';
19
+ import { registerConfig } from './registerConfig.js';
20
+ import { registerExtension } from './registerExtension.js';
21
+ import { registerCode } from './registerCode.js';
22
+ export const coreProgramRegistrars = [
23
+ registerQuickAccess,
24
+ registerChrome,
25
+ registerWatcher,
26
+ registerPage,
27
+ registerLogs,
28
+ registerNet,
29
+ registerAuth,
30
+ registerEval,
31
+ registerCode,
32
+ registerDom,
33
+ registerClick,
34
+ registerKeydown,
35
+ registerFill,
36
+ registerHover,
37
+ registerScrollTo,
38
+ registerStorage,
39
+ registerThrottle,
40
+ registerSnapshot,
41
+ registerTrace,
42
+ registerConfig,
43
+ registerExtension,
44
+ ];
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/register/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIhD,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IACjE,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,aAAa;IACb,eAAe;IACf,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,iBAAiB;CACjB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerDom.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerDom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAaxC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsMlD"}
1
+ {"version":3,"file":"registerDom.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerDom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAcxC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqMlD"}
@@ -9,73 +9,83 @@ import { runDomScroll } from '../../commands/domScroll.js';
9
9
  import { runDomScrollTo } from '../../commands/domScrollTo.js';
10
10
  import { runDomModifyAttr, runDomModifyClass, runDomModifyStyle, runDomModifyText, runDomModifyHtml } from '../../commands/domModify.js';
11
11
  import { resolveTestId } from '../../commands/resolveTestId.js';
12
+ import { registerDomSelectorCommand } from './domCommandBuilder.js';
12
13
  export function registerDom(program) {
13
14
  const dom = program.command('dom').alias('html').description('Inspect DOM elements in the connected page');
14
- dom.command('tree')
15
- .argument('[id]', 'Watcher id to query')
16
- .description('Fetch a DOM subtree rooted at element(s) matching a CSS selector')
17
- .option('--selector <css>', 'CSS selector to match element(s)')
18
- .option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
19
- .option('--depth <n>', 'Max depth to traverse (default: 2)')
20
- .option('--max-nodes <n>', 'Max total nodes to return (default: 5000)')
21
- .option('--all', 'Allow multiple matches (default: error if >1 match)')
22
- .option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
23
- .option('--json', 'Output JSON for automation')
24
- .addHelpText('after', '\nExamples:\n $ argus dom tree app --selector "body"\n $ argus dom tree app --testid "main-content"\n $ argus dom tree app --selector "div" --all --depth 3\n $ argus dom tree app --selector "#root" --json\n')
25
- .action(async (id, options) => {
26
- if (!resolveTestId(options))
27
- return;
28
- await runDomTree(id, options);
15
+ registerDomSelectorCommand(dom, {
16
+ name: 'tree',
17
+ description: 'Fetch a DOM subtree rooted at element(s) matching a CSS selector',
18
+ examples: [
19
+ 'argus dom tree app --selector "body"',
20
+ 'argus dom tree app --testid "main-content"',
21
+ 'argus dom tree app --selector "div" --all --depth 3',
22
+ 'argus dom tree app --selector "#root" --json',
23
+ ],
24
+ textOption: {
25
+ flags: '--text <string>',
26
+ description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
27
+ },
28
+ configure: (command) => {
29
+ command.option('--depth <n>', 'Max depth to traverse (default: 2)');
30
+ command.option('--max-nodes <n>', 'Max total nodes to return (default: 5000)');
31
+ },
32
+ action: runDomTree,
29
33
  });
30
- dom.command('info')
31
- .argument('[id]', 'Watcher id to query')
32
- .description('Fetch detailed info for element(s) matching a CSS selector')
33
- .option('--selector <css>', 'CSS selector to match element(s)')
34
- .option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
35
- .option('--all', 'Allow multiple matches (default: error if >1 match)')
36
- .option('--outer-html-max <n>', 'Max characters for outerHTML (default: 50000)')
37
- .option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
38
- .option('--json', 'Output JSON for automation')
39
- .addHelpText('after', '\nExamples:\n $ argus dom info app --selector "body"\n $ argus dom info app --selector "div" --all\n $ argus dom info app --selector "#root" --json\n')
40
- .action(async (id, options) => {
41
- if (!resolveTestId(options))
42
- return;
43
- await runDomInfo(id, options);
34
+ registerDomSelectorCommand(dom, {
35
+ name: 'info',
36
+ description: 'Fetch detailed info for element(s) matching a CSS selector',
37
+ examples: [
38
+ 'argus dom info app --selector "body"',
39
+ 'argus dom info app --selector "div" --all',
40
+ 'argus dom info app --selector "#root" --json',
41
+ ],
42
+ textOption: {
43
+ flags: '--text <string>',
44
+ description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
45
+ },
46
+ configure: (command) => {
47
+ command.option('--outer-html-max <n>', 'Max characters for outerHTML (default: 50000)');
48
+ },
49
+ action: runDomInfo,
44
50
  });
45
- dom.command('focus')
46
- .argument('[id]', 'Watcher id to query')
47
- .description('Focus element(s) matching a CSS selector')
48
- .option('--selector <css>', 'CSS selector to match element(s)')
49
- .option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
50
- .option('--all', 'Allow multiple matches (default: error if >1 match)')
51
- .option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
52
- .option('--json', 'Output JSON for automation')
53
- .addHelpText('after', '\nExamples:\n $ argus dom focus app --selector "#input"\n $ argus dom focus app --testid "search-box"\n $ argus dom focus app --selector ".item" --all\n')
54
- .action(async (id, options) => {
55
- if (!resolveTestId(options))
56
- return;
57
- await runDomFocus(id, options);
51
+ registerDomSelectorCommand(dom, {
52
+ name: 'focus',
53
+ description: 'Focus element(s) matching a CSS selector',
54
+ examples: [
55
+ 'argus dom focus app --selector "#input"',
56
+ 'argus dom focus app --testid "search-box"',
57
+ 'argus dom focus app --selector ".item" --all',
58
+ ],
59
+ textOption: {
60
+ flags: '--text <string>',
61
+ description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
62
+ },
63
+ action: runDomFocus,
58
64
  });
59
- dom.command('add')
60
- .argument('[id]', 'Watcher id to query')
61
- .description('Insert HTML into the page relative to matched element(s)')
62
- .option('--selector <css>', 'CSS selector for target element(s)')
63
- .option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
64
- .option('--html <string>', 'HTML to insert (use "-" for stdin)')
65
- .option('--html-file <path>', 'Read HTML to insert from a file')
66
- .option('--html-stdin', 'Read HTML to insert from stdin (same as --html -)')
67
- .option('--position <pos>', 'Insert position: beforebegin, afterbegin, beforeend, afterend (aliases: before, after, prepend, append)', 'beforeend')
68
- .option('--nth <index>', 'Insert at the zero-based match index')
69
- .option('--first', 'Insert at the first match (same as --nth 0)')
70
- .option('--expect <n>', 'Expect N matches before inserting')
71
- .option('--text', 'Insert text content (uses insertAdjacentText)')
72
- .option('--all', 'Insert at all matches (default: error if >1 match)')
73
- .option('--json', 'Output JSON for automation')
74
- .addHelpText('after', '\nExamples:\n $ argus dom add app --selector "#container" --html "<div>Hello</div>"\n $ argus dom add app --selector "body" --position append --html "<script src=\'debug.js\'></script>"\n $ argus dom add app --selector ".item" --all --position afterend --html "<hr>"\n $ argus dom add app --selector "#root" --html-file ./snippet.html\n $ cat snippet.html | argus dom add app --selector "#root" --html -\n $ argus dom add app --selector ".item" --nth 2 --html "<hr>"\n $ argus dom add app --selector "#banner" --text --html "Preview mode"\n')
75
- .action(async (id, options) => {
76
- if (!resolveTestId(options))
77
- return;
78
- await runDomAdd(id, options);
65
+ registerDomSelectorCommand(dom, {
66
+ name: 'add',
67
+ description: 'Insert HTML into the page relative to matched element(s)',
68
+ examples: [
69
+ 'argus dom add app --selector "#container" --html "<div>Hello</div>"',
70
+ 'argus dom add app --selector "body" --position append --html "<script src=\'debug.js\'></script>"',
71
+ 'argus dom add app --selector ".item" --all --position afterend --html "<hr>"',
72
+ 'argus dom add app --selector "#root" --html-file ./snippet.html',
73
+ 'cat snippet.html | argus dom add app --selector "#root" --html -',
74
+ 'argus dom add app --selector ".item" --nth 2 --html "<hr>"',
75
+ 'argus dom add app --selector "#banner" --text --html "Preview mode"',
76
+ ],
77
+ textOption: undefined,
78
+ configure: (command) => {
79
+ command.option('--html <string>', 'HTML to insert (use "-" for stdin)');
80
+ command.option('--html-file <path>', 'Read HTML to insert from a file');
81
+ command.option('--html-stdin', 'Read HTML to insert from stdin (same as --html -)');
82
+ command.option('--position <pos>', 'Insert position: beforebegin, afterbegin, beforeend, afterend (aliases: before, after, prepend, append)', 'beforeend');
83
+ command.option('--nth <index>', 'Insert at the zero-based match index');
84
+ command.option('--first', 'Insert at the first match (same as --nth 0)');
85
+ command.option('--expect <n>', 'Expect N matches before inserting');
86
+ command.option('--text', 'Insert text content (uses insertAdjacentText)');
87
+ },
88
+ action: runDomAdd,
79
89
  });
80
90
  dom.command('add-script')
81
91
  .argument('[id]', 'Watcher id to query')
@@ -110,69 +120,75 @@ Examples:
110
120
  json: options.json,
111
121
  });
112
122
  });
113
- dom.command('remove')
114
- .argument('[id]', 'Watcher id to query')
115
- .description('Remove elements from the page')
116
- .option('--selector <css>', 'CSS selector for elements to remove')
117
- .option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
118
- .option('--all', 'Remove all matches (default: error if >1 match)')
119
- .option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
120
- .option('--json', 'Output JSON for automation')
121
- .addHelpText('after', '\nExamples:\n $ argus dom remove app --selector ".debug-overlay"\n $ argus dom remove app --selector "[data-testid=\'temp\']" --all\n')
122
- .action(async (id, options) => {
123
- if (!resolveTestId(options))
124
- return;
125
- await runDomRemove(id, options);
123
+ registerDomSelectorCommand(dom, {
124
+ name: 'remove',
125
+ description: 'Remove elements from the page',
126
+ examples: ['argus dom remove app --selector ".debug-overlay"', 'argus dom remove app --selector "[data-testid=\'temp\']" --all'],
127
+ textOption: {
128
+ flags: '--text <string>',
129
+ description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
130
+ },
131
+ action: runDomRemove,
126
132
  });
127
133
  registerDomModify(dom);
128
- dom.command('set-file')
129
- .alias('upload')
130
- .argument('[id]', 'Watcher id to query')
131
- .description('Set file(s) on a <input type="file"> element via CDP')
132
- .option('--selector <css>', 'CSS selector for file input element(s)')
133
- .option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
134
- .requiredOption('--file <path...>', 'File path(s) to set on the input (repeatable)')
135
- .option('--all', 'Allow multiple matches (default: error if >1 match)')
136
- .option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
137
- .option('--wait <duration>', 'Wait for selector to appear (e.g. 5s, 500ms)')
138
- .option('--json', 'Output JSON for automation')
139
- .addHelpText('after', '\nExamples:\n $ argus dom set-file app --selector "input[type=file]" --file ./build.zip\n $ argus dom set-file app --selector "#upload" --file a.png --file b.png\n $ argus dom set-file app --selector "input[type=file]" --file ./build.zip --wait 5s\n')
140
- .action(async (id, options) => {
141
- if (!resolveTestId(options))
142
- return;
143
- await runDomSetFile(id, options);
134
+ registerDomSelectorCommand(dom, {
135
+ name: 'set-file',
136
+ alias: 'upload',
137
+ description: 'Set file(s) on a <input type="file"> element via CDP',
138
+ examples: [
139
+ 'argus dom set-file app --selector "input[type=file]" --file ./build.zip',
140
+ 'argus dom set-file app --selector "#upload" --file a.png --file b.png',
141
+ 'argus dom set-file app --selector "input[type=file]" --file ./build.zip --wait 5s',
142
+ ],
143
+ textOption: {
144
+ flags: '--text <string>',
145
+ description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
146
+ },
147
+ waitOption: true,
148
+ configure: (command) => {
149
+ command.requiredOption('--file <path...>', 'File path(s) to set on the input (repeatable)');
150
+ },
151
+ action: runDomSetFile,
144
152
  });
145
- dom.command('scroll')
146
- .argument('[id]', 'Watcher id to query')
147
- .description('Emulate a touch scroll gesture (fires real scroll/wheel events)')
148
- .option('--selector <css>', 'CSS selector — scroll at element center')
149
- .option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
150
- .option('--pos <x,y>', 'Viewport coordinates to scroll at (mutually exclusive with selector)')
151
- .requiredOption('--by <dx,dy>', 'Scroll delta (positive y = scroll down)')
152
- .option('--all', 'Allow multiple matches (default: error if >1 match)')
153
- .option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
154
- .option('--json', 'Output JSON for automation')
155
- .addHelpText('after', '\nExamples:\n $ argus dom scroll app --by 0,300\n $ argus dom scroll app --selector ".panel" --by 0,200\n $ argus dom scroll app --testid "feed" --by 0,500\n $ argus dom scroll app --pos 400,300 --by 0,200\n')
156
- .action(async (id, options) => {
157
- if (!resolveTestId(options))
158
- return;
159
- await runDomScroll(id, options);
153
+ registerDomSelectorCommand(dom, {
154
+ name: 'scroll',
155
+ description: 'Emulate a touch scroll gesture (fires real scroll/wheel events)',
156
+ examples: [
157
+ 'argus dom scroll app --by 0,300',
158
+ 'argus dom scroll app --selector ".panel" --by 0,200',
159
+ 'argus dom scroll app --testid "feed" --by 0,500',
160
+ 'argus dom scroll app --pos 400,300 --by 0,200',
161
+ ],
162
+ textOption: {
163
+ flags: '--text <string>',
164
+ description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
165
+ },
166
+ configure: (command) => {
167
+ command.option('--pos <x,y>', 'Viewport coordinates to scroll at (mutually exclusive with selector)');
168
+ command.requiredOption('--by <dx,dy>', 'Scroll delta (positive y = scroll down)');
169
+ },
170
+ action: runDomScroll,
160
171
  });
161
- dom.command('scroll-to')
162
- .argument('[id]', 'Watcher id to query')
163
- .description('Scroll the viewport or elements into view / to a position')
164
- .option('--selector <css>', 'CSS selector to match element(s)')
165
- .option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
166
- .option('--to <x,y>', 'Scroll to absolute position (viewport or element)')
167
- .option('--by <x,y>', 'Scroll by delta (viewport or element)')
168
- .option('--all', 'Allow multiple matches (default: error if >1 match)')
169
- .option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
170
- .option('--json', 'Output JSON for automation')
171
- .addHelpText('after', '\nExamples:\n $ argus dom scroll-to app --selector "#footer"\n $ argus dom scroll-to app --testid "footer"\n $ argus dom scroll-to app --to 0,1000\n $ argus dom scroll-to app --by 0,500\n $ argus dom scroll-to app --selector ".panel" --to 0,1000\n $ argus dom scroll-to app --selector ".panel" --by 0,500\n')
172
- .action(async (id, options) => {
173
- if (!resolveTestId(options))
174
- return;
175
- await runDomScrollTo(id, options);
172
+ registerDomSelectorCommand(dom, {
173
+ name: 'scroll-to',
174
+ description: 'Scroll the viewport or elements into view / to a position',
175
+ examples: [
176
+ 'argus dom scroll-to app --selector "#footer"',
177
+ 'argus dom scroll-to app --testid "footer"',
178
+ 'argus dom scroll-to app --to 0,1000',
179
+ 'argus dom scroll-to app --by 0,500',
180
+ 'argus dom scroll-to app --selector ".panel" --to 0,1000',
181
+ 'argus dom scroll-to app --selector ".panel" --by 0,500',
182
+ ],
183
+ textOption: {
184
+ flags: '--text <string>',
185
+ description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
186
+ },
187
+ configure: (command) => {
188
+ command.option('--to <x,y>', 'Scroll to absolute position (viewport or element)');
189
+ command.option('--by <x,y>', 'Scroll by delta (viewport or element)');
190
+ },
191
+ action: runDomScrollTo,
176
192
  });
177
193
  }
178
194
  function registerDomModify(dom) {
@@ -181,6 +197,7 @@ function registerDomModify(dom) {
181
197
  .command('attr')
182
198
  .argument('[id]', 'Watcher id to query')
183
199
  .argument('[attrs...]', 'Attributes: name (boolean) or name=value')
200
+ .description('Modify element attributes')
184
201
  .option('--selector <css>', 'CSS selector for target element(s)')
185
202
  .option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
186
203
  .option('--remove <attrs...>', 'Attributes to remove')
@@ -1 +1 @@
1
- {"version":3,"file":"registerDom.js","sourceRoot":"","sources":["../../../src/cli/register/registerDom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerDom.js","sourceRoot":"","sources":["../../../src/cli/register/registerDom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ChromeCommandOptions } from './shared.js';
2
+ export declare const runChromeVersion: (options: ChromeCommandOptions) => Promise<void>;
3
+ export declare const runChromeStatus: (options: ChromeCommandOptions) => Promise<void>;
4
+ export declare const runChromeStop: (options: ChromeCommandOptions) => Promise<void>;
5
+ //# sourceMappingURL=browser.d.ts.map