execbro 2.10.1 → 2.10.2
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/build/__tests__/unit/diffRegionExplanation.test.d.ts +2 -0
- package/build/__tests__/unit/diffRegionExplanation.test.d.ts.map +1 -0
- package/build/__tests__/unit/diffRegionExplanation.test.js +46 -0
- package/build/__tests__/unit/diffRegionExplanation.test.js.map +1 -0
- package/build/__tests__/unit/failureKind.test.d.ts +2 -0
- package/build/__tests__/unit/failureKind.test.d.ts.map +1 -0
- package/build/__tests__/unit/failureKind.test.js +54 -0
- package/build/__tests__/unit/failureKind.test.js.map +1 -0
- package/build/__tests__/unit/screenshot-diff.test.js +75 -0
- package/build/__tests__/unit/screenshot-diff.test.js.map +1 -1
- package/build/__tests__/unit/transformCompose.test.d.ts +2 -0
- package/build/__tests__/unit/transformCompose.test.d.ts.map +1 -0
- package/build/__tests__/unit/transformCompose.test.js +67 -0
- package/build/__tests__/unit/transformCompose.test.js.map +1 -0
- package/build/__tests__/unit/visibility.test.js +18 -0
- package/build/__tests__/unit/visibility.test.js.map +1 -1
- package/build/core/connection.d.ts +2 -0
- package/build/core/connection.d.ts.map +1 -1
- package/build/core/connection.js +17 -1
- package/build/core/connection.js.map +1 -1
- package/build/core/debugGlobals.d.ts.map +1 -1
- package/build/core/debugGlobals.js +3 -1
- package/build/core/debugGlobals.js.map +1 -1
- package/build/core/errors.d.ts +8 -1
- package/build/core/errors.d.ts.map +1 -1
- package/build/core/errors.js +24 -1
- package/build/core/errors.js.map +1 -1
- package/build/core/guides.d.ts.map +1 -1
- package/build/core/guides.js +6 -0
- package/build/core/guides.js.map +1 -1
- package/build/core/injected/transformCompose.d.ts +11 -0
- package/build/core/injected/transformCompose.d.ts.map +1 -0
- package/build/core/injected/transformCompose.js +69 -0
- package/build/core/injected/transformCompose.js.map +1 -0
- package/build/core/injected/visibility.d.ts +1 -0
- package/build/core/injected/visibility.d.ts.map +1 -1
- package/build/core/injected/visibility.js +21 -8
- package/build/core/injected/visibility.js.map +1 -1
- package/build/core/register.d.ts.map +1 -1
- package/build/core/register.js +13 -2
- package/build/core/register.js.map +1 -1
- package/build/core/screenState.d.ts.map +1 -1
- package/build/core/screenState.js +11 -62
- package/build/core/screenState.js.map +1 -1
- package/build/core/telemetry.d.ts +1 -1
- package/build/core/telemetry.d.ts.map +1 -1
- package/build/core/telemetry.js +5 -1
- package/build/core/telemetry.js.map +1 -1
- package/build/core/types.d.ts +3 -0
- package/build/core/types.d.ts.map +1 -1
- package/build/pro/screenshot-diff.d.ts +9 -0
- package/build/pro/screenshot-diff.d.ts.map +1 -1
- package/build/pro/screenshot-diff.js +70 -2
- package/build/pro/screenshot-diff.js.map +1 -1
- package/build/pro/tap.d.ts +3 -0
- package/build/pro/tap.d.ts.map +1 -1
- package/build/pro/tap.js +12 -2
- package/build/pro/tap.js.map +1 -1
- package/build/pro/verifyAction.d.ts +2 -6
- package/build/pro/verifyAction.d.ts.map +1 -1
- package/build/pro/verifyAction.js +6 -3
- package/build/pro/verifyAction.js.map +1 -1
- package/build/tools/componentTools.d.ts.map +1 -1
- package/build/tools/componentTools.js +6 -3
- package/build/tools/componentTools.js.map +1 -1
- package/build/tools/connectionTools.d.ts.map +1 -1
- package/build/tools/connectionTools.js +2 -1
- package/build/tools/connectionTools.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diffRegionExplanation.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/diffRegionExplanation.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
process.env.RN_AI_DEVTOOLS_TEST_MODE = "1";
|
|
2
|
+
import { describe, it, expect } from "@jest/globals";
|
|
3
|
+
import { buildVerificationExplanation } from "../../pro/tap.js";
|
|
4
|
+
const base = { meaningful: true, changeRate: 0.032, changedPixels: 3200, totalPixels: 100000 };
|
|
5
|
+
describe("verification explanation with regions", () => {
|
|
6
|
+
it("names where the screen changed, as a point another tool can take", () => {
|
|
7
|
+
const text = buildVerificationExplanation({
|
|
8
|
+
...base,
|
|
9
|
+
regions: [{ x: 100, y: 200, width: 80, height: 40, changedPixels: 3200 }],
|
|
10
|
+
});
|
|
11
|
+
expect(text).toContain("(140, 220)");
|
|
12
|
+
expect(text).toContain("80x40px");
|
|
13
|
+
expect(text).toContain("inspect_at_point");
|
|
14
|
+
});
|
|
15
|
+
it("lists several changed areas rather than one box covering both", () => {
|
|
16
|
+
const text = buildVerificationExplanation({
|
|
17
|
+
...base,
|
|
18
|
+
regions: [
|
|
19
|
+
{ x: 0, y: 0, width: 32, height: 32, changedPixels: 1024 },
|
|
20
|
+
{ x: 160, y: 400, width: 32, height: 32, changedPixels: 1024 },
|
|
21
|
+
],
|
|
22
|
+
});
|
|
23
|
+
expect(text).toContain("2 changed areas");
|
|
24
|
+
expect(text).toContain("(16, 16)");
|
|
25
|
+
expect(text).toContain("(176, 416)");
|
|
26
|
+
});
|
|
27
|
+
it("keeps the caveat — a box locates the change, it does not identify the element", () => {
|
|
28
|
+
const text = buildVerificationExplanation({
|
|
29
|
+
...base,
|
|
30
|
+
regions: [{ x: 10, y: 10, width: 16, height: 16, changedPixels: 256 }],
|
|
31
|
+
});
|
|
32
|
+
expect(text).toContain("cannot identify which element");
|
|
33
|
+
});
|
|
34
|
+
it("reads exactly as before when no regions were computed", () => {
|
|
35
|
+
const text = buildVerificationExplanation(base);
|
|
36
|
+
expect(text).not.toContain("Changed area");
|
|
37
|
+
expect(text).not.toContain("undefined");
|
|
38
|
+
expect(text).toContain("caused a visible UI change (3.2% pixel diff).");
|
|
39
|
+
});
|
|
40
|
+
it("says nothing about location when the tap missed", () => {
|
|
41
|
+
const text = buildVerificationExplanation({ ...base, meaningful: false, regions: [] });
|
|
42
|
+
expect(text).toContain("No visual change detected");
|
|
43
|
+
expect(text).not.toContain("Changed area");
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=diffRegionExplanation.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diffRegionExplanation.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/diffRegionExplanation.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failureKind.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/failureKind.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
process.env.RN_AI_DEVTOOLS_TEST_MODE = "1";
|
|
2
|
+
import { describe, it, expect } from "@jest/globals";
|
|
3
|
+
import { ENVIRONMENT_KINDS, EnvironmentError, UserInputError } from "../../core/errors.js";
|
|
4
|
+
import { describeDeviceResolution, failureKindForResolution } from "../../core/connection.js";
|
|
5
|
+
const app = (deviceName, platform) => ({ deviceInfo: { deviceName }, platform });
|
|
6
|
+
describe("failureKindForResolution", () => {
|
|
7
|
+
it("returns no kind when resolution succeeded", () => {
|
|
8
|
+
expect(failureKindForResolution({ kind: "ok", app: app("x", "ios") })).toBeUndefined();
|
|
9
|
+
});
|
|
10
|
+
it("treats an ambiguous name as an agent mistake, not an environment state", () => {
|
|
11
|
+
const resolution = { kind: "ambiguous", device: "iPhone", matches: [app("iPhone 15", "ios"), app("iPhone Air", "ios")] };
|
|
12
|
+
expect(failureKindForResolution(resolution)).toBeUndefined();
|
|
13
|
+
});
|
|
14
|
+
it("no device argument and nothing connected → no_apps_connected", () => {
|
|
15
|
+
const resolution = { kind: "none", device: undefined, connected: [] };
|
|
16
|
+
expect(failureKindForResolution(resolution)).toBe("no_apps_connected");
|
|
17
|
+
});
|
|
18
|
+
it("named device with nothing connected → no_devices_attached", () => {
|
|
19
|
+
const resolution = { kind: "none", device: "Pixel 8", connected: [] };
|
|
20
|
+
expect(failureKindForResolution(resolution)).toBe("no_devices_attached");
|
|
21
|
+
});
|
|
22
|
+
it("named device while others are attached → platform_mismatch, held out of the environment bucket", () => {
|
|
23
|
+
const resolution = { kind: "none", device: "iPhone Air", connected: [app("sdk_gphone16k_arm64", "android")] };
|
|
24
|
+
expect(failureKindForResolution(resolution)).toBe("platform_mismatch");
|
|
25
|
+
expect(ENVIRONMENT_KINDS.has("platform_mismatch")).toBe(false);
|
|
26
|
+
});
|
|
27
|
+
it.each([
|
|
28
|
+
[{ kind: "none", device: undefined, connected: [] }, "no_apps_connected", /no apps connected/i],
|
|
29
|
+
[{ kind: "none", device: "Pixel 8", connected: [] }, "no_devices_attached", /no devices are currently connected/i],
|
|
30
|
+
])("kind and message agree for %o", (resolution, expectedKind, messagePattern) => {
|
|
31
|
+
expect(failureKindForResolution(resolution)).toBe(expectedKind);
|
|
32
|
+
expect(describeDeviceResolution(resolution)).toMatch(messagePattern);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
describe("carriers", () => {
|
|
36
|
+
it("EnvironmentError keeps the kind readable off the thrown value", () => {
|
|
37
|
+
const err = new EnvironmentError("No Metro server found.", "no_metro_server");
|
|
38
|
+
expect(err.kind).toBe("no_metro_server");
|
|
39
|
+
expect(err instanceof UserInputError).toBe(false);
|
|
40
|
+
});
|
|
41
|
+
it("UserInputError carries a kind without losing its existing context tag", () => {
|
|
42
|
+
const err = new UserInputError("No connected device matches …", "no_devices_connected", "no_devices_attached");
|
|
43
|
+
expect(err.context).toBe("no_devices_connected");
|
|
44
|
+
expect(err.kind).toBe("no_devices_attached");
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe("ENVIRONMENT_KINDS", () => {
|
|
48
|
+
it("excludes exactly the two kinds that are not setup failures", () => {
|
|
49
|
+
expect(ENVIRONMENT_KINDS.has("platform_mismatch")).toBe(false);
|
|
50
|
+
expect(ENVIRONMENT_KINDS.has("fiber_guard_unexpected")).toBe(false);
|
|
51
|
+
expect(ENVIRONMENT_KINDS.size).toBe(11);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=failureKind.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failureKind.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/failureKind.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,4 +88,79 @@ describe("compareScreenshots", () => {
|
|
|
88
88
|
expect(result.changeRate).toBe(1);
|
|
89
89
|
});
|
|
90
90
|
});
|
|
91
|
+
async function withRects(rects) {
|
|
92
|
+
const base = sharp({ create: { width: 200, height: 200, channels: 3, background: { r: 0, g: 0, b: 0 } } });
|
|
93
|
+
if (rects.length === 0)
|
|
94
|
+
return base.png().toBuffer();
|
|
95
|
+
return base
|
|
96
|
+
.composite(rects.map(({ x, y, w, h }) => ({
|
|
97
|
+
input: { create: { width: w, height: h, channels: 3, background: { r: 255, g: 255, b: 255 } } },
|
|
98
|
+
left: x,
|
|
99
|
+
top: y,
|
|
100
|
+
})))
|
|
101
|
+
.png()
|
|
102
|
+
.toBuffer();
|
|
103
|
+
}
|
|
104
|
+
describe("compareScreenshots regions", () => {
|
|
105
|
+
it("is absent unless asked for — the tap burst loop must not pay for it", async () => {
|
|
106
|
+
const before = await withRects([]);
|
|
107
|
+
const after = await withRects([{ x: 20, y: 30, w: 40, h: 20 }]);
|
|
108
|
+
expect((await compareScreenshots(before, after)).regions).toBeUndefined();
|
|
109
|
+
expect((await compareScreenshots(before, after, { regions: true })).regions).toBeDefined();
|
|
110
|
+
});
|
|
111
|
+
it("boxes a single changed widget", async () => {
|
|
112
|
+
const before = await withRects([]);
|
|
113
|
+
const after = await withRects([{ x: 32, y: 48, w: 32, h: 16 }]);
|
|
114
|
+
const { regions } = await compareScreenshots(before, after, { regions: true });
|
|
115
|
+
expect(regions).toHaveLength(1);
|
|
116
|
+
const [box] = regions;
|
|
117
|
+
expect(box.x).toBeLessThanOrEqual(32);
|
|
118
|
+
expect(box.y).toBeLessThanOrEqual(48);
|
|
119
|
+
expect(box.x + box.width).toBeGreaterThanOrEqual(64);
|
|
120
|
+
expect(box.y + box.height).toBeGreaterThanOrEqual(64);
|
|
121
|
+
expect(box.changedPixels).toBe(32 * 16);
|
|
122
|
+
});
|
|
123
|
+
it("keeps two distant changes as two boxes", async () => {
|
|
124
|
+
const before = await withRects([]);
|
|
125
|
+
const after = await withRects([
|
|
126
|
+
{ x: 0, y: 0, w: 32, h: 32 },
|
|
127
|
+
{ x: 160, y: 160, w: 32, h: 32 },
|
|
128
|
+
]);
|
|
129
|
+
const { regions } = await compareScreenshots(before, after, { regions: true });
|
|
130
|
+
expect(regions).toHaveLength(2);
|
|
131
|
+
for (const box of regions) {
|
|
132
|
+
expect(box.width).toBeLessThanOrEqual(48);
|
|
133
|
+
expect(box.height).toBeLessThanOrEqual(48);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
it("orders by size, so the first box is the main change", async () => {
|
|
137
|
+
const before = await withRects([]);
|
|
138
|
+
const after = await withRects([
|
|
139
|
+
{ x: 0, y: 0, w: 16, h: 16 },
|
|
140
|
+
{ x: 96, y: 96, w: 64, h: 64 },
|
|
141
|
+
]);
|
|
142
|
+
const { regions } = await compareScreenshots(before, after, { regions: true });
|
|
143
|
+
expect(regions[0].changedPixels).toBe(64 * 64);
|
|
144
|
+
expect(regions[1].changedPixels).toBe(16 * 16);
|
|
145
|
+
});
|
|
146
|
+
it("reports boxes in full-screenshot coordinates, not cropped ones", async () => {
|
|
147
|
+
const before = await withRects([]);
|
|
148
|
+
const after = await withRects([{ x: 64, y: 96, w: 32, h: 32 }]);
|
|
149
|
+
const cropped = await compareScreenshots(before, after, { regions: true, statusBarHeight: 48 });
|
|
150
|
+
const uncropped = await compareScreenshots(before, after, { regions: true });
|
|
151
|
+
expect(cropped.regions[0].y).toBe(uncropped.regions[0].y);
|
|
152
|
+
});
|
|
153
|
+
it("treats a size change as one whole-frame box rather than inventing detail", async () => {
|
|
154
|
+
const small = await sharp({ create: { width: 100, height: 100, channels: 3, background: { r: 0, g: 0, b: 0 } } }).png().toBuffer();
|
|
155
|
+
const big = await sharp({ create: { width: 200, height: 200, channels: 3, background: { r: 0, g: 0, b: 0 } } }).png().toBuffer();
|
|
156
|
+
const { regions } = await compareScreenshots(small, big, { regions: true });
|
|
157
|
+
expect(regions).toEqual([{ x: 0, y: 0, width: 200, height: 200, changedPixels: 200 * 200 }]);
|
|
158
|
+
});
|
|
159
|
+
it("returns no regions when nothing changed", async () => {
|
|
160
|
+
const img = await withRects([{ x: 10, y: 10, w: 20, h: 20 }]);
|
|
161
|
+
const result = await compareScreenshots(img, img, { regions: true });
|
|
162
|
+
expect(result.changed).toBe(false);
|
|
163
|
+
expect(result.regions).toBeUndefined();
|
|
164
|
+
});
|
|
165
|
+
});
|
|
91
166
|
//# sourceMappingURL=screenshot-diff.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-diff.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/screenshot-diff.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"screenshot-diff.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/screenshot-diff.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformCompose.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/transformCompose.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { composeTransformOps, isNativeDriven, animatedValueOf } from "../../core/injected/transformCompose.js";
|
|
2
|
+
const nativeAnimated = (value) => ({ __getValue: () => value, __isNative: true });
|
|
3
|
+
const jsAnimated = (value) => ({ __getValue: () => value, __isNative: false });
|
|
4
|
+
describe("composeTransformOps", () => {
|
|
5
|
+
it("does not move the frame for a static numeric translation", () => {
|
|
6
|
+
const c = composeTransformOps([{ translateY: 422 }]);
|
|
7
|
+
expect(c.dy).toBe(0);
|
|
8
|
+
expect(c.dx).toBe(0);
|
|
9
|
+
expect(c.uncertain).toBe(false);
|
|
10
|
+
});
|
|
11
|
+
it("stays at zero however many ancestors repeat the same static translation", () => {
|
|
12
|
+
const ops = [{ translateY: 422 }];
|
|
13
|
+
const total = [composeTransformOps(ops), composeTransformOps(ops)]
|
|
14
|
+
.reduce((sum, c) => sum + c.dy, 0);
|
|
15
|
+
expect(total).toBe(0);
|
|
16
|
+
});
|
|
17
|
+
it("does not move the frame for a JS-driven Animated translation", () => {
|
|
18
|
+
const c = composeTransformOps([{ translateY: jsAnimated(422) }]);
|
|
19
|
+
expect(c.dy).toBe(0);
|
|
20
|
+
expect(c.uncertain).toBe(false);
|
|
21
|
+
});
|
|
22
|
+
it("composes a native-driven translation and flags it", () => {
|
|
23
|
+
const c = composeTransformOps([{ translateX: nativeAnimated(-40) }, { translateY: nativeAnimated(1830) }]);
|
|
24
|
+
expect(c.dx).toBe(-40);
|
|
25
|
+
expect(c.dy).toBe(1830);
|
|
26
|
+
expect(c.uncertain).toBe(true);
|
|
27
|
+
expect(c.label).toBe("translateX:-40");
|
|
28
|
+
});
|
|
29
|
+
it("flags a non-identity scale/rotate without pretending to model it", () => {
|
|
30
|
+
expect(composeTransformOps([{ scale: 1 }]).uncertain).toBe(false);
|
|
31
|
+
const c = composeTransformOps([{ rotate: 0.5 }]);
|
|
32
|
+
expect(c.uncertain).toBe(true);
|
|
33
|
+
expect(c.label).toBe("rotate:0.5");
|
|
34
|
+
});
|
|
35
|
+
it("flags an unreadable value rather than dropping it silently", () => {
|
|
36
|
+
const c = composeTransformOps([{ translateY: { some: "opaque node" } }]);
|
|
37
|
+
expect(c.dy).toBe(0);
|
|
38
|
+
expect(c.uncertain).toBe(true);
|
|
39
|
+
expect(c.label).toBe("translateY:<unreadable>");
|
|
40
|
+
});
|
|
41
|
+
it("flags a transform that is not an array", () => {
|
|
42
|
+
const c = composeTransformOps("translateY(10px)");
|
|
43
|
+
expect(c.uncertain).toBe(true);
|
|
44
|
+
expect(c.label).toBe("transform:<opaque>");
|
|
45
|
+
});
|
|
46
|
+
it("returns a zero offset for no transform", () => {
|
|
47
|
+
expect(composeTransformOps(null)).toEqual({ dx: 0, dy: 0, uncertain: false, label: null });
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe("value readers", () => {
|
|
51
|
+
it("reads an Animated node's current value", () => {
|
|
52
|
+
expect(animatedValueOf(jsAnimated(12))).toBe(12);
|
|
53
|
+
expect(animatedValueOf(42)).toBeNull();
|
|
54
|
+
expect(animatedValueOf({ __getValue: () => NaN })).toBeNull();
|
|
55
|
+
expect(animatedValueOf({
|
|
56
|
+
__getValue: () => {
|
|
57
|
+
throw new Error("detached");
|
|
58
|
+
}
|
|
59
|
+
})).toBeNull();
|
|
60
|
+
});
|
|
61
|
+
it("recognises only an explicitly native-driven node", () => {
|
|
62
|
+
expect(isNativeDriven(nativeAnimated(1))).toBe(true);
|
|
63
|
+
expect(isNativeDriven(jsAnimated(1))).toBe(false);
|
|
64
|
+
expect(isNativeDriven(5)).toBe(false);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=transformCompose.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformCompose.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/transformCompose.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,24 @@ describe("isHiddenNavigationScene", () => {
|
|
|
36
36
|
expect(isHiddenNavigationScene("View", { style: { opacity: { __isAnimated: true } } })).toBe(false);
|
|
37
37
|
expect(isHiddenNavigationScene("View", { style: { opacity: "0" } })).toBe(false);
|
|
38
38
|
});
|
|
39
|
+
it("resolves a style array last-wins instead of OR-ing its entries", () => {
|
|
40
|
+
const gorhomOpenSheet = [
|
|
41
|
+
null,
|
|
42
|
+
{ flexDirection: "column-reverse", position: "absolute", top: 0, left: 0, right: 0 },
|
|
43
|
+
{ opacity: 0, transform: [{ translateY: 923.43 }] },
|
|
44
|
+
{ transform: [{ translateY: 434.67 }], opacity: 1 }
|
|
45
|
+
];
|
|
46
|
+
expect(isHiddenNavigationScene("View", { style: gorhomOpenSheet })).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
it("still prunes when the last entry to set the property is the hiding one", () => {
|
|
49
|
+
expect(isHiddenNavigationScene("View", { style: [{ opacity: 1 }, { opacity: 0 }] })).toBe(true);
|
|
50
|
+
expect(isHiddenNavigationScene("View", { style: [{ display: "flex" }, { display: "none" }] })).toBe(true);
|
|
51
|
+
expect(isHiddenNavigationScene("View", { style: [{ display: "none" }, { display: "flex" }] })).toBe(false);
|
|
52
|
+
});
|
|
53
|
+
it("flattens nested style arrays", () => {
|
|
54
|
+
expect(isHiddenNavigationScene("View", { style: [[{ opacity: 0 }], [{ opacity: 1 }]] })).toBe(false);
|
|
55
|
+
expect(isHiddenNavigationScene("View", { style: [[{ opacity: 1 }], [{ opacity: 0 }]] })).toBe(true);
|
|
56
|
+
});
|
|
39
57
|
it("prunes display:none (object and array style)", () => {
|
|
40
58
|
expect(isHiddenNavigationScene("View", { style: { display: "none" } })).toBe(true);
|
|
41
59
|
expect(isHiddenNavigationScene("View", { style: [{ flex: 1 }, { display: "none" }] })).toBe(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibility.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/visibility.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visibility.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/visibility.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import WebSocket from "ws";
|
|
2
|
+
import type { FailureKind } from "./errors.js";
|
|
2
3
|
import { DeviceInfo, RemoteObject, ConnectedApp, ConnectOptions, EnsureConnectionResult, ConnectionCheckResult } from "./types.js";
|
|
3
4
|
export declare function recordDeviceSeen(name: string | null | undefined): void;
|
|
4
5
|
export declare function findDisconnectedDeviceName(device: string): {
|
|
@@ -36,6 +37,7 @@ export type DeviceResolution = {
|
|
|
36
37
|
device?: string;
|
|
37
38
|
connected: ConnectedApp[];
|
|
38
39
|
};
|
|
40
|
+
export declare function failureKindForResolution(resolution: DeviceResolution): FailureKind | undefined;
|
|
39
41
|
export declare function describeDeviceResolution(resolution: DeviceResolution): string;
|
|
40
42
|
export declare function resolveConnectedAppByDevice(device?: string): DeviceResolution;
|
|
41
43
|
export declare function getConnectedAppByDevice(device?: string): ConnectedApp | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAoB,YAAY,EAAkB,cAAc,EAAsB,sBAAsB,EAAmB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AA0D1M,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAGtE;AAOD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQtG;AAGD,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AA6GD,wBAAgB,oBAAoB,IAAI,IAAI,CAI3C;AAMD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE/D;AAKD,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AA2BD,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CA6DnG;AAOD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIlE;AAaD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ3D;AASD,wBAAgB,6BAA6B,CACzC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,GAC9C,MAAM,EAAE,CAoCV;AAGD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA4B/D;AA2RD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,IAAI,CA8X3G;AAGD,wBAAsB,eAAe,CACjC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAyXjB;AA8FD,wBAAgB,gBAAgB,IAAI,KAAK,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,YAAY,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC,CAMD;AAGD,wBAAgB,oBAAoB,IAAI,YAAY,GAAG,IAAI,CAW1D;AAOD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAWhF;AAiBD,wBAAgB,gCAAgC,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAsBvF;AAoBD,MAAM,MAAM,gBAAgB,GACtB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,YAAY,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"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"}
|
package/build/core/connection.js
CHANGED
|
@@ -1082,6 +1082,20 @@ function formatAgo(ms) {
|
|
|
1082
1082
|
return `${m}m ago`;
|
|
1083
1083
|
return `${Math.round(m / 60)}h ago`;
|
|
1084
1084
|
}
|
|
1085
|
+
export function failureKindForResolution(resolution) {
|
|
1086
|
+
if (resolution.kind === "ok")
|
|
1087
|
+
return undefined;
|
|
1088
|
+
if (resolution.kind === "ambiguous")
|
|
1089
|
+
return undefined;
|
|
1090
|
+
const { device, connected } = resolution;
|
|
1091
|
+
if (!device)
|
|
1092
|
+
return "no_apps_connected";
|
|
1093
|
+
if (findDisconnectedDeviceName(device))
|
|
1094
|
+
return "no_devices_attached";
|
|
1095
|
+
if (connected.length === 0)
|
|
1096
|
+
return "no_devices_attached";
|
|
1097
|
+
return "platform_mismatch";
|
|
1098
|
+
}
|
|
1085
1099
|
export function describeDeviceResolution(resolution) {
|
|
1086
1100
|
if (resolution.kind === "ok")
|
|
1087
1101
|
return "";
|
|
@@ -1169,7 +1183,7 @@ export function getConnectedAppByDevice(device) {
|
|
|
1169
1183
|
const context = resolution.kind === "ambiguous"
|
|
1170
1184
|
? "ambiguous_device"
|
|
1171
1185
|
: resolution.connected.length > 0 ? "device_mismatch" : "no_devices_connected";
|
|
1172
|
-
throw new UserInputError(describeDeviceResolution(resolution), context);
|
|
1186
|
+
throw new UserInputError(describeDeviceResolution(resolution), context, failureKindForResolution(resolution));
|
|
1173
1187
|
}
|
|
1174
1188
|
export function hasConnectedApp() {
|
|
1175
1189
|
for (const [, app] of connectedApps.entries()) {
|
|
@@ -1329,6 +1343,7 @@ export async function ensureConnection(options = {}) {
|
|
|
1329
1343
|
healthCheckPassed: false,
|
|
1330
1344
|
connectionInfos: [],
|
|
1331
1345
|
error: "No Metro server found. Make sure Metro bundler is running.",
|
|
1346
|
+
failureKind: "no_metro_server",
|
|
1332
1347
|
};
|
|
1333
1348
|
}
|
|
1334
1349
|
const devices = await fetchDevices(targetPort);
|
|
@@ -1340,6 +1355,7 @@ export async function ensureConnection(options = {}) {
|
|
|
1340
1355
|
healthCheckPassed: false,
|
|
1341
1356
|
connectionInfos: [],
|
|
1342
1357
|
error: `No debuggable devices found on port ${targetPort}. Make sure the app is running.`,
|
|
1358
|
+
failureKind: "no_debuggable_devices",
|
|
1343
1359
|
};
|
|
1344
1360
|
}
|
|
1345
1361
|
try {
|