From 8d6571ba20b821752fa2e327f42af98816b7ae6b Mon Sep 17 00:00:00 2001 From: Kai Date: Wed, 18 Feb 2026 08:13:32 -0800 Subject: [PATCH 1/2] fix: resolve all eslint no-explicit-any errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add stars/installs/framework optional fields to McpServer type - Remove 18 'as any' casts in mcp-client.tsx (now properly typed) - Replace 'as any as' with 'as unknown as' in compatibility route - 19 errors → 0 errors (120 warnings remain, all non-blocking) Unblocks CI for all branches including PR #449 (design tokens) --- src/app/api/compatibility/route.ts | 2 +- src/app/mcp/mcp-client.tsx | 28 ++++++++++++++-------------- src/lib/data.ts | 5 +++++ 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/app/api/compatibility/route.ts b/src/app/api/compatibility/route.ts index 3d47f6f..6f4b3ae 100644 --- a/src/app/api/compatibility/route.ts +++ b/src/app/api/compatibility/route.ts @@ -60,7 +60,7 @@ export async function GET(request: NextRequest) { const statusFilter = statusFilterRaw && VALID_STATUSES.includes(statusFilterRaw) ? statusFilterRaw : undefined; const seed = await readCompatibilitySeed(); - const mcpBySlug = new Map((mcpServers as any as McpServer[]).map((server) => [server.slug, server])); + const mcpBySlug = new Map((mcpServers as unknown as McpServer[]).map((server) => [server.slug, server])); const rows = seed.servers .map((row) => { diff --git a/src/app/mcp/mcp-client.tsx b/src/app/mcp/mcp-client.tsx index 0943079..3e57ad9 100644 --- a/src/app/mcp/mcp-client.tsx +++ b/src/app/mcp/mcp-client.tsx @@ -196,21 +196,21 @@ export function McpHubClient({ servers }: { servers: McpServer[] }) {

{/* Stats */} - {((server as any).stars || (server as any).installs || (server as any).framework) && ( + {(server.stars || server.installs || server.framework) && (
- {(server as any).stars && ( + {server.stars && ( - ⭐ {(server as any).stars.toLocaleString()} + ⭐ {server.stars.toLocaleString()} )} - {(server as any).installs && ( + {server.installs && ( - 📦 {(server as any).installs.toLocaleString()} + 📦 {server.installs.toLocaleString()} )} - {(server as any).framework && ( + {server.framework && ( - {(server as any).framework} + {server.framework} )}
@@ -311,21 +311,21 @@ export function McpHubClient({ servers }: { servers: McpServer[] }) {

{/* Stats */} - {((server as any).stars || (server as any).installs || (server as any).framework) && ( + {(server.stars || server.installs || server.framework) && (
- {(server as any).stars && ( + {server.stars && ( - ⭐ {(server as any).stars.toLocaleString()} + ⭐ {server.stars.toLocaleString()} )} - {(server as any).installs && ( + {server.installs && ( - 📦 {(server as any).installs.toLocaleString()} + 📦 {server.installs.toLocaleString()} )} - {(server as any).framework && ( + {server.framework && ( - {(server as any).framework} + {server.framework} )}
diff --git a/src/lib/data.ts b/src/lib/data.ts index b13700a..41d7b76 100644 --- a/src/lib/data.ts +++ b/src/lib/data.ts @@ -86,6 +86,11 @@ export type McpServer = { github?: string; author?: string; tags?: string[]; + + // Optional stats (populated at runtime) + stars?: number; + installs?: number; + framework?: string; // Phase 1 stats stars?: number; From a6ae1a11795b05affec6214e561687cefdee0bb8 Mon Sep 17 00:00:00 2001 From: Kai Date: Wed, 18 Feb 2026 08:39:09 -0800 Subject: [PATCH 2/2] fix: remove duplicate stars/installs/framework fields in McpServer type Duplicate type fields caused 'Duplicate identifier' build error in CI. --- src/lib/data.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/lib/data.ts b/src/lib/data.ts index 41d7b76..00ea46c 100644 --- a/src/lib/data.ts +++ b/src/lib/data.ts @@ -87,12 +87,7 @@ export type McpServer = { author?: string; tags?: string[]; - // Optional stats (populated at runtime) - stars?: number; - installs?: number; - framework?: string; - - // Phase 1 stats + // Stats (populated at runtime) stars?: number; installs?: number; framework?: string;