refactor(react-devtools): reuse CLI output and Metro session ownership
Merged
TH
8h ago+511+511+012345678901234567890123456789-417-417-012345678901234567890123456789
Summary
Follow-up to #3613, rebased onto main. React inspection and profiling share CLI output, component metadata, backend inspection, and Metro session ownership. Raw profiles are saved atomically before optional prop inspection; interrupted captures retain an explanatory note that successful enrichment replaces.
Review fixes keep Metro scope resolution inside its best-effort boundary, reject inherited component-kind keys, and continue past failures from renderers that cannot confirm ownership. Command tests now exercise the real CLI dispatcher and its exit code.
24 files; 33 fewer production TypeScript lines. No new dependencies or gate exceptions.
Validation
At fe22e77668f9c5aee1f7ea204adb4662aaeb0077:
pnpm check:affected --run: all runnable gates passed, including 1,353 related tests across 175 files.- Focused DevTools/Metro suite: 157 tests passed;
pnpm check:quickpassed. - Review regressions, same five-suite command:
base 15adb4196e | head fe22e77668 |
|---|---|
| 8 failed, 44 passed | 53 passed |
- Earlier live RN 0.83.1/iOS 26.2 evidence belongs to
f21ea8a: tree/find/inspect/errors and profile start/stop/report/commit, 8 commits and 480 expected memo updates. Live validation was not repeated for these review fixes. - CI pending on the new head. The previous Smoke Tests failure was a
simctl openurltimeout in the snapshot-depth fixture.