feat(expo-router): add Expo Router support for screens and navigates

Introduce Expo Router integration: a new framework resolver, route-based screen nodes, and navigates edges, plus a /api/screens endpoint and a Screens UI view. Adds branch-guard-driven labeling of edges, resolution logic, and tests to cover extraction, resolution, and end-to-end flow. This enables CodeGraph UI to surface screens and transitions from Expo Router apps.
This commit is contained in:
Colby McHenry
2026-08-27 22:52:18 -05:00
parent ac9580544b
commit 70fd5fefc2
42 changed files with 4257 additions and 33 deletions
+3 -1
View File
@@ -1068,7 +1068,8 @@ export class ReferenceResolver {
// traverse `references`, so registration sites surface with no
// graph-layer changes.
let kind: Edge['kind'] =
ref.original.referenceKind === 'function_ref' ? 'references' : ref.original.referenceKind;
ref.edgeKind ??
(ref.original.referenceKind === 'function_ref' ? 'references' : ref.original.referenceKind);
// Promote "extends" to "implements" when a class/struct targets an interface
if (kind === 'extends') {
@@ -1103,6 +1104,7 @@ export class ReferenceResolver {
line: ref.original.line,
column: ref.original.column,
metadata: {
...(ref.metadata ?? {}),
confidence: ref.confidence,
resolvedBy: ref.resolvedBy,
// The ORIGINAL reference text (and kind, when edge-kind promotion