@vforsh/argus 0.1.3 → 0.1.5
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.
- package/README.md +6 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/argus.js +16381 -0
- package/dist/bin.d.ts +1 -1
- package/dist/bin.js +47 -759
- package/dist/bin.js.map +1 -1
- package/dist/cdp/resolveCdpEndpoint.js +2 -2
- package/dist/cdp/resolveCdpEndpoint.js.map +1 -1
- package/dist/cli/parse.d.ts +11 -0
- package/dist/cli/parse.d.ts.map +1 -0
- package/dist/cli/parse.js +48 -0
- package/dist/cli/parse.js.map +1 -0
- package/dist/cli/program.d.ts +3 -0
- package/dist/cli/program.d.ts.map +1 -0
- package/dist/cli/program.js +22 -0
- package/dist/cli/program.js.map +1 -0
- package/dist/cli/register/registerChrome.d.ts +3 -0
- package/dist/cli/register/registerChrome.d.ts.map +1 -0
- package/dist/cli/register/registerChrome.js +79 -0
- package/dist/cli/register/registerChrome.js.map +1 -0
- package/dist/cli/register/registerClick.d.ts +3 -0
- package/dist/cli/register/registerClick.d.ts.map +1 -0
- package/dist/cli/register/registerClick.js +23 -0
- package/dist/cli/register/registerClick.js.map +1 -0
- package/dist/cli/register/registerConfig.d.ts +3 -0
- package/dist/cli/register/registerConfig.d.ts.map +1 -0
- package/dist/cli/register/registerConfig.js +14 -0
- package/dist/cli/register/registerConfig.js.map +1 -0
- package/dist/cli/register/registerDom.d.ts +3 -0
- package/dist/cli/register/registerDom.d.ts.map +1 -0
- package/dist/cli/register/registerDom.js +261 -0
- package/dist/cli/register/registerDom.js.map +1 -0
- package/dist/cli/register/registerEval.d.ts +3 -0
- package/dist/cli/register/registerEval.d.ts.map +1 -0
- package/dist/cli/register/registerEval.js +129 -0
- package/dist/cli/register/registerEval.js.map +1 -0
- package/dist/cli/register/registerExtension.d.ts +3 -0
- package/dist/cli/register/registerExtension.d.ts.map +1 -0
- package/dist/cli/register/registerExtension.js +46 -0
- package/dist/cli/register/registerExtension.js.map +1 -0
- package/dist/cli/register/registerFill.d.ts +3 -0
- package/dist/cli/register/registerFill.d.ts.map +1 -0
- package/dist/cli/register/registerFill.js +30 -0
- package/dist/cli/register/registerFill.js.map +1 -0
- package/dist/cli/register/registerHover.d.ts +3 -0
- package/dist/cli/register/registerHover.d.ts.map +1 -0
- package/dist/cli/register/registerHover.js +20 -0
- package/dist/cli/register/registerHover.js.map +1 -0
- package/dist/cli/register/registerKeydown.d.ts +3 -0
- package/dist/cli/register/registerKeydown.d.ts.map +1 -0
- package/dist/cli/register/registerKeydown.js +20 -0
- package/dist/cli/register/registerKeydown.js.map +1 -0
- package/dist/cli/register/registerLogs.d.ts +3 -0
- package/dist/cli/register/registerLogs.d.ts.map +1 -0
- package/dist/cli/register/registerLogs.js +64 -0
- package/dist/cli/register/registerLogs.js.map +1 -0
- package/dist/cli/register/registerNet.d.ts +3 -0
- package/dist/cli/register/registerNet.d.ts.map +1 -0
- package/dist/cli/register/registerNet.js +32 -0
- package/dist/cli/register/registerNet.js.map +1 -0
- package/dist/cli/register/registerPage.d.ts +3 -0
- package/dist/cli/register/registerPage.d.ts.map +1 -0
- package/dist/cli/register/registerPage.js +106 -0
- package/dist/cli/register/registerPage.js.map +1 -0
- package/dist/cli/register/registerQuickAccess.d.ts +3 -0
- package/dist/cli/register/registerQuickAccess.d.ts.map +1 -0
- package/dist/cli/register/registerQuickAccess.js +82 -0
- package/dist/cli/register/registerQuickAccess.js.map +1 -0
- package/dist/cli/register/registerScrollTo.d.ts +3 -0
- package/dist/cli/register/registerScrollTo.d.ts.map +1 -0
- package/dist/cli/register/registerScrollTo.js +22 -0
- package/dist/cli/register/registerScrollTo.js.map +1 -0
- package/dist/cli/register/registerSnapshot.d.ts +3 -0
- package/dist/cli/register/registerSnapshot.d.ts.map +1 -0
- package/dist/cli/register/registerSnapshot.js +37 -0
- package/dist/cli/register/registerSnapshot.js.map +1 -0
- package/dist/cli/register/registerStorage.d.ts +3 -0
- package/dist/cli/register/registerStorage.d.ts.map +1 -0
- package/dist/cli/register/registerStorage.js +56 -0
- package/dist/cli/register/registerStorage.js.map +1 -0
- package/dist/cli/register/registerThrottle.d.ts +3 -0
- package/dist/cli/register/registerThrottle.d.ts.map +1 -0
- package/dist/cli/register/registerThrottle.js +33 -0
- package/dist/cli/register/registerThrottle.js.map +1 -0
- package/dist/cli/register/registerTrace.d.ts +3 -0
- package/dist/cli/register/registerTrace.d.ts.map +1 -0
- package/dist/cli/register/registerTrace.js +39 -0
- package/dist/cli/register/registerTrace.js.map +1 -0
- package/dist/cli/register/registerWatcher.d.ts +3 -0
- package/dist/cli/register/registerWatcher.d.ts.map +1 -0
- package/dist/cli/register/registerWatcher.js +115 -0
- package/dist/cli/register/registerWatcher.js.map +1 -0
- package/dist/cli/validation.d.ts +10 -0
- package/dist/cli/validation.d.ts.map +1 -0
- package/dist/cli/validation.js +24 -0
- package/dist/cli/validation.js.map +1 -0
- package/dist/commands/chrome.d.ts +23 -0
- package/dist/commands/chrome.d.ts.map +1 -1
- package/dist/commands/chrome.js +120 -0
- package/dist/commands/chrome.js.map +1 -1
- package/dist/commands/chromeStart.d.ts +24 -0
- package/dist/commands/chromeStart.d.ts.map +1 -1
- package/dist/commands/chromeStart.js +175 -105
- package/dist/commands/chromeStart.js.map +1 -1
- package/dist/commands/configInit.d.ts.map +1 -1
- package/dist/commands/configInit.js +27 -13
- package/dist/commands/configInit.js.map +1 -1
- package/dist/commands/domAdd.d.ts.map +1 -1
- package/dist/commands/domAdd.js +25 -47
- package/dist/commands/domAdd.js.map +1 -1
- package/dist/commands/domAddScript.d.ts +14 -0
- package/dist/commands/domAddScript.d.ts.map +1 -0
- package/dist/commands/domAddScript.js +172 -0
- package/dist/commands/domAddScript.js.map +1 -0
- package/dist/commands/domClick.d.ts +5 -1
- package/dist/commands/domClick.d.ts.map +1 -1
- package/dist/commands/domClick.js +74 -36
- package/dist/commands/domClick.js.map +1 -1
- package/dist/commands/domFill.d.ts +14 -0
- package/dist/commands/domFill.d.ts.map +1 -0
- package/dist/commands/domFill.js +129 -0
- package/dist/commands/domFill.js.map +1 -0
- package/dist/commands/domFocus.d.ts +10 -0
- package/dist/commands/domFocus.d.ts.map +1 -0
- package/dist/commands/domFocus.js +52 -0
- package/dist/commands/domFocus.js.map +1 -0
- package/dist/commands/domHover.d.ts +1 -0
- package/dist/commands/domHover.d.ts.map +1 -1
- package/dist/commands/domHover.js +17 -40
- package/dist/commands/domHover.js.map +1 -1
- package/dist/commands/domInfo.d.ts +1 -0
- package/dist/commands/domInfo.d.ts.map +1 -1
- package/dist/commands/domInfo.js +19 -51
- package/dist/commands/domInfo.js.map +1 -1
- package/dist/commands/domKeydown.d.ts +10 -0
- package/dist/commands/domKeydown.d.ts.map +1 -0
- package/dist/commands/domKeydown.js +46 -0
- package/dist/commands/domKeydown.js.map +1 -0
- package/dist/commands/domModify.d.ts +1 -0
- package/dist/commands/domModify.d.ts.map +1 -1
- package/dist/commands/domModify.js +14 -40
- package/dist/commands/domModify.js.map +1 -1
- package/dist/commands/domRemove.d.ts +1 -0
- package/dist/commands/domRemove.d.ts.map +1 -1
- package/dist/commands/domRemove.js +17 -40
- package/dist/commands/domRemove.js.map +1 -1
- package/dist/commands/domScroll.d.ts +12 -0
- package/dist/commands/domScroll.d.ts.map +1 -0
- package/dist/commands/domScroll.js +105 -0
- package/dist/commands/domScroll.js.map +1 -0
- package/dist/commands/domScrollTo.d.ts +12 -0
- package/dist/commands/domScrollTo.d.ts.map +1 -0
- package/dist/commands/domScrollTo.js +107 -0
- package/dist/commands/domScrollTo.js.map +1 -0
- package/dist/commands/domSetFile.d.ts +12 -0
- package/dist/commands/domSetFile.d.ts.map +1 -0
- package/dist/commands/domSetFile.js +87 -0
- package/dist/commands/domSetFile.js.map +1 -0
- package/dist/commands/domTree.d.ts +1 -0
- package/dist/commands/domTree.d.ts.map +1 -1
- package/dist/commands/domTree.js +20 -52
- package/dist/commands/domTree.js.map +1 -1
- package/dist/commands/eval.d.ts +5 -1
- package/dist/commands/eval.d.ts.map +1 -1
- package/dist/commands/eval.js +8 -148
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/evalShared.d.ts +64 -0
- package/dist/commands/evalShared.d.ts.map +1 -0
- package/dist/commands/evalShared.js +205 -0
- package/dist/commands/evalShared.js.map +1 -0
- package/dist/commands/evalUntil.d.ts +27 -0
- package/dist/commands/evalUntil.d.ts.map +1 -0
- package/dist/commands/evalUntil.js +128 -0
- package/dist/commands/evalUntil.js.map +1 -0
- package/dist/commands/extension/doctor.d.ts +5 -0
- package/dist/commands/extension/doctor.d.ts.map +1 -0
- package/dist/commands/extension/doctor.js +262 -0
- package/dist/commands/extension/doctor.js.map +1 -0
- package/dist/commands/extension/id.d.ts +9 -0
- package/dist/commands/extension/id.d.ts.map +1 -0
- package/dist/commands/extension/id.js +122 -0
- package/dist/commands/extension/id.js.map +1 -0
- package/dist/commands/extension/list.d.ts +8 -0
- package/dist/commands/extension/list.d.ts.map +1 -0
- package/dist/commands/extension/list.js +194 -0
- package/dist/commands/extension/list.js.map +1 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +36 -25
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +14 -55
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/net.d.ts.map +1 -1
- package/dist/commands/net.js +12 -53
- package/dist/commands/net.js.map +1 -1
- package/dist/commands/netTail.d.ts.map +1 -1
- package/dist/commands/netTail.js +4 -40
- package/dist/commands/netTail.js.map +1 -1
- package/dist/commands/page.d.ts +0 -1
- package/dist/commands/page.d.ts.map +1 -1
- package/dist/commands/page.js +3 -13
- package/dist/commands/page.js.map +1 -1
- package/dist/commands/pageEmulation.d.ts +20 -0
- package/dist/commands/pageEmulation.d.ts.map +1 -0
- package/dist/commands/pageEmulation.js +215 -0
- package/dist/commands/pageEmulation.js.map +1 -0
- package/dist/commands/reload.d.ts.map +1 -1
- package/dist/commands/reload.js +12 -39
- package/dist/commands/reload.js.map +1 -1
- package/dist/commands/resolveTestId.d.ts +10 -0
- package/dist/commands/resolveTestId.d.ts.map +1 -0
- package/dist/commands/resolveTestId.js +16 -0
- package/dist/commands/resolveTestId.js.map +1 -0
- package/dist/commands/screenshot.d.ts.map +1 -1
- package/dist/commands/screenshot.js +16 -41
- package/dist/commands/screenshot.js.map +1 -1
- package/dist/commands/snapshot.d.ts +10 -0
- package/dist/commands/snapshot.d.ts.map +1 -0
- package/dist/commands/snapshot.js +54 -0
- package/dist/commands/snapshot.js.map +1 -0
- package/dist/commands/start.d.ts +20 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +191 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/storageLocal.d.ts.map +1 -1
- package/dist/commands/storageLocal.js +16 -43
- package/dist/commands/storageLocal.js.map +1 -1
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +4 -40
- package/dist/commands/tail.js.map +1 -1
- package/dist/commands/throttle.d.ts +13 -0
- package/dist/commands/throttle.d.ts.map +1 -0
- package/dist/commands/throttle.js +124 -0
- package/dist/commands/throttle.js.map +1 -0
- package/dist/commands/trace.d.ts.map +1 -1
- package/dist/commands/trace.js +8 -38
- package/dist/commands/trace.js.map +1 -1
- package/dist/commands/watcherPrune.d.ts.map +1 -1
- package/dist/commands/watcherPrune.js +3 -4
- package/dist/commands/watcherPrune.js.map +1 -1
- package/dist/commands/watcherStart.d.ts +3 -0
- package/dist/commands/watcherStart.d.ts.map +1 -1
- package/dist/commands/watcherStart.js +28 -8
- package/dist/commands/watcherStart.js.map +1 -1
- package/dist/commands/watcherStatus.d.ts.map +1 -1
- package/dist/commands/watcherStatus.js +10 -32
- package/dist/commands/watcherStatus.js.map +1 -1
- package/dist/commands/watcherStop.d.ts.map +1 -1
- package/dist/commands/watcherStop.js +7 -14
- package/dist/commands/watcherStop.js.map +1 -1
- package/dist/config/argusConfig.d.ts +8 -10
- package/dist/config/argusConfig.d.ts.map +1 -1
- package/dist/config/argusConfig.js +49 -56
- package/dist/config/argusConfig.js.map +1 -1
- package/dist/emulation/devices.d.ts +15 -0
- package/dist/emulation/devices.d.ts.map +1 -0
- package/dist/emulation/devices.js +54 -0
- package/dist/emulation/devices.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/output/accessibility.d.ts +16 -0
- package/dist/output/accessibility.d.ts.map +1 -0
- package/dist/output/accessibility.js +61 -0
- package/dist/output/accessibility.js.map +1 -0
- package/dist/registry.d.ts +6 -6
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +20 -21
- package/dist/registry.js.map +1 -1
- package/dist/utils/paths.d.ts +3 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +8 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/watchers/requestWatcher.d.ts +42 -0
- package/dist/watchers/requestWatcher.d.ts.map +1 -0
- package/dist/watchers/requestWatcher.js +77 -0
- package/dist/watchers/requestWatcher.js.map +1 -0
- package/dist/watchers/resolveWatcher.js +2 -2
- package/dist/watchers/resolveWatcher.js.map +1 -1
- package/package.json +10 -15
- package/schemas/argus.config.schema.json +16 -0
- package/dist/commands/contexts.d.ts +0 -7
- package/dist/commands/contexts.d.ts.map +0 -1
- package/dist/commands/contexts.js +0 -54
- package/dist/commands/contexts.js.map +0 -1
- package/dist/commands/domDiff.d.ts +0 -43
- package/dist/commands/domDiff.d.ts.map +0 -1
- package/dist/commands/domDiff.js +0 -279
- package/dist/commands/domDiff.js.map +0 -1
- package/dist/commands/extension/attach.d.ts +0 -8
- package/dist/commands/extension/attach.d.ts.map +0 -1
- package/dist/commands/extension/attach.js +0 -171
- package/dist/commands/extension/attach.js.map +0 -1
- package/dist/commands/extension/detach.d.ts +0 -6
- package/dist/commands/extension/detach.d.ts.map +0 -1
- package/dist/commands/extension/detach.js +0 -132
- package/dist/commands/extension/detach.js.map +0 -1
- package/dist/commands/extension/targets.d.ts +0 -13
- package/dist/commands/extension/targets.d.ts.map +0 -1
- package/dist/commands/extension/targets.js +0 -77
- package/dist/commands/extension/targets.js.map +0 -1
- package/dist/commands/frames.d.ts +0 -7
- package/dist/commands/frames.d.ts.map +0 -1
- package/dist/commands/frames.js +0 -90
- package/dist/commands/frames.js.map +0 -1
- package/dist/frame/frameSelector.d.ts +0 -14
- package/dist/frame/frameSelector.d.ts.map +0 -1
- package/dist/frame/frameSelector.js +0 -31
- package/dist/frame/frameSelector.js.map +0 -1
- package/dist/output/domDiff.d.ts +0 -14
- package/dist/output/domDiff.d.ts.map +0 -1
- package/dist/output/domDiff.js +0 -151
- package/dist/output/domDiff.js.map +0 -1
- package/dist/plugins/argusApi.d.ts +0 -22
- package/dist/plugins/argusApi.d.ts.map +0 -1
- package/dist/plugins/argusApi.js +0 -92
- package/dist/plugins/argusApi.js.map +0 -1
- package/dist/plugins/loader.d.ts +0 -12
- package/dist/plugins/loader.d.ts.map +0 -1
- package/dist/plugins/loader.js +0 -92
- package/dist/plugins/loader.js.map +0 -1
- package/dist/plugins/registry.d.ts +0 -17
- package/dist/plugins/registry.d.ts.map +0 -1
- package/dist/plugins/registry.js +0 -44
- package/dist/plugins/registry.js.map +0 -1
- package/dist/plugins/resolver.d.ts +0 -6
- package/dist/plugins/resolver.d.ts.map +0 -1
- package/dist/plugins/resolver.js +0 -86
- package/dist/plugins/resolver.js.map +0 -1
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import { runDomTree } from '../../commands/domTree.js';
|
|
2
|
+
import { runDomInfo } from '../../commands/domInfo.js';
|
|
3
|
+
import { runDomFocus } from '../../commands/domFocus.js';
|
|
4
|
+
import { runDomAdd } from '../../commands/domAdd.js';
|
|
5
|
+
import { runDomAddScript } from '../../commands/domAddScript.js';
|
|
6
|
+
import { runDomRemove } from '../../commands/domRemove.js';
|
|
7
|
+
import { runDomSetFile } from '../../commands/domSetFile.js';
|
|
8
|
+
import { runDomScroll } from '../../commands/domScroll.js';
|
|
9
|
+
import { runDomScrollTo } from '../../commands/domScrollTo.js';
|
|
10
|
+
import { runDomModifyAttr, runDomModifyClass, runDomModifyStyle, runDomModifyText, runDomModifyHtml } from '../../commands/domModify.js';
|
|
11
|
+
import { resolveTestId } from '../../commands/resolveTestId.js';
|
|
12
|
+
export function registerDom(program) {
|
|
13
|
+
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);
|
|
29
|
+
});
|
|
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);
|
|
44
|
+
});
|
|
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);
|
|
58
|
+
});
|
|
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);
|
|
79
|
+
});
|
|
80
|
+
dom.command('add-script')
|
|
81
|
+
.argument('[id]', 'Watcher id to query')
|
|
82
|
+
.argument('[code]', 'Inline JS code to inject (or use --file / --stdin / --src)')
|
|
83
|
+
.description('Add a <script> element to the page')
|
|
84
|
+
.option('--src <url>', 'External script URL (mutually exclusive with code/file/stdin)')
|
|
85
|
+
.option('-f, --file <path>', 'Read JS from file')
|
|
86
|
+
.option('--stdin', 'Read from stdin (also triggered by - as code arg)')
|
|
87
|
+
.option('--type <type>', 'Script type attribute (e.g. "module")')
|
|
88
|
+
.option('--id <id>', 'Script element id attribute')
|
|
89
|
+
.option('--target <el>', 'Append to "head" (default) or "body"')
|
|
90
|
+
.option('--json', 'Output JSON for automation')
|
|
91
|
+
.addHelpText('after', `
|
|
92
|
+
Examples:
|
|
93
|
+
$ argus dom add-script app "console.log('hello')"
|
|
94
|
+
$ argus dom add-script app --src "https://cdn.example.com/lib.js"
|
|
95
|
+
$ argus dom add-script app --file ./debug.js
|
|
96
|
+
$ cat debug.js | argus dom add-script app --stdin
|
|
97
|
+
$ argus dom add-script app - < debug.js
|
|
98
|
+
$ argus dom add-script app --src "./lib.js" --type module
|
|
99
|
+
$ argus dom add-script app "console.log('tagged')" --id my-debug
|
|
100
|
+
$ argus dom add-script app --file ./init.js --target body
|
|
101
|
+
`)
|
|
102
|
+
.action(async (id, code, options) => {
|
|
103
|
+
await runDomAddScript(id, code, {
|
|
104
|
+
src: options.src,
|
|
105
|
+
file: options.file,
|
|
106
|
+
stdin: options.stdin,
|
|
107
|
+
type: options.type,
|
|
108
|
+
scriptId: options.id,
|
|
109
|
+
target: options.target,
|
|
110
|
+
json: options.json,
|
|
111
|
+
});
|
|
112
|
+
});
|
|
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);
|
|
126
|
+
});
|
|
127
|
+
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);
|
|
144
|
+
});
|
|
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);
|
|
160
|
+
});
|
|
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);
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
function registerDomModify(dom) {
|
|
179
|
+
const domModify = dom.command('modify').description('Modify DOM element properties');
|
|
180
|
+
domModify
|
|
181
|
+
.command('attr')
|
|
182
|
+
.argument('[id]', 'Watcher id to query')
|
|
183
|
+
.argument('[attrs...]', 'Attributes: name (boolean) or name=value')
|
|
184
|
+
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
185
|
+
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
186
|
+
.option('--remove <attrs...>', 'Attributes to remove')
|
|
187
|
+
.option('--all', 'Apply to all matches (default: error if >1 match)')
|
|
188
|
+
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
189
|
+
.option('--json', 'Output JSON for automation')
|
|
190
|
+
.addHelpText('after', '\nExamples:\n $ argus dom modify attr app --selector "#btn" disabled\n $ argus dom modify attr app --selector "#btn" data-loading=true aria-label="Submit"\n $ argus dom modify attr app --selector "#btn" --remove disabled data-temp\n')
|
|
191
|
+
.action(async (id, attrs, options) => {
|
|
192
|
+
if (!resolveTestId(options))
|
|
193
|
+
return;
|
|
194
|
+
await runDomModifyAttr(id, attrs, options);
|
|
195
|
+
});
|
|
196
|
+
domModify
|
|
197
|
+
.command('class')
|
|
198
|
+
.argument('[id]', 'Watcher id to query')
|
|
199
|
+
.argument('[classes...]', 'Shorthand: +add, -remove, ~toggle (or plain name to add)')
|
|
200
|
+
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
201
|
+
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
202
|
+
.option('--add <classes...>', 'Classes to add')
|
|
203
|
+
.option('--remove <classes...>', 'Classes to remove')
|
|
204
|
+
.option('--toggle <classes...>', 'Classes to toggle')
|
|
205
|
+
.option('--all', 'Apply to all matches (default: error if >1 match)')
|
|
206
|
+
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
207
|
+
.option('--json', 'Output JSON for automation')
|
|
208
|
+
.addHelpText('after', '\nExamples:\n $ argus dom modify class app --selector "#btn" --add active highlighted\n $ argus dom modify class app --selector "#btn" --remove hidden disabled\n $ argus dom modify class app --selector "#btn" --toggle loading\n $ argus dom modify class app --selector "#btn" +active +primary -hidden ~loading\n')
|
|
209
|
+
.action(async (id, classes, options) => {
|
|
210
|
+
if (!resolveTestId(options))
|
|
211
|
+
return;
|
|
212
|
+
await runDomModifyClass(id, classes, options);
|
|
213
|
+
});
|
|
214
|
+
domModify
|
|
215
|
+
.command('style')
|
|
216
|
+
.argument('[id]', 'Watcher id to query')
|
|
217
|
+
.argument('[styles...]', 'Styles: property=value')
|
|
218
|
+
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
219
|
+
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
220
|
+
.option('--remove <props...>', 'Style properties to remove')
|
|
221
|
+
.option('--all', 'Apply to all matches (default: error if >1 match)')
|
|
222
|
+
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
223
|
+
.option('--json', 'Output JSON for automation')
|
|
224
|
+
.addHelpText('after', '\nExamples:\n $ argus dom modify style app --selector "#btn" color=red font-size=14px\n $ argus dom modify style app --selector "#btn" --remove color font-size\n')
|
|
225
|
+
.action(async (id, styles, options) => {
|
|
226
|
+
if (!resolveTestId(options))
|
|
227
|
+
return;
|
|
228
|
+
await runDomModifyStyle(id, styles, options);
|
|
229
|
+
});
|
|
230
|
+
domModify
|
|
231
|
+
.command('text')
|
|
232
|
+
.argument('[id]', 'Watcher id to query')
|
|
233
|
+
.argument('<text>', 'Text content to set')
|
|
234
|
+
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
235
|
+
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
236
|
+
.option('--all', 'Apply to all matches (default: error if >1 match)')
|
|
237
|
+
.option('--text-filter <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
238
|
+
.option('--json', 'Output JSON for automation')
|
|
239
|
+
.addHelpText('after', '\nExamples:\n $ argus dom modify text app --selector "#msg" "Hello World"\n $ argus dom modify text app --selector ".counter" --all "0"\n')
|
|
240
|
+
.action(async (id, text, options) => {
|
|
241
|
+
if (!resolveTestId(options))
|
|
242
|
+
return;
|
|
243
|
+
await runDomModifyText(id, text, { ...options, text: options.textFilter });
|
|
244
|
+
});
|
|
245
|
+
domModify
|
|
246
|
+
.command('html')
|
|
247
|
+
.argument('[id]', 'Watcher id to query')
|
|
248
|
+
.argument('<html>', 'HTML content to set')
|
|
249
|
+
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
250
|
+
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
251
|
+
.option('--all', 'Apply to all matches (default: error if >1 match)')
|
|
252
|
+
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
253
|
+
.option('--json', 'Output JSON for automation')
|
|
254
|
+
.addHelpText('after', '\nExamples:\n $ argus dom modify html app --selector "#container" "<p>New <strong>content</strong></p>"\n')
|
|
255
|
+
.action(async (id, html, options) => {
|
|
256
|
+
if (!resolveTestId(options))
|
|
257
|
+
return;
|
|
258
|
+
await runDomModifyHtml(id, html, options);
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=registerDom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerDom.js","sourceRoot":"","sources":["../../../src/cli/register/registerDom.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerEval.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerEval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuInD"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { runEval } from '../../commands/eval.js';
|
|
2
|
+
import { runEvalUntil } from '../../commands/evalUntil.js';
|
|
3
|
+
import { runIframeHelper } from '../../commands/iframeHelper.js';
|
|
4
|
+
export function registerEval(program) {
|
|
5
|
+
const evalCmd = program
|
|
6
|
+
.command('eval')
|
|
7
|
+
.alias('e')
|
|
8
|
+
.argument('[id]', 'Watcher id to query')
|
|
9
|
+
.argument('[expression]', 'JS expression to evaluate (or use --file / --stdin)')
|
|
10
|
+
.description('Evaluate a JS expression in the connected page')
|
|
11
|
+
.option('--no-await', 'Do not await promises')
|
|
12
|
+
.option('--timeout <ms>', 'Eval timeout in milliseconds')
|
|
13
|
+
.option('--json', 'Output JSON for automation')
|
|
14
|
+
.option('--no-return-by-value', 'Disable returnByValue (use preview)')
|
|
15
|
+
.option('--no-fail-on-exception', 'Do not exit with code 1 when the evaluation throws')
|
|
16
|
+
.option('--retry <n>', 'Retry failed evaluations up to N times')
|
|
17
|
+
.option('-q, --silent', 'Suppress success output; only emit output on error')
|
|
18
|
+
.option('--interval <ms|duration>', 'Re-evaluate every interval (e.g. 500, 3s)')
|
|
19
|
+
.option('--count <n>', 'Stop after N iterations (requires --interval)')
|
|
20
|
+
.option('--until <condition>', 'Stop when local condition becomes truthy (requires --interval)')
|
|
21
|
+
.option('-f, --file <path>', 'Read expression from a file')
|
|
22
|
+
.option('--stdin', 'Read expression from stdin')
|
|
23
|
+
.option('--iframe <selector>', 'Eval in iframe via postMessage (requires helper script)')
|
|
24
|
+
.option('--iframe-namespace <name>', 'Message type prefix for iframe eval (default: argus)')
|
|
25
|
+
.option('--iframe-timeout <ms>', 'Timeout for iframe postMessage response (default: 5000)')
|
|
26
|
+
.addHelpText('after', `
|
|
27
|
+
Examples:
|
|
28
|
+
$ argus eval app "location.href"
|
|
29
|
+
$ argus eval app "await fetch('/ping').then(r => r.status)"
|
|
30
|
+
$ argus eval app --file ./script.js
|
|
31
|
+
$ cat script.js | argus eval app --stdin
|
|
32
|
+
$ argus eval app - < script.js
|
|
33
|
+
$ argus eval app "document.title" --no-fail-on-exception
|
|
34
|
+
$ argus eval app "1+1" --retry 3
|
|
35
|
+
$ argus eval app "1+1" --silent
|
|
36
|
+
$ argus eval app "Date.now()" --interval 500 --count 10
|
|
37
|
+
$ argus eval app "document.title" --interval 250 --until 'result === "ready"'
|
|
38
|
+
$ argus eval app "window.gameState" --iframe "iframe#game"
|
|
39
|
+
$ argus eval app "document.title" --iframe "iframe" --iframe-timeout 10000
|
|
40
|
+
`)
|
|
41
|
+
.action(async (id, expression, options) => {
|
|
42
|
+
await runEval(id, expression, {
|
|
43
|
+
json: options.json,
|
|
44
|
+
await: options.await,
|
|
45
|
+
timeout: options.timeout,
|
|
46
|
+
returnByValue: options.returnByValue,
|
|
47
|
+
failOnException: options.failOnException,
|
|
48
|
+
retry: options.retry,
|
|
49
|
+
silent: options.silent,
|
|
50
|
+
interval: options.interval,
|
|
51
|
+
count: options.count,
|
|
52
|
+
until: options.until,
|
|
53
|
+
file: options.file,
|
|
54
|
+
stdin: options.stdin,
|
|
55
|
+
iframe: options.iframe,
|
|
56
|
+
iframeNamespace: options.iframeNamespace,
|
|
57
|
+
iframeTimeout: options.iframeTimeout,
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
evalCmd
|
|
61
|
+
.command('iframe-helper')
|
|
62
|
+
.description('Output helper script for cross-origin iframe eval via postMessage')
|
|
63
|
+
.option('--out <file>', 'Write script to file instead of stdout')
|
|
64
|
+
.option('--no-log', 'Omit console.log confirmation')
|
|
65
|
+
.option('--iife', 'Wrap in IIFE to avoid global scope')
|
|
66
|
+
.option('--namespace <name>', 'Message type prefix (default: argus)')
|
|
67
|
+
.addHelpText('after', `
|
|
68
|
+
Examples:
|
|
69
|
+
$ argus eval iframe-helper > helper.js
|
|
70
|
+
$ argus eval iframe-helper --out src/argus.js
|
|
71
|
+
$ argus eval iframe-helper --iife --no-log
|
|
72
|
+
$ argus eval iframe-helper --namespace myapp
|
|
73
|
+
`)
|
|
74
|
+
.action(async (options) => {
|
|
75
|
+
await runIframeHelper(options);
|
|
76
|
+
});
|
|
77
|
+
program
|
|
78
|
+
.command('eval-until')
|
|
79
|
+
.alias('wait')
|
|
80
|
+
.argument('[id]', 'Watcher id to query')
|
|
81
|
+
.argument('[expression]', 'JS expression to poll until truthy (or use --file / --stdin)')
|
|
82
|
+
.description('Poll a JS expression until it returns a truthy value')
|
|
83
|
+
.option('--no-await', 'Do not await promises')
|
|
84
|
+
.option('--timeout <ms>', 'Per-eval timeout in milliseconds')
|
|
85
|
+
.option('--json', 'Output JSON for automation')
|
|
86
|
+
.option('--no-return-by-value', 'Disable returnByValue (use preview)')
|
|
87
|
+
.option('--no-fail-on-exception', 'Do not exit with code 1 when the evaluation throws')
|
|
88
|
+
.option('--retry <n>', 'Retry failed evaluations up to N times')
|
|
89
|
+
.option('-q, --silent', 'Suppress success output; only emit output on error')
|
|
90
|
+
.option('--interval <ms|duration>', 'Polling interval (default: 250ms)')
|
|
91
|
+
.option('--count <n>', 'Stop after N iterations')
|
|
92
|
+
.option('--total-timeout <duration>', 'Max wall-clock time (e.g. 30s, 2m)')
|
|
93
|
+
.option('--verbose', 'Print intermediate (falsy) results')
|
|
94
|
+
.option('-f, --file <path>', 'Read expression from a file')
|
|
95
|
+
.option('--stdin', 'Read expression from stdin')
|
|
96
|
+
.option('--iframe <selector>', 'Eval in iframe via postMessage (requires helper script)')
|
|
97
|
+
.option('--iframe-namespace <name>', 'Message type prefix for iframe eval (default: argus)')
|
|
98
|
+
.option('--iframe-timeout <ms>', 'Timeout for iframe postMessage response (default: 5000)')
|
|
99
|
+
.addHelpText('after', `
|
|
100
|
+
Examples:
|
|
101
|
+
$ argus eval-until app "document.querySelector('#loaded')"
|
|
102
|
+
$ argus eval-until app "window.APP_READY" --interval 500
|
|
103
|
+
$ argus eval-until app "document.title === 'Ready'" --total-timeout 30s
|
|
104
|
+
$ argus eval-until app "window.data" --verbose
|
|
105
|
+
$ argus eval-until app "window.data" --count 20 --interval 1s
|
|
106
|
+
$ argus eval-until app --file ./check.js --total-timeout 1m
|
|
107
|
+
`)
|
|
108
|
+
.action(async (id, expression, options) => {
|
|
109
|
+
await runEvalUntil(id, expression, {
|
|
110
|
+
json: options.json,
|
|
111
|
+
await: options.await,
|
|
112
|
+
timeout: options.timeout,
|
|
113
|
+
returnByValue: options.returnByValue,
|
|
114
|
+
failOnException: options.failOnException,
|
|
115
|
+
retry: options.retry,
|
|
116
|
+
silent: options.silent,
|
|
117
|
+
interval: options.interval,
|
|
118
|
+
count: options.count,
|
|
119
|
+
totalTimeout: options.totalTimeout,
|
|
120
|
+
verbose: options.verbose,
|
|
121
|
+
file: options.file,
|
|
122
|
+
stdin: options.stdin,
|
|
123
|
+
iframe: options.iframe,
|
|
124
|
+
iframeNamespace: options.iframeNamespace,
|
|
125
|
+
iframeTimeout: options.iframeTimeout,
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=registerEval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerEval.js","sourceRoot":"","sources":["../../../src/cli/register/registerEval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerExtension.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+CxD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { runExtensionSetup } from '../../commands/extension/setup.js';
|
|
2
|
+
import { runExtensionRemove } from '../../commands/extension/remove.js';
|
|
3
|
+
import { runExtensionStatus } from '../../commands/extension/status.js';
|
|
4
|
+
import { runExtensionInfo } from '../../commands/extension/info.js';
|
|
5
|
+
import { runExtensionDoctor } from '../../commands/extension/doctor.js';
|
|
6
|
+
export function registerExtension(program) {
|
|
7
|
+
const extension = program.command('extension').alias('ext').description('Browser extension management');
|
|
8
|
+
extension
|
|
9
|
+
.command('setup <extensionId>')
|
|
10
|
+
.description('Install native messaging host for the browser extension')
|
|
11
|
+
.option('--json', 'Output JSON for automation')
|
|
12
|
+
.addHelpText('after', '\nTo get your extension ID:\n 1. Open chrome://extensions\n 2. Enable Developer mode\n 3. Load argus-extension as unpacked\n 4. Copy the ID from the extension card\n')
|
|
13
|
+
.action(async (extensionId, options) => {
|
|
14
|
+
await runExtensionSetup({ extensionId, ...options });
|
|
15
|
+
});
|
|
16
|
+
extension
|
|
17
|
+
.command('remove')
|
|
18
|
+
.description('Uninstall native messaging host')
|
|
19
|
+
.option('--json', 'Output JSON for automation')
|
|
20
|
+
.action(async (options) => {
|
|
21
|
+
await runExtensionRemove(options);
|
|
22
|
+
});
|
|
23
|
+
extension
|
|
24
|
+
.command('status')
|
|
25
|
+
.description('Check native messaging host configuration')
|
|
26
|
+
.option('--json', 'Output JSON for automation')
|
|
27
|
+
.action(async (options) => {
|
|
28
|
+
await runExtensionStatus(options);
|
|
29
|
+
});
|
|
30
|
+
extension
|
|
31
|
+
.command('info')
|
|
32
|
+
.description('Show native messaging host paths and configuration')
|
|
33
|
+
.option('--json', 'Output JSON for automation')
|
|
34
|
+
.action(async (options) => {
|
|
35
|
+
await runExtensionInfo(options);
|
|
36
|
+
});
|
|
37
|
+
extension
|
|
38
|
+
.command('doctor')
|
|
39
|
+
.alias('check')
|
|
40
|
+
.description('Run extension diagnostics and print actionable fixes')
|
|
41
|
+
.option('--json', 'Output JSON for automation')
|
|
42
|
+
.action(async (options) => {
|
|
43
|
+
await runExtensionDoctor(options);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=registerExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerExtension.js","sourceRoot":"","sources":["../../../src/cli/register/registerExtension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAEvE,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAA;IAEvG,SAAS;SACP,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,WAAW,CACX,OAAO,EACP,2KAA2K,CAC3K;SACA,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,iBAAiB,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEH,SAAS;SACP,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEH,SAAS;SACP,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEH,SAAS;SACP,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEH,SAAS;SACP,OAAO,CAAC,QAAQ,CAAC;SACjB,KAAK,CAAC,OAAO,CAAC;SACd,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerFill.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerFill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4BnD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { runDomFill } from '../../commands/domFill.js';
|
|
2
|
+
import { resolveTestId } from '../../commands/resolveTestId.js';
|
|
3
|
+
export function registerFill(program) {
|
|
4
|
+
program
|
|
5
|
+
.command('fill')
|
|
6
|
+
.argument('[id]', 'Watcher id to query')
|
|
7
|
+
.argument('[value]', 'Value to fill (or use --value-file / --value-stdin / "-" for stdin)')
|
|
8
|
+
.description('Fill input/textarea/contenteditable elements with a value')
|
|
9
|
+
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
10
|
+
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
11
|
+
.option('--name <attr>', 'Shorthand for --selector "[name=<attr>]"')
|
|
12
|
+
.option('--value-file <path>', 'Read value from a file')
|
|
13
|
+
.option('--value-stdin', 'Read value from stdin (also triggered by "-" as value arg)')
|
|
14
|
+
.option('--all', 'Allow multiple matches (default: error if >1 match)')
|
|
15
|
+
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
16
|
+
.option('--wait <duration>', 'Wait for selector to appear (e.g. 5s, 500ms)')
|
|
17
|
+
.option('--json', 'Output JSON for automation')
|
|
18
|
+
.addHelpText('after', '\nExamples:\n $ argus fill app --selector "#username" "Bob"\n $ argus fill app --testid "username" "Bob"\n $ argus fill app --name "title" "Hello"\n $ argus fill app --selector "textarea" "New content"\n $ argus fill app --selector "input[type=text]" --all "reset"\n $ argus fill app --selector "#desc" --value-file ./description.txt\n $ echo "hello" | argus fill app --selector "#input" --value-stdin\n $ argus fill app --selector "#input" - < value.txt\n')
|
|
19
|
+
.action(async (id, value, options) => {
|
|
20
|
+
if (options.testid && options.name) {
|
|
21
|
+
console.error('Cannot use both --testid and --name.');
|
|
22
|
+
process.exitCode = 2;
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (!resolveTestId(options))
|
|
26
|
+
return;
|
|
27
|
+
await runDomFill(id, value, options);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=registerFill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerFill.js","sourceRoot":"","sources":["../../../src/cli/register/registerFill.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC5C,OAAO;SACL,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;SACvC,QAAQ,CAAC,SAAS,EAAE,qEAAqE,CAAC;SAC1F,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC;SAC5E,MAAM,CAAC,eAAe,EAAE,0CAA0C,CAAC;SACnE,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,4DAA4D,CAAC;SACrF,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC;SACtE,MAAM,CAAC,iBAAiB,EAAE,+DAA+D,CAAC;SAC1F,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC;SAC3E,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,WAAW,CACX,OAAO,EACP,kdAAkd,CACld;SACA,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACrD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,OAAM;QACP,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QACnC,MAAM,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerHover.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerHover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBpD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { runDomHover } from '../../commands/domHover.js';
|
|
2
|
+
import { resolveTestId } from '../../commands/resolveTestId.js';
|
|
3
|
+
export function registerHover(program) {
|
|
4
|
+
program
|
|
5
|
+
.command('hover')
|
|
6
|
+
.argument('[id]', 'Watcher id to query')
|
|
7
|
+
.description('Hover over element(s) matching a CSS selector')
|
|
8
|
+
.option('--selector <css>', 'CSS selector to match element(s)')
|
|
9
|
+
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
10
|
+
.option('--all', 'Allow multiple matches (default: error if >1 match)')
|
|
11
|
+
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
12
|
+
.option('--json', 'Output JSON for automation')
|
|
13
|
+
.addHelpText('after', '\nExamples:\n $ argus hover app --selector "#btn"\n $ argus hover app --selector ".item" --all\n $ argus hover app --selector "#btn" --json\n')
|
|
14
|
+
.action(async (id, options) => {
|
|
15
|
+
if (!resolveTestId(options))
|
|
16
|
+
return;
|
|
17
|
+
await runDomHover(id, options);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=registerHover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerHover.js","sourceRoot":"","sources":["../../../src/cli/register/registerHover.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC7C,OAAO;SACL,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;SACvC,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC;SAC5E,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC;SACtE,MAAM,CAAC,iBAAiB,EAAE,+DAA+D,CAAC;SAC1F,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,WAAW,CACX,OAAO,EACP,kJAAkJ,CAClJ;SACA,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QACnC,MAAM,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerKeydown.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerKeydown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBtD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { runDomKeydown } from '../../commands/domKeydown.js';
|
|
2
|
+
import { resolveTestId } from '../../commands/resolveTestId.js';
|
|
3
|
+
export function registerKeydown(program) {
|
|
4
|
+
program
|
|
5
|
+
.command('keydown')
|
|
6
|
+
.argument('[id]', 'Watcher id to query')
|
|
7
|
+
.description('Dispatch a keyboard event to the connected page')
|
|
8
|
+
.requiredOption('--key <name>', 'Key name (e.g. Enter, a, ArrowUp)')
|
|
9
|
+
.option('--selector <css>', 'Focus element before dispatching')
|
|
10
|
+
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
11
|
+
.option('--modifiers <list>', 'Comma-separated modifiers: shift,ctrl,alt,meta')
|
|
12
|
+
.option('--json', 'Output JSON for automation')
|
|
13
|
+
.addHelpText('after', '\nExamples:\n $ argus keydown app --key Enter\n $ argus keydown app --key a --selector "#input"\n $ argus keydown app --key a --modifiers shift,ctrl\n')
|
|
14
|
+
.action(async (id, options) => {
|
|
15
|
+
if (!resolveTestId(options))
|
|
16
|
+
return;
|
|
17
|
+
await runDomKeydown(id, options);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=registerKeydown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerKeydown.js","sourceRoot":"","sources":["../../../src/cli/register/registerKeydown.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC/C,OAAO;SACL,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;SACvC,WAAW,CAAC,iDAAiD,CAAC;SAC9D,cAAc,CAAC,cAAc,EAAE,mCAAmC,CAAC;SACnE,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC;SAC5E,MAAM,CAAC,oBAAoB,EAAE,gDAAgD,CAAC;SAC9E,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,WAAW,CACX,OAAO,EACP,2JAA2J,CAC3J;SACA,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QACnC,MAAM,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerLogs.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerLogs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkEnD"}
|