execbro 0.0.1-reserve → 1.10.13
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/LICENSE +32 -0
- package/README.md +496 -0
- package/build/__tests__/helpers/fake-cdp-server.d.ts +56 -0
- package/build/__tests__/helpers/fake-cdp-server.d.ts.map +1 -0
- package/build/__tests__/helpers/fake-cdp-server.js +120 -0
- package/build/__tests__/helpers/fake-cdp-server.js.map +1 -0
- package/build/__tests__/helpers/tap-test-helpers.d.ts +36 -0
- package/build/__tests__/helpers/tap-test-helpers.d.ts.map +1 -0
- package/build/__tests__/helpers/tap-test-helpers.js +130 -0
- package/build/__tests__/helpers/tap-test-helpers.js.map +1 -0
- package/build/__tests__/integration/auto-reconnect.test.d.ts +2 -0
- package/build/__tests__/integration/auto-reconnect.test.d.ts.map +1 -0
- package/build/__tests__/integration/auto-reconnect.test.js +118 -0
- package/build/__tests__/integration/auto-reconnect.test.js.map +1 -0
- package/build/__tests__/integration/connection-health.test.d.ts +2 -0
- package/build/__tests__/integration/connection-health.test.d.ts.map +1 -0
- package/build/__tests__/integration/connection-health.test.js +157 -0
- package/build/__tests__/integration/connection-health.test.js.map +1 -0
- package/build/__tests__/integration/execute-in-app.test.d.ts +2 -0
- package/build/__tests__/integration/execute-in-app.test.d.ts.map +1 -0
- package/build/__tests__/integration/execute-in-app.test.js +124 -0
- package/build/__tests__/integration/execute-in-app.test.js.map +1 -0
- package/build/__tests__/integration/per-call-timeout.test.d.ts +2 -0
- package/build/__tests__/integration/per-call-timeout.test.d.ts.map +1 -0
- package/build/__tests__/integration/per-call-timeout.test.js +103 -0
- package/build/__tests__/integration/per-call-timeout.test.js.map +1 -0
- package/build/__tests__/integration/tap-strategies.test.d.ts +2 -0
- package/build/__tests__/integration/tap-strategies.test.d.ts.map +1 -0
- package/build/__tests__/integration/tap-strategies.test.js +330 -0
- package/build/__tests__/integration/tap-strategies.test.js.map +1 -0
- package/build/__tests__/integration/tools.test.d.ts +2 -0
- package/build/__tests__/integration/tools.test.d.ts.map +1 -0
- package/build/__tests__/integration/tools.test.js +227 -0
- package/build/__tests__/integration/tools.test.js.map +1 -0
- package/build/__tests__/setup.d.ts +2 -0
- package/build/__tests__/setup.d.ts.map +1 -0
- package/build/__tests__/setup.js +15 -0
- package/build/__tests__/setup.js.map +1 -0
- package/build/__tests__/unit/androidEmulatorAvds.test.d.ts +2 -0
- package/build/__tests__/unit/androidEmulatorAvds.test.d.ts.map +1 -0
- package/build/__tests__/unit/androidEmulatorAvds.test.js +98 -0
- package/build/__tests__/unit/androidEmulatorAvds.test.js.map +1 -0
- package/build/__tests__/unit/buildToken.test.d.ts +2 -0
- package/build/__tests__/unit/buildToken.test.d.ts.map +1 -0
- package/build/__tests__/unit/buildToken.test.js +22 -0
- package/build/__tests__/unit/buildToken.test.js.map +1 -0
- package/build/__tests__/unit/bundle.test.d.ts +2 -0
- package/build/__tests__/unit/bundle.test.d.ts.map +1 -0
- package/build/__tests__/unit/bundle.test.js +53 -0
- package/build/__tests__/unit/bundle.test.js.map +1 -0
- package/build/__tests__/unit/burst.test.d.ts +2 -0
- package/build/__tests__/unit/burst.test.d.ts.map +1 -0
- package/build/__tests__/unit/burst.test.js +54 -0
- package/build/__tests__/unit/burst.test.js.map +1 -0
- package/build/__tests__/unit/connection-health.test.d.ts +2 -0
- package/build/__tests__/unit/connection-health.test.d.ts.map +1 -0
- package/build/__tests__/unit/connection-health.test.js +38 -0
- package/build/__tests__/unit/connection-health.test.js.map +1 -0
- package/build/__tests__/unit/debugGlobals.test.d.ts +2 -0
- package/build/__tests__/unit/debugGlobals.test.d.ts.map +1 -0
- package/build/__tests__/unit/debugGlobals.test.js +14 -0
- package/build/__tests__/unit/debugGlobals.test.js.map +1 -0
- package/build/__tests__/unit/deviceDiscovery.test.d.ts +2 -0
- package/build/__tests__/unit/deviceDiscovery.test.d.ts.map +1 -0
- package/build/__tests__/unit/deviceDiscovery.test.js +119 -0
- package/build/__tests__/unit/deviceDiscovery.test.js.map +1 -0
- package/build/__tests__/unit/deviceResolver.test.d.ts +2 -0
- package/build/__tests__/unit/deviceResolver.test.d.ts.map +1 -0
- package/build/__tests__/unit/deviceResolver.test.js +261 -0
- package/build/__tests__/unit/deviceResolver.test.js.map +1 -0
- package/build/__tests__/unit/escapeNonAscii.test.d.ts +2 -0
- package/build/__tests__/unit/escapeNonAscii.test.d.ts.map +1 -0
- package/build/__tests__/unit/escapeNonAscii.test.js +76 -0
- package/build/__tests__/unit/escapeNonAscii.test.js.map +1 -0
- package/build/__tests__/unit/exec.test.d.ts +2 -0
- package/build/__tests__/unit/exec.test.d.ts.map +1 -0
- package/build/__tests__/unit/exec.test.js +54 -0
- package/build/__tests__/unit/exec.test.js.map +1 -0
- package/build/__tests__/unit/executor.test.d.ts +2 -0
- package/build/__tests__/unit/executor.test.d.ts.map +1 -0
- package/build/__tests__/unit/executor.test.js +220 -0
- package/build/__tests__/unit/executor.test.js.map +1 -0
- package/build/__tests__/unit/failureArtifact.test.d.ts +2 -0
- package/build/__tests__/unit/failureArtifact.test.d.ts.map +1 -0
- package/build/__tests__/unit/failureArtifact.test.js +207 -0
- package/build/__tests__/unit/failureArtifact.test.js.map +1 -0
- package/build/__tests__/unit/fastRefreshRecorder.test.d.ts +2 -0
- package/build/__tests__/unit/fastRefreshRecorder.test.d.ts.map +1 -0
- package/build/__tests__/unit/fastRefreshRecorder.test.js +68 -0
- package/build/__tests__/unit/fastRefreshRecorder.test.js.map +1 -0
- package/build/__tests__/unit/fastRefreshTools.test.d.ts +2 -0
- package/build/__tests__/unit/fastRefreshTools.test.d.ts.map +1 -0
- package/build/__tests__/unit/fastRefreshTools.test.js +112 -0
- package/build/__tests__/unit/fastRefreshTools.test.js.map +1 -0
- package/build/__tests__/unit/fiberMatch.test.d.ts +2 -0
- package/build/__tests__/unit/fiberMatch.test.d.ts.map +1 -0
- package/build/__tests__/unit/fiberMatch.test.js +114 -0
- package/build/__tests__/unit/fiberMatch.test.js.map +1 -0
- package/build/__tests__/unit/fingerprint.test.d.ts +2 -0
- package/build/__tests__/unit/fingerprint.test.d.ts.map +1 -0
- package/build/__tests__/unit/fingerprint.test.js +99 -0
- package/build/__tests__/unit/fingerprint.test.js.map +1 -0
- package/build/__tests__/unit/focusedInput.test.d.ts +2 -0
- package/build/__tests__/unit/focusedInput.test.d.ts.map +1 -0
- package/build/__tests__/unit/focusedInput.test.js +58 -0
- package/build/__tests__/unit/focusedInput.test.js.map +1 -0
- package/build/__tests__/unit/focusedInputTools.test.d.ts +2 -0
- package/build/__tests__/unit/focusedInputTools.test.d.ts.map +1 -0
- package/build/__tests__/unit/focusedInputTools.test.js +79 -0
- package/build/__tests__/unit/focusedInputTools.test.js.map +1 -0
- package/build/__tests__/unit/iconSemantics.test.d.ts +2 -0
- package/build/__tests__/unit/iconSemantics.test.d.ts.map +1 -0
- package/build/__tests__/unit/iconSemantics.test.js +80 -0
- package/build/__tests__/unit/iconSemantics.test.js.map +1 -0
- package/build/__tests__/unit/imageBuffer.test.d.ts +2 -0
- package/build/__tests__/unit/imageBuffer.test.d.ts.map +1 -0
- package/build/__tests__/unit/imageBuffer.test.js +128 -0
- package/build/__tests__/unit/imageBuffer.test.js.map +1 -0
- package/build/__tests__/unit/logs.test.d.ts +2 -0
- package/build/__tests__/unit/logs.test.d.ts.map +1 -0
- package/build/__tests__/unit/logs.test.js +90 -0
- package/build/__tests__/unit/logs.test.js.map +1 -0
- package/build/__tests__/unit/measureComponent.test.d.ts +2 -0
- package/build/__tests__/unit/measureComponent.test.d.ts.map +1 -0
- package/build/__tests__/unit/measureComponent.test.js +66 -0
- package/build/__tests__/unit/measureComponent.test.js.map +1 -0
- package/build/__tests__/unit/measureComponentTools.test.d.ts +2 -0
- package/build/__tests__/unit/measureComponentTools.test.d.ts.map +1 -0
- package/build/__tests__/unit/measureComponentTools.test.js +94 -0
- package/build/__tests__/unit/measureComponentTools.test.js.map +1 -0
- package/build/__tests__/unit/metro.test.d.ts +2 -0
- package/build/__tests__/unit/metro.test.d.ts.map +1 -0
- package/build/__tests__/unit/metro.test.js +61 -0
- package/build/__tests__/unit/metro.test.js.map +1 -0
- package/build/__tests__/unit/network.test.d.ts +2 -0
- package/build/__tests__/unit/network.test.d.ts.map +1 -0
- package/build/__tests__/unit/network.test.js +102 -0
- package/build/__tests__/unit/network.test.js.map +1 -0
- package/build/__tests__/unit/networkInterceptor.test.d.ts +2 -0
- package/build/__tests__/unit/networkInterceptor.test.d.ts.map +1 -0
- package/build/__tests__/unit/networkInterceptor.test.js +104 -0
- package/build/__tests__/unit/networkInterceptor.test.js.map +1 -0
- package/build/__tests__/unit/probe.test.d.ts +2 -0
- package/build/__tests__/unit/probe.test.d.ts.map +1 -0
- package/build/__tests__/unit/probe.test.js +62 -0
- package/build/__tests__/unit/probe.test.js.map +1 -0
- package/build/__tests__/unit/rnGlobalsBootstrap.test.d.ts +2 -0
- package/build/__tests__/unit/rnGlobalsBootstrap.test.d.ts.map +1 -0
- package/build/__tests__/unit/rnGlobalsBootstrap.test.js +29 -0
- package/build/__tests__/unit/rnGlobalsBootstrap.test.js.map +1 -0
- package/build/__tests__/unit/screenState.test.d.ts +2 -0
- package/build/__tests__/unit/screenState.test.d.ts.map +1 -0
- package/build/__tests__/unit/screenState.test.js +384 -0
- package/build/__tests__/unit/screenState.test.js.map +1 -0
- package/build/__tests__/unit/screenshot-diff.test.d.ts +2 -0
- package/build/__tests__/unit/screenshot-diff.test.d.ts.map +1 -0
- package/build/__tests__/unit/screenshot-diff.test.js +97 -0
- package/build/__tests__/unit/screenshot-diff.test.js.map +1 -0
- package/build/__tests__/unit/tap-evidence.test.d.ts +2 -0
- package/build/__tests__/unit/tap-evidence.test.d.ts.map +1 -0
- package/build/__tests__/unit/tap-evidence.test.js +89 -0
- package/build/__tests__/unit/tap-evidence.test.js.map +1 -0
- package/build/__tests__/unit/tap.test.d.ts +2 -0
- package/build/__tests__/unit/tap.test.d.ts.map +1 -0
- package/build/__tests__/unit/tap.test.js +767 -0
- package/build/__tests__/unit/tap.test.js.map +1 -0
- package/build/__tests__/unit/timeoutClamp.test.d.ts +2 -0
- package/build/__tests__/unit/timeoutClamp.test.d.ts.map +1 -0
- package/build/__tests__/unit/timeoutClamp.test.js +17 -0
- package/build/__tests__/unit/timeoutClamp.test.js.map +1 -0
- package/build/__tests__/unit/toolDescriptions.test.d.ts +2 -0
- package/build/__tests__/unit/toolDescriptions.test.d.ts.map +1 -0
- package/build/__tests__/unit/toolDescriptions.test.js +145 -0
- package/build/__tests__/unit/toolDescriptions.test.js.map +1 -0
- package/build/__tests__/unit/transportClassify.test.d.ts +2 -0
- package/build/__tests__/unit/transportClassify.test.d.ts.map +1 -0
- package/build/__tests__/unit/transportClassify.test.js +60 -0
- package/build/__tests__/unit/transportClassify.test.js.map +1 -0
- package/build/__tests__/unit/verifyAction.test.d.ts +2 -0
- package/build/__tests__/unit/verifyAction.test.d.ts.map +1 -0
- package/build/__tests__/unit/verifyAction.test.js +26 -0
- package/build/__tests__/unit/verifyAction.test.js.map +1 -0
- package/build/core/android.d.ts +299 -0
- package/build/core/android.d.ts.map +1 -0
- package/build/core/android.js +1582 -0
- package/build/core/android.js.map +1 -0
- package/build/core/appDetection.d.ts +20 -0
- package/build/core/appDetection.d.ts.map +1 -0
- package/build/core/appDetection.js +167 -0
- package/build/core/appDetection.js.map +1 -0
- package/build/core/bundle.d.ts +49 -0
- package/build/core/bundle.d.ts.map +1 -0
- package/build/core/bundle.js +356 -0
- package/build/core/bundle.js.map +1 -0
- package/build/core/componentSearch.d.ts +41 -0
- package/build/core/componentSearch.d.ts.map +1 -0
- package/build/core/componentSearch.js +588 -0
- package/build/core/componentSearch.js.map +1 -0
- package/build/core/componentTree.d.ts +13 -0
- package/build/core/componentTree.d.ts.map +1 -0
- package/build/core/componentTree.js +275 -0
- package/build/core/componentTree.js.map +1 -0
- package/build/core/config.d.ts +9 -0
- package/build/core/config.d.ts.map +1 -0
- package/build/core/config.js +28 -0
- package/build/core/config.js.map +1 -0
- package/build/core/connection.d.ts +102 -0
- package/build/core/connection.d.ts.map +1 -0
- package/build/core/connection.js +1710 -0
- package/build/core/connection.js.map +1 -0
- package/build/core/connectionState.d.ts +122 -0
- package/build/core/connectionState.d.ts.map +1 -0
- package/build/core/connectionState.js +313 -0
- package/build/core/connectionState.js.map +1 -0
- package/build/core/debugGlobals.d.ts +6 -0
- package/build/core/debugGlobals.d.ts.map +1 -0
- package/build/core/debugGlobals.js +370 -0
- package/build/core/debugGlobals.js.map +1 -0
- package/build/core/deviceDiscovery.d.ts +52 -0
- package/build/core/deviceDiscovery.d.ts.map +1 -0
- package/build/core/deviceDiscovery.js +74 -0
- package/build/core/deviceDiscovery.js.map +1 -0
- package/build/core/deviceResolver.d.ts +44 -0
- package/build/core/deviceResolver.d.ts.map +1 -0
- package/build/core/deviceResolver.js +225 -0
- package/build/core/deviceResolver.js.map +1 -0
- package/build/core/errorScreenParser.d.ts +30 -0
- package/build/core/errorScreenParser.d.ts.map +1 -0
- package/build/core/errorScreenParser.js +198 -0
- package/build/core/errorScreenParser.js.map +1 -0
- package/build/core/errors.d.ts +14 -0
- package/build/core/errors.d.ts.map +1 -0
- package/build/core/errors.js +17 -0
- package/build/core/errors.js.map +1 -0
- package/build/core/escapeNonAscii.d.ts +18 -0
- package/build/core/escapeNonAscii.d.ts.map +1 -0
- package/build/core/escapeNonAscii.js +352 -0
- package/build/core/escapeNonAscii.js.map +1 -0
- package/build/core/exec.d.ts +22 -0
- package/build/core/exec.d.ts.map +1 -0
- package/build/core/exec.js +54 -0
- package/build/core/exec.js.map +1 -0
- package/build/core/executor.d.ts +9 -0
- package/build/core/executor.d.ts.map +1 -0
- package/build/core/executor.js +12 -0
- package/build/core/executor.js.map +1 -0
- package/build/core/failureArtifact.d.ts +120 -0
- package/build/core/failureArtifact.d.ts.map +1 -0
- package/build/core/failureArtifact.js +113 -0
- package/build/core/failureArtifact.js.map +1 -0
- package/build/core/fastRefreshRecorder.d.ts +23 -0
- package/build/core/fastRefreshRecorder.d.ts.map +1 -0
- package/build/core/fastRefreshRecorder.js +83 -0
- package/build/core/fastRefreshRecorder.js.map +1 -0
- package/build/core/fastRefreshTools.d.ts +19 -0
- package/build/core/fastRefreshTools.d.ts.map +1 -0
- package/build/core/fastRefreshTools.js +71 -0
- package/build/core/fastRefreshTools.js.map +1 -0
- package/build/core/feedback.d.ts +18 -0
- package/build/core/feedback.d.ts.map +1 -0
- package/build/core/feedback.js +73 -0
- package/build/core/feedback.js.map +1 -0
- package/build/core/fiberMatch.d.ts +25 -0
- package/build/core/fiberMatch.d.ts.map +1 -0
- package/build/core/fiberMatch.js +35 -0
- package/build/core/fiberMatch.js.map +1 -0
- package/build/core/fingerprint.d.ts +4 -0
- package/build/core/fingerprint.d.ts.map +1 -0
- package/build/core/fingerprint.js +47 -0
- package/build/core/fingerprint.js.map +1 -0
- package/build/core/focusedInput.d.ts +27 -0
- package/build/core/focusedInput.d.ts.map +1 -0
- package/build/core/focusedInput.js +110 -0
- package/build/core/focusedInput.js.map +1 -0
- package/build/core/focusedInputTools.d.ts +21 -0
- package/build/core/focusedInputTools.d.ts.map +1 -0
- package/build/core/focusedInputTools.js +51 -0
- package/build/core/focusedInputTools.js.map +1 -0
- package/build/core/format.d.ts +8 -0
- package/build/core/format.d.ts.map +1 -0
- package/build/core/format.js +34 -0
- package/build/core/format.js.map +1 -0
- package/build/core/guides.d.ts +21 -0
- package/build/core/guides.d.ts.map +1 -0
- package/build/core/guides.js +397 -0
- package/build/core/guides.js.map +1 -0
- package/build/core/iconSemantics.d.ts +18 -0
- package/build/core/iconSemantics.d.ts.map +1 -0
- package/build/core/iconSemantics.js +114 -0
- package/build/core/iconSemantics.js.map +1 -0
- package/build/core/imageBuffer.d.ts +37 -0
- package/build/core/imageBuffer.d.ts.map +1 -0
- package/build/core/imageBuffer.js +58 -0
- package/build/core/imageBuffer.js.map +1 -0
- package/build/core/index.d.ts +37 -0
- package/build/core/index.d.ts.map +1 -0
- package/build/core/index.js +66 -0
- package/build/core/index.js.map +1 -0
- package/build/core/inspector.d.ts +55 -0
- package/build/core/inspector.d.ts.map +1 -0
- package/build/core/inspector.js +603 -0
- package/build/core/inspector.js.map +1 -0
- package/build/core/ios.d.ts +263 -0
- package/build/core/ios.d.ts.map +1 -0
- package/build/core/ios.js +1705 -0
- package/build/core/ios.js.map +1 -0
- package/build/core/jsExecute.d.ts +62 -0
- package/build/core/jsExecute.d.ts.map +1 -0
- package/build/core/jsExecute.js +696 -0
- package/build/core/jsExecute.js.map +1 -0
- package/build/core/license.d.ts +48 -0
- package/build/core/license.d.ts.map +1 -0
- package/build/core/license.js +267 -0
- package/build/core/license.js.map +1 -0
- package/build/core/logbox.d.ts +58 -0
- package/build/core/logbox.d.ts.map +1 -0
- package/build/core/logbox.js +330 -0
- package/build/core/logbox.js.map +1 -0
- package/build/core/logs.d.ts +44 -0
- package/build/core/logs.d.ts.map +1 -0
- package/build/core/logs.js +149 -0
- package/build/core/logs.js.map +1 -0
- package/build/core/measureComponent.d.ts +19 -0
- package/build/core/measureComponent.d.ts.map +1 -0
- package/build/core/measureComponent.js +94 -0
- package/build/core/measureComponent.js.map +1 -0
- package/build/core/measureComponentTools.d.ts +6 -0
- package/build/core/measureComponentTools.d.ts.map +1 -0
- package/build/core/measureComponentTools.js +43 -0
- package/build/core/measureComponentTools.js.map +1 -0
- package/build/core/metro.d.ts +31 -0
- package/build/core/metro.d.ts.map +1 -0
- package/build/core/metro.js +124 -0
- package/build/core/metro.js.map +1 -0
- package/build/core/nativeOnlyHints.d.ts +14 -0
- package/build/core/nativeOnlyHints.d.ts.map +1 -0
- package/build/core/nativeOnlyHints.js +58 -0
- package/build/core/nativeOnlyHints.js.map +1 -0
- package/build/core/network.d.ts +43 -0
- package/build/core/network.d.ts.map +1 -0
- package/build/core/network.js +217 -0
- package/build/core/network.js.map +1 -0
- package/build/core/networkInterceptor.d.ts +30 -0
- package/build/core/networkInterceptor.d.ts.map +1 -0
- package/build/core/networkInterceptor.js +211 -0
- package/build/core/networkInterceptor.js.map +1 -0
- package/build/core/ocr.d.ts +87 -0
- package/build/core/ocr.d.ts.map +1 -0
- package/build/core/ocr.js +335 -0
- package/build/core/ocr.js.map +1 -0
- package/build/core/paths.d.ts +2 -0
- package/build/core/paths.d.ts.map +1 -0
- package/build/core/paths.js +28 -0
- package/build/core/paths.js.map +1 -0
- package/build/core/posthog.d.ts +5 -0
- package/build/core/posthog.d.ts.map +1 -0
- package/build/core/posthog.js +52 -0
- package/build/core/posthog.js.map +1 -0
- package/build/core/pressables.d.ts +46 -0
- package/build/core/pressables.d.ts.map +1 -0
- package/build/core/pressables.js +1719 -0
- package/build/core/pressables.js.map +1 -0
- package/build/core/probe.d.ts +12 -0
- package/build/core/probe.d.ts.map +1 -0
- package/build/core/probe.js +56 -0
- package/build/core/probe.js.map +1 -0
- package/build/core/redux.d.ts +22 -0
- package/build/core/redux.d.ts.map +1 -0
- package/build/core/redux.js +116 -0
- package/build/core/redux.js.map +1 -0
- package/build/core/register.d.ts +8 -0
- package/build/core/register.d.ts.map +1 -0
- package/build/core/register.js +202 -0
- package/build/core/register.js.map +1 -0
- package/build/core/rnGlobalsBootstrap.d.ts +16 -0
- package/build/core/rnGlobalsBootstrap.d.ts.map +1 -0
- package/build/core/rnGlobalsBootstrap.js +116 -0
- package/build/core/rnGlobalsBootstrap.js.map +1 -0
- package/build/core/screenLayout.d.ts +53 -0
- package/build/core/screenLayout.d.ts.map +1 -0
- package/build/core/screenLayout.js +878 -0
- package/build/core/screenLayout.js.map +1 -0
- package/build/core/screenState.d.ts +166 -0
- package/build/core/screenState.d.ts.map +1 -0
- package/build/core/screenState.js +1352 -0
- package/build/core/screenState.js.map +1 -0
- package/build/core/sdkBridge.d.ts +67 -0
- package/build/core/sdkBridge.d.ts.map +1 -0
- package/build/core/sdkBridge.js +148 -0
- package/build/core/sdkBridge.js.map +1 -0
- package/build/core/state.d.ts +37 -0
- package/build/core/state.d.ts.map +1 -0
- package/build/core/state.js +124 -0
- package/build/core/state.js.map +1 -0
- package/build/core/telemetry.d.ts +50 -0
- package/build/core/telemetry.d.ts.map +1 -0
- package/build/core/telemetry.js +653 -0
- package/build/core/telemetry.js.map +1 -0
- package/build/core/toolHelpers.d.ts +24 -0
- package/build/core/toolHelpers.d.ts.map +1 -0
- package/build/core/toolHelpers.js +118 -0
- package/build/core/toolHelpers.js.map +1 -0
- package/build/core/types.d.ts +162 -0
- package/build/core/types.d.ts.map +1 -0
- package/build/core/types.js +2 -0
- package/build/core/types.js.map +1 -0
- package/build/index.d.ts +4 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +132 -0
- package/build/index.js.map +1 -0
- package/build/pro/screenshot-diff.d.ts +10 -0
- package/build/pro/screenshot-diff.d.ts.map +1 -0
- package/build/pro/screenshot-diff.js +38 -0
- package/build/pro/screenshot-diff.js.map +1 -0
- package/build/pro/tap.d.ts +291 -0
- package/build/pro/tap.d.ts.map +1 -0
- package/build/pro/tap.js +1839 -0
- package/build/pro/tap.js.map +1 -0
- package/build/pro/verifyAction.d.ts +50 -0
- package/build/pro/verifyAction.d.ts.map +1 -0
- package/build/pro/verifyAction.js +285 -0
- package/build/pro/verifyAction.js.map +1 -0
- package/build/tools/_deviceArg.d.ts +45 -0
- package/build/tools/_deviceArg.d.ts.map +1 -0
- package/build/tools/_deviceArg.js +58 -0
- package/build/tools/_deviceArg.js.map +1 -0
- package/build/tools/accountTools.d.ts +46 -0
- package/build/tools/accountTools.d.ts.map +1 -0
- package/build/tools/accountTools.js +223 -0
- package/build/tools/accountTools.js.map +1 -0
- package/build/tools/bundleTools.d.ts +3 -0
- package/build/tools/bundleTools.d.ts.map +1 -0
- package/build/tools/bundleTools.js +375 -0
- package/build/tools/bundleTools.js.map +1 -0
- package/build/tools/componentTools.d.ts +3 -0
- package/build/tools/componentTools.d.ts.map +1 -0
- package/build/tools/componentTools.js +746 -0
- package/build/tools/componentTools.js.map +1 -0
- package/build/tools/connectionTools.d.ts +3 -0
- package/build/tools/connectionTools.d.ts.map +1 -0
- package/build/tools/connectionTools.js +625 -0
- package/build/tools/connectionTools.js.map +1 -0
- package/build/tools/deviceTools.d.ts +3 -0
- package/build/tools/deviceTools.d.ts.map +1 -0
- package/build/tools/deviceTools.js +423 -0
- package/build/tools/deviceTools.js.map +1 -0
- package/build/tools/executionTools.d.ts +3 -0
- package/build/tools/executionTools.d.ts.map +1 -0
- package/build/tools/executionTools.js +243 -0
- package/build/tools/executionTools.js.map +1 -0
- package/build/tools/interactionTools.d.ts +3 -0
- package/build/tools/interactionTools.d.ts.map +1 -0
- package/build/tools/interactionTools.js +539 -0
- package/build/tools/interactionTools.js.map +1 -0
- package/build/tools/logTools.d.ts +3 -0
- package/build/tools/logTools.d.ts.map +1 -0
- package/build/tools/logTools.js +371 -0
- package/build/tools/logTools.js.map +1 -0
- package/build/tools/metaTools.d.ts +7 -0
- package/build/tools/metaTools.d.ts.map +1 -0
- package/build/tools/metaTools.js +186 -0
- package/build/tools/metaTools.js.map +1 -0
- package/build/tools/networkTools.d.ts +3 -0
- package/build/tools/networkTools.d.ts.map +1 -0
- package/build/tools/networkTools.js +478 -0
- package/build/tools/networkTools.js.map +1 -0
- package/build/tools/reduxTools.d.ts +3 -0
- package/build/tools/reduxTools.d.ts.map +1 -0
- package/build/tools/reduxTools.js +83 -0
- package/build/tools/reduxTools.js.map +1 -0
- package/build/tools/screenshotTools.d.ts +3 -0
- package/build/tools/screenshotTools.d.ts.map +1 -0
- package/build/tools/screenshotTools.js +703 -0
- package/build/tools/screenshotTools.js.map +1 -0
- package/package.json +63 -2
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
import WebSocket from "ws";
|
|
2
|
+
import { createWebSocketWithOriginFallback } from "./connection.js";
|
|
3
|
+
// Circular buffer for bundle errors
|
|
4
|
+
export class BundleErrorBuffer {
|
|
5
|
+
errors = [];
|
|
6
|
+
maxSize;
|
|
7
|
+
lastStatus = { isBuilding: false, hasError: false };
|
|
8
|
+
constructor(maxSize = 100) {
|
|
9
|
+
this.maxSize = maxSize;
|
|
10
|
+
}
|
|
11
|
+
add(error) {
|
|
12
|
+
this.errors.push(error);
|
|
13
|
+
if (this.errors.length > this.maxSize) {
|
|
14
|
+
this.errors.shift();
|
|
15
|
+
}
|
|
16
|
+
this.lastStatus.hasError = true;
|
|
17
|
+
}
|
|
18
|
+
get(count) {
|
|
19
|
+
if (count && count > 0) {
|
|
20
|
+
return this.errors.slice(-count);
|
|
21
|
+
}
|
|
22
|
+
return [...this.errors];
|
|
23
|
+
}
|
|
24
|
+
getLatest() {
|
|
25
|
+
return this.errors.length > 0 ? this.errors[this.errors.length - 1] : null;
|
|
26
|
+
}
|
|
27
|
+
clear() {
|
|
28
|
+
const count = this.errors.length;
|
|
29
|
+
this.errors = [];
|
|
30
|
+
this.lastStatus.hasError = false;
|
|
31
|
+
return count;
|
|
32
|
+
}
|
|
33
|
+
get size() {
|
|
34
|
+
return this.errors.length;
|
|
35
|
+
}
|
|
36
|
+
getStatus() {
|
|
37
|
+
return { ...this.lastStatus };
|
|
38
|
+
}
|
|
39
|
+
updateStatus(status) {
|
|
40
|
+
this.lastStatus = { ...this.lastStatus, ...status };
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// Parse Metro error message into structured BundleError
|
|
44
|
+
export function parseMetroError(errorText) {
|
|
45
|
+
const error = {
|
|
46
|
+
timestamp: new Date(),
|
|
47
|
+
type: "other",
|
|
48
|
+
message: errorText
|
|
49
|
+
};
|
|
50
|
+
// Parse "Unable to resolve" errors (module resolution)
|
|
51
|
+
const resolutionMatch = errorText.match(/Unable to resolve ["']([^"']+)["'] from ["']([^"']+)["']/);
|
|
52
|
+
if (resolutionMatch) {
|
|
53
|
+
error.type = "resolution";
|
|
54
|
+
error.message = `Unable to resolve "${resolutionMatch[1]}"`;
|
|
55
|
+
error.file = resolutionMatch[2];
|
|
56
|
+
}
|
|
57
|
+
// Parse file path and line/column info
|
|
58
|
+
const locationMatch = errorText.match(/> (\d+) \|/);
|
|
59
|
+
if (locationMatch) {
|
|
60
|
+
error.line = parseInt(locationMatch[1], 10);
|
|
61
|
+
}
|
|
62
|
+
// Look for column marker (^)
|
|
63
|
+
const columnMatch = errorText.match(/\n\s*\|?\s*\^/);
|
|
64
|
+
if (columnMatch) {
|
|
65
|
+
const markerLine = errorText.split('\n').find(l => l.includes('^') && !l.includes('|'));
|
|
66
|
+
if (markerLine) {
|
|
67
|
+
error.column = markerLine.indexOf('^');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Parse import stack
|
|
71
|
+
const importStackMatch = errorText.match(/Import stack:[\s\S]*$/);
|
|
72
|
+
if (importStackMatch) {
|
|
73
|
+
const stackText = importStackMatch[0];
|
|
74
|
+
const imports = stackText.match(/\| import ["']([^"']+)["']/g);
|
|
75
|
+
if (imports) {
|
|
76
|
+
error.importStack = imports.map(i => {
|
|
77
|
+
const m = i.match(/["']([^"']+)["']/);
|
|
78
|
+
return m ? m[1] : i;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
// Extract file references from stack
|
|
82
|
+
const fileRefs = stackText.match(/^\s*([^\s|]+\.(tsx?|jsx?))/gm);
|
|
83
|
+
if (fileRefs) {
|
|
84
|
+
error.importStack = fileRefs.map(f => f.trim()).filter(f => !f.startsWith('|'));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Capture code frame if present
|
|
88
|
+
const codeFrameMatch = errorText.match(/(\s*\d+\s*\|[\s\S]*?\^)/);
|
|
89
|
+
if (codeFrameMatch) {
|
|
90
|
+
error.codeFrame = codeFrameMatch[1];
|
|
91
|
+
}
|
|
92
|
+
// Detect syntax errors
|
|
93
|
+
if (errorText.includes('SyntaxError') || errorText.includes('Unexpected token')) {
|
|
94
|
+
error.type = "syntax";
|
|
95
|
+
}
|
|
96
|
+
// Detect transform errors
|
|
97
|
+
if (errorText.includes('TransformError') || errorText.includes('babel')) {
|
|
98
|
+
error.type = "transform";
|
|
99
|
+
}
|
|
100
|
+
return error;
|
|
101
|
+
}
|
|
102
|
+
// Format bundle error for display
|
|
103
|
+
export function formatBundleError(error) {
|
|
104
|
+
const lines = [];
|
|
105
|
+
const time = error.timestamp.toLocaleTimeString();
|
|
106
|
+
lines.push(`[${time}] ${error.type.toUpperCase()} ERROR`);
|
|
107
|
+
lines.push(`Message: ${error.message}`);
|
|
108
|
+
if (error.file) {
|
|
109
|
+
let location = `File: ${error.file}`;
|
|
110
|
+
if (error.line) {
|
|
111
|
+
location += `:${error.line}`;
|
|
112
|
+
if (error.column) {
|
|
113
|
+
location += `:${error.column}`;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
lines.push(location);
|
|
117
|
+
}
|
|
118
|
+
if (error.codeFrame) {
|
|
119
|
+
lines.push("\nCode:");
|
|
120
|
+
lines.push(error.codeFrame);
|
|
121
|
+
}
|
|
122
|
+
if (error.importStack && error.importStack.length > 0) {
|
|
123
|
+
lines.push("\nImport Stack:");
|
|
124
|
+
error.importStack.forEach(imp => {
|
|
125
|
+
lines.push(` - ${imp}`);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
return lines.join("\n");
|
|
129
|
+
}
|
|
130
|
+
// Format multiple bundle errors
|
|
131
|
+
export function formatBundleErrors(errors) {
|
|
132
|
+
if (errors.length === 0) {
|
|
133
|
+
return "No bundle errors captured.";
|
|
134
|
+
}
|
|
135
|
+
return errors.map(formatBundleError).join("\n\n---\n\n");
|
|
136
|
+
}
|
|
137
|
+
// Metro WebSocket connection for build events
|
|
138
|
+
let metroEventWs = null;
|
|
139
|
+
// Self-owned shared buffer. Owning it here (rather than constructing it in
|
|
140
|
+
// state.ts and injecting back via initBundleErrorBuffer) breaks the
|
|
141
|
+
// bundle ↔ connection ↔ state cycle: state.ts no longer needs to import
|
|
142
|
+
// the BundleErrorBuffer class at module-init time. Re-exported by state.ts.
|
|
143
|
+
export const bundleErrorBuffer = new BundleErrorBuffer(100);
|
|
144
|
+
// Metro build events reconnection state
|
|
145
|
+
let metroBuildEventPort = null;
|
|
146
|
+
let metroBuildEventReconnecting = false;
|
|
147
|
+
let metroBuildEventAttempts = 0;
|
|
148
|
+
const MAX_BUILD_EVENT_RECONNECT_ATTEMPTS = 5;
|
|
149
|
+
const BUILD_EVENT_BACKOFF_BASE_MS = 500;
|
|
150
|
+
/**
|
|
151
|
+
* Schedule reconnection for Metro build events with exponential backoff
|
|
152
|
+
*/
|
|
153
|
+
function scheduleBuildEventReconnection(port) {
|
|
154
|
+
if (metroBuildEventReconnecting)
|
|
155
|
+
return;
|
|
156
|
+
if (metroBuildEventAttempts >= MAX_BUILD_EVENT_RECONNECT_ATTEMPTS) {
|
|
157
|
+
console.error(`[execbro] Max reconnection attempts for Metro build events reached`);
|
|
158
|
+
metroBuildEventReconnecting = false;
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
metroBuildEventReconnecting = true;
|
|
162
|
+
const delay = Math.min(BUILD_EVENT_BACKOFF_BASE_MS * Math.pow(2, metroBuildEventAttempts), 8000);
|
|
163
|
+
console.error(`[execbro] Scheduling Metro build events reconnection in ${delay}ms (attempt ${metroBuildEventAttempts + 1}/${MAX_BUILD_EVENT_RECONNECT_ATTEMPTS})`);
|
|
164
|
+
setTimeout(async () => {
|
|
165
|
+
metroBuildEventAttempts++;
|
|
166
|
+
try {
|
|
167
|
+
await connectMetroBuildEvents(port);
|
|
168
|
+
// Reset on successful connection
|
|
169
|
+
metroBuildEventAttempts = 0;
|
|
170
|
+
metroBuildEventReconnecting = false;
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
metroBuildEventReconnecting = false;
|
|
174
|
+
if (metroBuildEventAttempts < MAX_BUILD_EVENT_RECONNECT_ATTEMPTS) {
|
|
175
|
+
scheduleBuildEventReconnection(port);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
console.error("[execbro] Failed to reconnect to Metro build events");
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}, delay);
|
|
182
|
+
}
|
|
183
|
+
// Connect to Metro's WebSocket for build events
|
|
184
|
+
export async function connectMetroBuildEvents(port) {
|
|
185
|
+
return new Promise(async (resolve, reject) => {
|
|
186
|
+
if (metroEventWs && metroEventWs.readyState === WebSocket.OPEN) {
|
|
187
|
+
resolve("Already connected to Metro build events");
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
try {
|
|
191
|
+
// Metro exposes build events via its main WebSocket or through /hot endpoint
|
|
192
|
+
const ws = await createWebSocketWithOriginFallback(`ws://localhost:${port}/hot`);
|
|
193
|
+
metroEventWs = ws;
|
|
194
|
+
metroBuildEventPort = port;
|
|
195
|
+
// Reset reconnection state on successful connection
|
|
196
|
+
metroBuildEventAttempts = 0;
|
|
197
|
+
metroBuildEventReconnecting = false;
|
|
198
|
+
console.error(`[execbro] Connected to Metro build events on port ${port}`);
|
|
199
|
+
ws.on("message", (data) => {
|
|
200
|
+
try {
|
|
201
|
+
const message = JSON.parse(data.toString());
|
|
202
|
+
handleMetroBuildMessage(message);
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
// Non-JSON message, might be an error string
|
|
206
|
+
const text = data.toString();
|
|
207
|
+
if (text.includes('error') || text.includes('Error') || text.includes('Unable to resolve')) {
|
|
208
|
+
bundleErrorBuffer.add(parseMetroError(text));
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
ws.on("close", () => {
|
|
213
|
+
metroEventWs = null;
|
|
214
|
+
console.error("[execbro] Disconnected from Metro build events");
|
|
215
|
+
// Trigger auto-reconnection
|
|
216
|
+
if (metroBuildEventPort && !metroBuildEventReconnecting) {
|
|
217
|
+
scheduleBuildEventReconnection(metroBuildEventPort);
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
ws.on("error", (error) => {
|
|
221
|
+
console.error(`[execbro] Metro build events WebSocket error: ${error?.message || error}`);
|
|
222
|
+
});
|
|
223
|
+
resolve(`Connected to Metro build events on port ${port}`);
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
227
|
+
if (!metroBuildEventReconnecting) {
|
|
228
|
+
reject(`Failed to connect to Metro build events: ${errorMsg}`);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
// Handle Metro build event messages
|
|
234
|
+
function handleMetroBuildMessage(message) {
|
|
235
|
+
const type = message.type;
|
|
236
|
+
// Handle bundle build start
|
|
237
|
+
if (type === "bundle_build_started") {
|
|
238
|
+
bundleErrorBuffer.updateStatus({
|
|
239
|
+
isBuilding: true,
|
|
240
|
+
hasError: false
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
// Handle bundle build done
|
|
244
|
+
if (type === "bundle_build_done" || type === "bundle_build_succeeded") {
|
|
245
|
+
bundleErrorBuffer.updateStatus({
|
|
246
|
+
isBuilding: false,
|
|
247
|
+
lastBuildTimestamp: new Date(),
|
|
248
|
+
buildTime: message.buildTime
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
// Handle bundle build failed
|
|
252
|
+
if (type === "bundle_build_failed" || type === "error") {
|
|
253
|
+
bundleErrorBuffer.updateStatus({
|
|
254
|
+
isBuilding: false,
|
|
255
|
+
hasError: true
|
|
256
|
+
});
|
|
257
|
+
const errorMessage = message.body?.message ||
|
|
258
|
+
message.message ||
|
|
259
|
+
JSON.stringify(message);
|
|
260
|
+
bundleErrorBuffer.add(parseMetroError(errorMessage));
|
|
261
|
+
}
|
|
262
|
+
// Handle HMR update errors
|
|
263
|
+
if (type === "update_start") {
|
|
264
|
+
bundleErrorBuffer.updateStatus({ isBuilding: true });
|
|
265
|
+
}
|
|
266
|
+
if (type === "update_done") {
|
|
267
|
+
bundleErrorBuffer.updateStatus({
|
|
268
|
+
isBuilding: false,
|
|
269
|
+
lastBuildTimestamp: new Date()
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
if (type === "update_error" || type === "error-message") {
|
|
273
|
+
bundleErrorBuffer.updateStatus({
|
|
274
|
+
isBuilding: false,
|
|
275
|
+
hasError: true
|
|
276
|
+
});
|
|
277
|
+
const errorMessage = message.body?.message ||
|
|
278
|
+
message.message ||
|
|
279
|
+
JSON.stringify(message);
|
|
280
|
+
bundleErrorBuffer.add(parseMetroError(errorMessage));
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
// Fetch bundle status from Metro's /status endpoint
|
|
284
|
+
export async function fetchBundleStatus(port) {
|
|
285
|
+
try {
|
|
286
|
+
const response = await fetch(`http://localhost:${port}/status`);
|
|
287
|
+
if (!response.ok) {
|
|
288
|
+
return { isBuilding: false, hasError: false };
|
|
289
|
+
}
|
|
290
|
+
const text = await response.text();
|
|
291
|
+
// Metro returns "packager-status:running" when idle
|
|
292
|
+
return {
|
|
293
|
+
isBuilding: !text.includes("running"),
|
|
294
|
+
hasError: false
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
catch {
|
|
298
|
+
return { isBuilding: false, hasError: false };
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// Get bundle errors from buffer
|
|
302
|
+
export function getBundleErrors(buffer, options = {}) {
|
|
303
|
+
const { maxErrors = 10 } = options;
|
|
304
|
+
const errors = buffer.get(maxErrors);
|
|
305
|
+
return {
|
|
306
|
+
errors,
|
|
307
|
+
formatted: formatBundleErrors(errors)
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
// Get current bundle status with any recent errors
|
|
311
|
+
export async function getBundleStatusWithErrors(buffer, metroPort) {
|
|
312
|
+
// Try to get status from any connected Metro port
|
|
313
|
+
let status = buffer.getStatus();
|
|
314
|
+
// Check Metro port status if available
|
|
315
|
+
if (metroPort) {
|
|
316
|
+
const liveStatus = await fetchBundleStatus(metroPort);
|
|
317
|
+
status = {
|
|
318
|
+
...status,
|
|
319
|
+
isBuilding: liveStatus.isBuilding
|
|
320
|
+
};
|
|
321
|
+
buffer.updateStatus(status);
|
|
322
|
+
}
|
|
323
|
+
const latestError = buffer.getLatest();
|
|
324
|
+
const lines = [];
|
|
325
|
+
lines.push(`Bundle Status:`);
|
|
326
|
+
lines.push(` Building: ${status.isBuilding ? "Yes" : "No"}`);
|
|
327
|
+
lines.push(` Has Error: ${status.hasError ? "Yes" : "No"}`);
|
|
328
|
+
if (status.lastBuildTimestamp) {
|
|
329
|
+
lines.push(` Last Build: ${status.lastBuildTimestamp.toLocaleTimeString()}`);
|
|
330
|
+
}
|
|
331
|
+
if (status.buildTime) {
|
|
332
|
+
lines.push(` Build Time: ${status.buildTime}ms`);
|
|
333
|
+
}
|
|
334
|
+
lines.push(` Errors in Buffer: ${buffer.size}`);
|
|
335
|
+
if (latestError) {
|
|
336
|
+
lines.push("\nLatest Error:");
|
|
337
|
+
lines.push(formatBundleError(latestError));
|
|
338
|
+
}
|
|
339
|
+
return {
|
|
340
|
+
status,
|
|
341
|
+
latestError,
|
|
342
|
+
formatted: lines.join("\n")
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
// Disconnect from Metro build events
|
|
346
|
+
export function disconnectMetroBuildEvents() {
|
|
347
|
+
if (metroEventWs) {
|
|
348
|
+
metroEventWs.close();
|
|
349
|
+
metroEventWs = null;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
// Check if connected to Metro build events
|
|
353
|
+
export function isConnectedToMetroBuildEvents() {
|
|
354
|
+
return metroEventWs !== null && metroEventWs.readyState === WebSocket.OPEN;
|
|
355
|
+
}
|
|
356
|
+
//# sourceMappingURL=bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/core/bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ExecutionResult } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get the React component tree from the running app.
|
|
4
|
+
* This traverses the fiber tree to extract component hierarchy with names.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Get layout data for visible components on the current screen.
|
|
8
|
+
* Uses measureInWindow to get actual screen positions and filters
|
|
9
|
+
* to only components within the viewport.
|
|
10
|
+
*
|
|
11
|
+
* Two-step approach (same as inspectAtPoint):
|
|
12
|
+
* Step 1: Walk fiber tree, dispatch measureInWindow on host components
|
|
13
|
+
* Step 2: After 300ms, read measurements, filter by viewport, build results
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Inspect a specific component by name, returning its props, state, and layout.
|
|
17
|
+
*/
|
|
18
|
+
export declare function inspectComponent(componentName: string, options?: {
|
|
19
|
+
index?: number;
|
|
20
|
+
includeState?: boolean;
|
|
21
|
+
includeChildren?: boolean;
|
|
22
|
+
childrenDepth?: number;
|
|
23
|
+
includeStyle?: boolean;
|
|
24
|
+
shortPath?: boolean;
|
|
25
|
+
simplifyHooks?: boolean;
|
|
26
|
+
device?: string;
|
|
27
|
+
timeoutMs?: number;
|
|
28
|
+
}): Promise<ExecutionResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Find all components matching a name pattern and return summary info.
|
|
31
|
+
*/
|
|
32
|
+
export declare function findComponents(pattern: string, options?: {
|
|
33
|
+
maxResults?: number;
|
|
34
|
+
includeLayout?: boolean;
|
|
35
|
+
shortPath?: boolean;
|
|
36
|
+
summary?: boolean;
|
|
37
|
+
format?: "json" | "tonl";
|
|
38
|
+
device?: string;
|
|
39
|
+
timeoutMs?: number;
|
|
40
|
+
}): Promise<ExecutionResult>;
|
|
41
|
+
//# sourceMappingURL=componentSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"componentSearch.d.ts","sourceRoot":"","sources":["../../src/core/componentSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA+BlD;;;GAGG;AAEH;;;;;;;;GAQG;AAIH;;GAEG;AACH,wBAAsB,gBAAgB,CAClC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACjB,GACP,OAAO,CAAC,eAAe,CAAC,CA2Z1B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACL,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACjB,GACP,OAAO,CAAC,eAAe,CAAC,CA0J1B"}
|