From b99dc7c576d0d89015eb9d5f5cb9e78aa1a12e33 Mon Sep 17 00:00:00 2001 From: Aravind Date: Fri, 18 Sep 2026 15:38:29 +0530 Subject: [PATCH] =?UTF-8?q?refactor(ts-migration):=20Phase=2011=20batch=20?= =?UTF-8?q?9=20=E2=80=94=20the=20page=20composition=20tables?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The eight `nodes` files under `src/pages/admin/*/`, which declare what each admin page is made of. Renamed with no annotations needed at all: zero new errors, 8/8 byte-identical, bundle hash unchanged. They came through clean because everything they call was typed first — `makeNode` and the registry in batch 1, the skill sections in batch 2. A descriptor table is only as checkable as the constructor it feeds. `positions/nodes.js` became `.tsx`, joining its seven `nodes.jsx` siblings. That is the exact case `scripts/ssr-resolve.mjs` was written for and says so in its comment: it is the only `.js` under `src/pages`, `skill-check.mjs` loads it by literal path as `.js`, and the resolver tries `.ts` and `.tsx` in turn. The suite loads it and still passes, which is the first time that particular branch has been exercised. Two of these files are also read as source TEXT rather than loaded — `candidates/nodes.jsx` at `skill-check.mjs:6049` and `talent-pool/nodes.jsx` at `:6298`, both through `resolveSourcePath`. That is the second channel, the one that was missed in Phase 0 and found by an ENOContent failure in Phase 4b-ii. Both resolve. Measured against `7a95d95`: typecheck 6 errors, unchanged; no new error anywhere lint exit 0 npm test 1684/1691, the same 7 failures verbatim build exit 0, identical bundle hash 74d17e2d… type erasure 104/104 byte-identical across Phase 11 so far No baseline artifact touched. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01HBG1wnuRfJKCstGB8Fekr8 --- src/pages/admin/activity/{nodes.jsx => nodes.tsx} | 0 src/pages/admin/analytics/{nodes.jsx => nodes.tsx} | 0 src/pages/admin/candidates-analysis/{nodes.jsx => nodes.tsx} | 0 src/pages/admin/candidates/{nodes.jsx => nodes.tsx} | 0 src/pages/admin/control-center/{nodes.jsx => nodes.tsx} | 0 src/pages/admin/hired-history/{nodes.jsx => nodes.tsx} | 0 src/pages/admin/positions/{nodes.js => nodes.tsx} | 0 src/pages/admin/talent-pool/{nodes.jsx => nodes.tsx} | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename src/pages/admin/activity/{nodes.jsx => nodes.tsx} (100%) rename src/pages/admin/analytics/{nodes.jsx => nodes.tsx} (100%) rename src/pages/admin/candidates-analysis/{nodes.jsx => nodes.tsx} (100%) rename src/pages/admin/candidates/{nodes.jsx => nodes.tsx} (100%) rename src/pages/admin/control-center/{nodes.jsx => nodes.tsx} (100%) rename src/pages/admin/hired-history/{nodes.jsx => nodes.tsx} (100%) rename src/pages/admin/positions/{nodes.js => nodes.tsx} (100%) rename src/pages/admin/talent-pool/{nodes.jsx => nodes.tsx} (100%) diff --git a/src/pages/admin/activity/nodes.jsx b/src/pages/admin/activity/nodes.tsx similarity index 100% rename from src/pages/admin/activity/nodes.jsx rename to src/pages/admin/activity/nodes.tsx diff --git a/src/pages/admin/analytics/nodes.jsx b/src/pages/admin/analytics/nodes.tsx similarity index 100% rename from src/pages/admin/analytics/nodes.jsx rename to src/pages/admin/analytics/nodes.tsx diff --git a/src/pages/admin/candidates-analysis/nodes.jsx b/src/pages/admin/candidates-analysis/nodes.tsx similarity index 100% rename from src/pages/admin/candidates-analysis/nodes.jsx rename to src/pages/admin/candidates-analysis/nodes.tsx diff --git a/src/pages/admin/candidates/nodes.jsx b/src/pages/admin/candidates/nodes.tsx similarity index 100% rename from src/pages/admin/candidates/nodes.jsx rename to src/pages/admin/candidates/nodes.tsx diff --git a/src/pages/admin/control-center/nodes.jsx b/src/pages/admin/control-center/nodes.tsx similarity index 100% rename from src/pages/admin/control-center/nodes.jsx rename to src/pages/admin/control-center/nodes.tsx diff --git a/src/pages/admin/hired-history/nodes.jsx b/src/pages/admin/hired-history/nodes.tsx similarity index 100% rename from src/pages/admin/hired-history/nodes.jsx rename to src/pages/admin/hired-history/nodes.tsx diff --git a/src/pages/admin/positions/nodes.js b/src/pages/admin/positions/nodes.tsx similarity index 100% rename from src/pages/admin/positions/nodes.js rename to src/pages/admin/positions/nodes.tsx diff --git a/src/pages/admin/talent-pool/nodes.jsx b/src/pages/admin/talent-pool/nodes.tsx similarity index 100% rename from src/pages/admin/talent-pool/nodes.jsx rename to src/pages/admin/talent-pool/nodes.tsx