playwriter 0.0.105 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/bippy.js +5 -5
  2. package/dist/cdp-relay.d.ts.map +1 -1
  3. package/dist/cdp-relay.js +17 -5
  4. package/dist/cdp-relay.js.map +1 -1
  5. package/dist/cli-help.test.d.ts +2 -0
  6. package/dist/cli-help.test.d.ts.map +1 -0
  7. package/dist/cli-help.test.js +53 -0
  8. package/dist/cli-help.test.js.map +1 -0
  9. package/dist/cli.js +74 -25
  10. package/dist/cli.js.map +1 -1
  11. package/dist/executor.d.ts +1 -0
  12. package/dist/executor.d.ts.map +1 -1
  13. package/dist/executor.js +55 -12
  14. package/dist/executor.js.map +1 -1
  15. package/dist/extension/background.js +675 -27
  16. package/dist/extension/manifest.json +1 -1
  17. package/dist/ghost-cursor-client.js +170 -83
  18. package/dist/{recording-ghost-cursor.d.ts → ghost-cursor-controller.d.ts} +15 -10
  19. package/dist/ghost-cursor-controller.d.ts.map +1 -0
  20. package/dist/ghost-cursor-controller.js +98 -0
  21. package/dist/ghost-cursor-controller.js.map +1 -0
  22. package/dist/ghost-cursor.d.ts.map +1 -1
  23. package/dist/ghost-cursor.js +42 -26
  24. package/dist/ghost-cursor.js.map +1 -1
  25. package/dist/mcp.d.ts.map +1 -1
  26. package/dist/mcp.js +6 -1
  27. package/dist/mcp.js.map +1 -1
  28. package/dist/on-mouse-action.test.js +25 -0
  29. package/dist/on-mouse-action.test.js.map +1 -1
  30. package/dist/performance-examples.d.ts +5 -0
  31. package/dist/performance-examples.d.ts.map +1 -0
  32. package/dist/performance-examples.js +112 -0
  33. package/dist/performance-examples.js.map +1 -0
  34. package/dist/performance-profiling.md +417 -0
  35. package/dist/prompt.md +22 -8
  36. package/dist/react-source.d.ts +44 -0
  37. package/dist/react-source.d.ts.map +1 -1
  38. package/dist/react-source.js +207 -20
  39. package/dist/react-source.js.map +1 -1
  40. package/dist/readability.js +1 -1
  41. package/dist/relay-core.test.d.ts.map +1 -1
  42. package/dist/relay-core.test.js +101 -1
  43. package/dist/relay-core.test.js.map +1 -1
  44. package/dist/relay-session.test.js +34 -6
  45. package/dist/relay-session.test.js.map +1 -1
  46. package/dist/screen-recording.d.ts +2 -2
  47. package/dist/screen-recording.d.ts.map +1 -1
  48. package/dist/screen-recording.js +19 -7
  49. package/dist/screen-recording.js.map +1 -1
  50. package/dist/selector-generator.js +1 -1
  51. package/package.json +7 -7
  52. package/src/aria-snapshots/github-interactive.txt +5 -3
  53. package/src/aria-snapshots/github-raw.txt +8 -5
  54. package/src/aria-snapshots/hackernews-interactive.txt +241 -238
  55. package/src/aria-snapshots/hackernews-raw.txt +269 -265
  56. package/src/aria-snapshots/prosemirror-interactive.txt +3 -1
  57. package/src/aria-snapshots/prosemirror-raw.txt +4 -1
  58. package/src/assets/aria-labels-hacker-news.png +0 -0
  59. package/src/assets/aria-labels-old-reddit.png +0 -0
  60. package/src/cdp-relay.ts +17 -5
  61. package/src/cli-help.test.ts +63 -0
  62. package/src/cli.ts +80 -28
  63. package/src/executor.ts +65 -15
  64. package/src/ghost-cursor-client.ts +221 -96
  65. package/src/{recording-ghost-cursor.ts → ghost-cursor-controller.ts} +50 -34
  66. package/src/ghost-cursor.ts +54 -41
  67. package/src/mcp.ts +6 -1
  68. package/src/on-mouse-action.test.ts +30 -0
  69. package/src/performance-examples.ts +186 -0
  70. package/src/react-source.ts +310 -24
  71. package/src/relay-core.test.ts +117 -0
  72. package/src/relay-session.test.ts +36 -10
  73. package/src/screen-recording.ts +23 -10
  74. package/src/skill.md +33 -9
  75. package/src/snapshots/shadcn-ui-accessibility-full.md +6 -3
  76. package/src/snapshots/shadcn-ui-accessibility-interactive.md +2 -0
  77. package/dist/recording-ghost-cursor.d.ts.map +0 -1
  78. package/dist/recording-ghost-cursor.js +0 -79
  79. package/dist/recording-ghost-cursor.js.map +0 -1
@@ -11,22 +11,44 @@ function getBippyCode() {
11
11
  bippyCode = fs.readFileSync(bippyPath, 'utf-8');
12
12
  return bippyCode;
13
13
  }
14
- export async function getReactSource({ locator, cdp: cdpSession, }) {
15
- const cdp = cdpSession;
16
- const page = 'page' in locator && typeof locator.page === 'function' ? locator.page() : locator._page;
17
- if (!page) {
18
- throw new Error('Could not get page from locator');
14
+ async function getPageFromTarget(target) {
15
+ if ('page' in target) {
16
+ return target.page();
17
+ }
18
+ const frame = await target.ownerFrame();
19
+ if (!frame) {
20
+ throw new Error('Could not get frame from element handle');
19
21
  }
20
- const hasBippy = await page.evaluate(() => !!globalThis.__bippy);
21
- if (!hasBippy) {
22
- const code = getBippyCode();
23
- await cdp.send('Runtime.evaluate', { expression: code });
22
+ return frame.page();
23
+ }
24
+ async function ensureBippy({ page, cdp }) {
25
+ const hasBippy = await page.evaluate(() => {
26
+ return !!globalThis.__bippy;
27
+ });
28
+ if (hasBippy) {
29
+ return;
24
30
  }
25
- const result = await locator.evaluate(async (el) => {
31
+ const code = getBippyCode();
32
+ await cdp.send('Runtime.evaluate', { expression: code });
33
+ }
34
+ export async function getReactSource({ locator, cdp: cdpSession, }) {
35
+ const cdp = cdpSession;
36
+ const page = await getPageFromTarget(locator);
37
+ await ensureBippy({ page, cdp });
38
+ const evaluateReactSource = async (el) => {
26
39
  const bippy = globalThis.__bippy;
27
40
  if (!bippy) {
28
41
  throw new Error('bippy not loaded');
29
42
  }
43
+ // bippy.normalizeFileName strips "/app-pages-browser/" but not the parenthesized
44
+ // form "/(app-pages-browser)/" that Next.js webpack actually uses. This strips
45
+ // all webpack layer prefixes like (app-pages-browser), (ssr), (rsc), etc.
46
+ const cleanName = (name) => {
47
+ let f = bippy.normalizeFileName(name);
48
+ f = f.replace(/^\/?\([-\w]+\)\//, '');
49
+ f = f.replace(/^\.\//, '');
50
+ return f;
51
+ };
30
52
  const fiber = bippy.getFiberFromHostInstance(el);
31
53
  if (!fiber) {
32
54
  return { _notFound: 'fiber' };
@@ -34,7 +56,7 @@ export async function getReactSource({ locator, cdp: cdpSession, }) {
34
56
  const source = await bippy.getSource(fiber);
35
57
  if (source) {
36
58
  return {
37
- fileName: source.fileName ? bippy.normalizeFileName(source.fileName) : null,
59
+ fileName: source.fileName ? cleanName(source.fileName) : null,
38
60
  lineNumber: source.lineNumber ?? null,
39
61
  columnNumber: source.columnNumber ?? null,
40
62
  componentName: source.functionName ?? bippy.getDisplayName(fiber.type) ?? null,
@@ -44,7 +66,7 @@ export async function getReactSource({ locator, cdp: cdpSession, }) {
44
66
  for (const frame of ownerStack) {
45
67
  if (frame.fileName && bippy.isSourceFile(frame.fileName)) {
46
68
  return {
47
- fileName: bippy.normalizeFileName(frame.fileName),
69
+ fileName: cleanName(frame.fileName),
48
70
  lineNumber: frame.lineNumber ?? null,
49
71
  columnNumber: frame.columnNumber ?? null,
50
72
  componentName: frame.functionName ?? null,
@@ -52,16 +74,181 @@ export async function getReactSource({ locator, cdp: cdpSession, }) {
52
74
  }
53
75
  }
54
76
  return { _notFound: 'source' };
55
- });
56
- if (result && '_notFound' in result) {
57
- if (result._notFound === 'fiber') {
58
- console.warn('[getReactSource] no fiber found - is this a React element?');
77
+ };
78
+ const resolveResult = (result) => {
79
+ if (result?._notFound) {
80
+ if (result._notFound === 'fiber') {
81
+ console.warn('[getReactSource] no fiber found - is this a React element?');
82
+ }
83
+ else {
84
+ console.warn('[getReactSource] no source location found - is this a React dev build?');
85
+ }
86
+ return null;
59
87
  }
60
- else {
61
- console.warn('[getReactSource] no source location found - is this a React dev build?');
88
+ return result;
89
+ };
90
+ if ('page' in locator) {
91
+ return resolveResult(await locator.evaluate(evaluateReactSource));
92
+ }
93
+ return resolveResult(await locator.evaluate(evaluateReactSource));
94
+ }
95
+ export async function getReactComponentInfo({ locator, cdp: cdpSession, }) {
96
+ const cdp = cdpSession;
97
+ const page = await getPageFromTarget(locator);
98
+ await ensureBippy({ page, cdp });
99
+ const evaluateReactComponentInfo = async (el) => {
100
+ const bippy = globalThis.__bippy;
101
+ if (!bippy) {
102
+ throw new Error('bippy not loaded');
103
+ }
104
+ // bippy.normalizeFileName strips "/app-pages-browser/" but not the parenthesized
105
+ // form "/(app-pages-browser)/" that Next.js webpack actually uses. This strips
106
+ // all webpack layer prefixes like (app-pages-browser), (ssr), (rsc), etc.
107
+ const cleanName = (name) => {
108
+ let f = bippy.normalizeFileName(name);
109
+ f = f.replace(/^\/?\([-\w]+\)\//, '');
110
+ f = f.replace(/^\.\//, '');
111
+ return f;
112
+ };
113
+ const serializeReactValue = (value, options) => {
114
+ if (value === null) {
115
+ return null;
116
+ }
117
+ if (typeof value === 'string') {
118
+ return value.length > 300 ? `${value.slice(0, 300)}…[truncated]` : value;
119
+ }
120
+ if (typeof value === 'number' || typeof value === 'boolean') {
121
+ return value;
122
+ }
123
+ if (typeof value === 'undefined') {
124
+ return '[undefined]';
125
+ }
126
+ if (typeof value === 'function') {
127
+ return '[function]';
128
+ }
129
+ if (typeof value === 'symbol') {
130
+ return '[symbol]';
131
+ }
132
+ if (typeof value === 'bigint') {
133
+ return `${value.toString()}n`;
134
+ }
135
+ if (typeof value !== 'object') {
136
+ return `[${typeof value}]`;
137
+ }
138
+ const objectTag = Object.prototype.toString.call(value);
139
+ if (objectTag.includes('Element]') || objectTag === '[object Window]' || objectTag === '[object Document]') {
140
+ return '[dom-node]';
141
+ }
142
+ if (options.seen.has(value)) {
143
+ return '[circular]';
144
+ }
145
+ if (options.depth >= 3) {
146
+ return '[max-depth]';
147
+ }
148
+ options.seen.add(value);
149
+ if (Array.isArray(value)) {
150
+ const items = value.slice(0, 20).map((item) => {
151
+ return serializeReactValue(item, { depth: options.depth + 1, seen: options.seen });
152
+ });
153
+ if (value.length > 20) {
154
+ items.push(`…[${value.length - 20} more]`);
155
+ }
156
+ options.seen.delete(value);
157
+ return items;
158
+ }
159
+ const entries = Object.entries(value).slice(0, 20);
160
+ const result = Object.fromEntries(entries.map(([key, childValue]) => {
161
+ return [key, serializeReactValue(childValue, { depth: options.depth + 1, seen: options.seen })];
162
+ }));
163
+ const totalKeys = Object.keys(value).length;
164
+ if (totalKeys > 20) {
165
+ result['…'] = `[${totalKeys - 20} more keys]`;
166
+ }
167
+ options.seen.delete(value);
168
+ return result;
169
+ };
170
+ const getSourceForFiber = async (fiber) => {
171
+ try {
172
+ const source = await bippy.getSource(fiber);
173
+ if (source?.fileName) {
174
+ return {
175
+ fileName: cleanName(source.fileName),
176
+ lineNumber: source.lineNumber ?? null,
177
+ columnNumber: source.columnNumber ?? null,
178
+ };
179
+ }
180
+ const ownerStack = await bippy.getOwnerStack(fiber);
181
+ const frame = ownerStack.find((ownerFrame) => {
182
+ return ownerFrame.fileName ? bippy.isSourceFile(ownerFrame.fileName) : false;
183
+ });
184
+ if (frame?.fileName) {
185
+ return {
186
+ fileName: cleanName(frame.fileName),
187
+ lineNumber: frame.lineNumber ?? null,
188
+ columnNumber: frame.columnNumber ?? null,
189
+ };
190
+ }
191
+ }
192
+ catch {
193
+ return null;
194
+ }
195
+ return null;
196
+ };
197
+ let fiber = null;
198
+ try {
199
+ fiber = bippy.getFiberFromHostInstance(el);
200
+ }
201
+ catch {
202
+ return null;
203
+ }
204
+ if (!fiber) {
205
+ return null;
206
+ }
207
+ const componentFibers = [];
208
+ let current = fiber;
209
+ while (current && componentFibers.length < 20) {
210
+ try {
211
+ if (bippy.isCompositeFiber(current)) {
212
+ componentFibers.push(current);
213
+ }
214
+ }
215
+ catch {
216
+ // Ignore malformed or unsupported fibers and keep walking upward.
217
+ }
218
+ current = current.return;
219
+ }
220
+ if (componentFibers.length === 0) {
221
+ return null;
222
+ }
223
+ const hierarchy = await Promise.all(componentFibers.map(async (componentFiber) => {
224
+ const componentName = (() => {
225
+ try {
226
+ return componentFiber.type ? bippy.getDisplayName(componentFiber.type) : null;
227
+ }
228
+ catch {
229
+ return null;
230
+ }
231
+ })();
232
+ return {
233
+ componentName,
234
+ source: await getSourceForFiber(componentFiber),
235
+ props: serializeReactValue(componentFiber.memoizedProps, { depth: 0, seen: new WeakSet() }),
236
+ };
237
+ }));
238
+ const nearest = hierarchy[0];
239
+ if (!nearest) {
240
+ return null;
62
241
  }
63
- return null;
242
+ return {
243
+ componentName: nearest.componentName,
244
+ source: nearest.source,
245
+ hierarchy,
246
+ props: nearest.props,
247
+ };
248
+ };
249
+ if ('page' in locator) {
250
+ return await locator.evaluate(evaluateReactComponentInfo);
64
251
  }
65
- return result;
252
+ return await locator.evaluate(evaluateReactComponentInfo);
66
253
  }
67
254
  //# sourceMappingURL=react-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-source.js","sourceRoot":"","sources":["../src/react-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-source.js","sourceRoot":"","sources":["../src/react-source.ts"],"names":[],"mappings":"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"}
@@ -1668,7 +1668,7 @@
1668
1668
  };
1669
1669
  });
1670
1670
 
1671
- // dist/_readability-entry-53505-1775595320293.js
1671
+ // dist/_readability-entry-26306-1779191184823.js
1672
1672
  var import_readability = __toESM(require_readability(), 1);
1673
1673
  globalThis.__readability = { Readability: import_readability.Readability, isProbablyReaderable: import_readability.isProbablyReaderable };
1674
1674
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"relay-core.test.d.ts","sourceRoot":"","sources":["../src/relay-core.test.ts"],"names":[],"mappings":"AAgBA,OAAO,wBAAwB,CAAA"}
1
+ {"version":3,"file":"relay-core.test.d.ts","sourceRoot":"","sources":["../src/relay-core.test.ts"],"names":[],"mappings":"AAiBA,OAAO,wBAAwB,CAAA"}
@@ -4,7 +4,7 @@ import { chromium } from '@xmorse/playwright-core';
4
4
  import { getCDPSessionForPage } from './cdp-session.js';
5
5
  import { getCdpUrl, LOG_CDP_FILE_PATH } from './utils.js';
6
6
  import fs from 'node:fs';
7
- import { setupTestContext, cleanupTestContext, getExtensionServiceWorker, withTimeout, js, tryJsonParse, createSimpleServer, } from './test-utils.js';
7
+ import { setupTestContext, cleanupTestContext, getExtensionServiceWorker, withTimeout, js, tryJsonParse, createSimpleServer, safeCloseCDPBrowser, } from './test-utils.js';
8
8
  import './test-declarations.js';
9
9
  const TEST_PORT = 19987;
10
10
  describe('Relay Core Tests', () => {
@@ -228,6 +228,106 @@ describe('Relay Core Tests', () => {
228
228
  }
229
229
  `);
230
230
  }, 120000);
231
+ it('should ignore duplicate dialog dismissals from multiple CDP clients', async () => {
232
+ const browserContext = getBrowserContext();
233
+ const serviceWorker = await getExtensionServiceWorker(browserContext);
234
+ const logFilePath = `${process.cwd()}/relay-server.log`;
235
+ const logLineCountBefore = fs.existsSync(logFilePath)
236
+ ? fs
237
+ .readFileSync(logFilePath, 'utf-8')
238
+ .split('\n')
239
+ .filter((line) => {
240
+ return line.trim().length > 0;
241
+ }).length
242
+ : 0;
243
+ const server = await createSimpleServer({
244
+ routes: {
245
+ '/': `<!doctype html>
246
+ <html>
247
+ <body>
248
+ <button id="open-dialog">Open dialog</button>
249
+ <script>
250
+ document.getElementById('open-dialog').addEventListener('click', () => {
251
+ alert('shared dialog')
252
+ })
253
+ </script>
254
+ </body>
255
+ </html>`,
256
+ },
257
+ });
258
+ const page = await browserContext.newPage();
259
+ let browserA = null;
260
+ let browserB = null;
261
+ try {
262
+ await page.goto(server.baseUrl, { waitUntil: 'domcontentloaded' });
263
+ await page.bringToFront();
264
+ await serviceWorker.evaluate(async () => {
265
+ await globalThis.toggleExtensionForActiveTab();
266
+ });
267
+ await new Promise((r) => {
268
+ setTimeout(r, 100);
269
+ });
270
+ browserA = await withTimeout({
271
+ promise: chromium.connectOverCDP(getCdpUrl({ port: TEST_PORT })),
272
+ timeoutMs: 10000,
273
+ errorMessage: 'Timed out connecting first CDP client for dialog test',
274
+ });
275
+ browserB = await withTimeout({
276
+ promise: chromium.connectOverCDP(getCdpUrl({ port: TEST_PORT })),
277
+ timeoutMs: 10000,
278
+ errorMessage: 'Timed out connecting second CDP client for dialog test',
279
+ });
280
+ const getConnectedPage = (browser) => {
281
+ return browser
282
+ .contexts()[0]
283
+ ?.pages()
284
+ .find((candidatePage) => {
285
+ return candidatePage.url() === server.baseUrl + '/';
286
+ });
287
+ };
288
+ const connectedPageA = getConnectedPage(browserA);
289
+ const connectedPageB = getConnectedPage(browserB);
290
+ expect(connectedPageA).toBeDefined();
291
+ expect(connectedPageB).toBeDefined();
292
+ await withTimeout({
293
+ promise: connectedPageA.click('#open-dialog'),
294
+ timeoutMs: 5000,
295
+ errorMessage: 'Timed out opening dialog with first CDP client',
296
+ });
297
+ const secondClientResult = await withTimeout({
298
+ promise: connectedPageB.evaluate(() => {
299
+ return 2 + 2;
300
+ }),
301
+ timeoutMs: 5000,
302
+ errorMessage: 'Second CDP client stopped responding after shared dialog dismissal',
303
+ });
304
+ expect(secondClientResult).toBe(4);
305
+ await new Promise((r) => {
306
+ setTimeout(r, 200);
307
+ });
308
+ }
309
+ finally {
310
+ if (browserA) {
311
+ await safeCloseCDPBrowser(browserA);
312
+ }
313
+ if (browserB) {
314
+ await safeCloseCDPBrowser(browserB);
315
+ }
316
+ await page.close();
317
+ await server.close();
318
+ }
319
+ const logLinesAfter = fs
320
+ .readFileSync(logFilePath, 'utf-8')
321
+ .split('\n')
322
+ .filter((line) => {
323
+ return line.trim().length > 0;
324
+ })
325
+ .slice(logLineCountBefore);
326
+ const unexpectedRelayCrashes = logLinesAfter.filter((line) => {
327
+ return line.includes('Unhandled Rejection:');
328
+ });
329
+ expect(unexpectedRelayCrashes).toEqual([]);
330
+ }, 60000);
231
331
  it('should execute code and capture console output', async () => {
232
332
  await client.callTool({
233
333
  name: 'execute',
@@ -1 +1 @@
1
- {"version":3,"file":"relay-core.test.js","sourceRoot":"","sources":["../src/relay-core.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-core.test.js","sourceRoot":"","sources":["../src/relay-core.test.ts"],"names":[],"mappings":"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"}
@@ -734,12 +734,24 @@ describe('CDP Session Tests', () => {
734
734
  <body>
735
735
  <div id="root"></div>
736
736
  <script>
737
- function MyComponent() {
738
- return React.createElement('button', { id: 'react-btn' }, 'Click me');
737
+ function SaveButton(props) {
738
+ return React.createElement('button', { id: 'react-btn' }, props.label);
739
+ }
740
+ function Panel() {
741
+ return React.createElement('section', null, React.createElement(SaveButton, {
742
+ label: 'Click me',
743
+ count: 3,
744
+ config: { variant: 'primary' },
745
+ onClick: () => {}
746
+ }));
747
+ }
748
+ function App() {
749
+ return React.createElement(Panel);
739
750
  }
740
751
  const root = ReactDOM.createRoot(document.getElementById('root'));
741
- root.render(React.createElement(MyComponent));
752
+ root.render(React.createElement(App));
742
753
  </script>
754
+ <button id="plain-btn">Plain</button>
743
755
  </body>
744
756
  </html>
745
757
  `);
@@ -759,30 +771,46 @@ describe('CDP Session Tests', () => {
759
771
  expect(hasBippyBefore).toBe(false);
760
772
  const wsUrl = getCdpUrl({ port: TEST_PORT });
761
773
  const cdpSession = await getCDPSessionForPage({ page: cdpPage });
762
- const { getReactSource } = await import('./react-source.js');
774
+ const { getReactSource, getReactComponentInfo } = await import('./react-source.js');
763
775
  const source = await getReactSource({ locator: btn, cdp: cdpSession });
776
+ const info = await getReactComponentInfo({ locator: btn, cdp: cdpSession });
777
+ const plainInfo = await getReactComponentInfo({ locator: cdpPage.locator('#plain-btn'), cdp: cdpSession });
764
778
  const hasBippyAfter = await cdpPage.evaluate(() => !!globalThis.__bippy);
765
779
  expect(hasBippyAfter).toBe(true);
766
780
  const hasFiber = await btn.evaluate((el) => {
767
781
  const bippy = globalThis.__bippy;
782
+ if (!bippy)
783
+ return false;
768
784
  const fiber = bippy.getFiberFromHostInstance(el);
769
785
  return !!fiber;
770
786
  });
771
787
  expect(hasFiber).toBe(true);
772
788
  const componentName = await btn.evaluate((el) => {
773
789
  const bippy = globalThis.__bippy;
790
+ if (!bippy)
791
+ return null;
774
792
  const fiber = bippy.getFiberFromHostInstance(el);
775
793
  let current = fiber;
776
794
  while (current) {
777
795
  if (bippy.isCompositeFiber(current)) {
778
796
  return bippy.getDisplayName(current.type);
779
797
  }
780
- current = current.return;
798
+ current = current.return ?? null;
781
799
  }
782
800
  return null;
783
801
  });
784
- expect(componentName).toBe('MyComponent');
802
+ expect(componentName).toBe('SaveButton');
803
+ expect(plainInfo).toBe(null);
804
+ expect(info?.componentName).toBe('SaveButton');
805
+ expect(info?.hierarchy.map((item) => item.componentName)).toEqual(['SaveButton', 'Panel', 'App']);
806
+ expect(info?.props).toEqual({
807
+ label: 'Click me',
808
+ count: 3,
809
+ config: { variant: 'primary' },
810
+ onClick: '[function]',
811
+ });
785
812
  console.log('Component name from fiber:', componentName);
813
+ console.log('React component info:', info);
786
814
  console.log('Source location (null for UMD React, works on local dev servers with JSX transform):', source);
787
815
  await browser.close();
788
816
  await page.close();