Skip to content

Commit 8534bb0

Browse files
committed
style(site): satisfy biome useBlockStatements in topics.ts
1 parent 2fc7bec commit 8534bb0

1 file changed

Lines changed: 86 additions & 38 deletions

File tree

‎apps/site/src/lib/topics.ts‎

Lines changed: 86 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -747,7 +747,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
747747
slug: "launchdarkly",
748748
title: "LaunchDarkly",
749749
category: "vendors",
750-
tagline: "Enterprise Feature Management, Progressive Rollouts & Kill Switches",
750+
tagline:
751+
"Enterprise Feature Management, Progressive Rollouts & Kill Switches",
751752
keywords: ["launchdarkly", "feature flags"],
752753
diagramSteps: [
753754
"Flag Targeting Rules",
@@ -1143,7 +1144,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
11431144
slug: "vite",
11441145
title: "Vite",
11451146
category: "frameworks",
1146-
tagline: "Instant ESM Dev Server, Rollup/Rolldown Bundling & Environment API",
1147+
tagline:
1148+
"Instant ESM Dev Server, Rollup/Rolldown Bundling & Environment API",
11471149
keywords: ["vite", "vitejs", "rolldown"],
11481150
diagramSteps: [
11491151
"Native Browser ESM",
@@ -1283,7 +1285,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
12831285
slug: "bun",
12841286
title: "Bun",
12851287
category: "languages",
1286-
tagline: "All-in-One JavaScript Runtime, Bundler, Test Runner & Package Manager",
1288+
tagline:
1289+
"All-in-One JavaScript Runtime, Bundler, Test Runner & Package Manager",
12871290
keywords: ["bun", "bun.sh"],
12881291
diagramSteps: [
12891292
"bun install & bun test",
@@ -1345,7 +1348,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
13451348
title: "Go",
13461349
category: "languages",
13471350
aliases: ["golang"],
1348-
tagline: "Goroutines, Channels, Cloud-Native CLI Tools & High-Throughput Services",
1351+
tagline:
1352+
"Goroutines, Channels, Cloud-Native CLI Tools & High-Throughput Services",
13491353
keywords: ["golang", "go routines"],
13501354
diagramSteps: [
13511355
"Goroutines & Channels",
@@ -1392,7 +1396,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
13921396
slug: "zod",
13931397
title: "Zod",
13941398
category: "languages",
1395-
tagline: "TypeScript-First Schema Validation, z.infer & Runtime Boundary Safety",
1399+
tagline:
1400+
"TypeScript-First Schema Validation, z.infer & Runtime Boundary Safety",
13961401
keywords: ["zod", "zvalidator", "z.object", "z.infer"],
13971402
diagramSteps: [
13981403
"Untrusted JSON Input",
@@ -1413,7 +1418,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
14131418
category: "data",
14141419
featured: true,
14151420
aliases: ["cloudflare-d1"],
1416-
tagline: "Serverless Edge SQLite, Read Replication & Zero-Cold-Start Queries",
1421+
tagline:
1422+
"Serverless Edge SQLite, Read Replication & Zero-Cold-Start Queries",
14171423
keywords: ["cloudflare d1", "env.db", "d1 database"],
14181424
diagramSteps: [
14191425
"Drizzle SQL Migrations",
@@ -1428,7 +1434,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
14281434
slug: "durable-objects",
14291435
title: "Durable Objects",
14301436
category: "data",
1431-
tagline: "Single-Threaded Edge Actors, Embedded SQLite & WebSocket Hibernation",
1437+
tagline:
1438+
"Single-Threaded Edge Actors, Embedded SQLite & WebSocket Hibernation",
14321439
keywords: ["durable objects", "ctx.storage.sql", "websocket hibernation"],
14331440
diagramSteps: [
14341441
"Unique Actor ID",
@@ -1460,7 +1467,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
14601467
slug: "prisma",
14611468
title: "Prisma",
14621469
category: "data",
1463-
tagline: "Declarative Data Modeling, Prisma Migrate & Type-Safe Database Client",
1470+
tagline:
1471+
"Declarative Data Modeling, Prisma Migrate & Type-Safe Database Client",
14641472
keywords: ["prisma", "schema.prisma"],
14651473
diagramSteps: [
14661474
"schema.prisma",
@@ -1476,7 +1484,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
14761484
title: "PostgreSQL",
14771485
category: "data",
14781486
aliases: ["postgres"],
1479-
tagline: "ACID Relational Database, JSONB, pgvector & Indexing Architecture",
1487+
tagline:
1488+
"ACID Relational Database, JSONB, pgvector & Indexing Architecture",
14801489
keywords: ["postgres", "postgresql", "jsonb", "pgvector"],
14811490
diagramSteps: [
14821491
"Relational + JSONB",
@@ -1584,7 +1593,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
15841593
title: "Better-Auth",
15851594
category: "data",
15861595
featured: true,
1587-
tagline: "TypeScript-Native Authentication, OAuth 2.1, Passkeys & D1 Sessions",
1596+
tagline:
1597+
"TypeScript-Native Authentication, OAuth 2.1, Passkeys & D1 Sessions",
15881598
keywords: ["better-auth", "better auth"],
15891599
diagramSteps: [
15901600
"OAuth / Passkey Login",
@@ -1599,7 +1609,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
15991609
slug: "clerk",
16001610
title: "Clerk",
16011611
category: "data",
1602-
tagline: "Drop-In Authentication UI, Multi-Tenant Organizations & Session JWTs",
1612+
tagline:
1613+
"Drop-In Authentication UI, Multi-Tenant Organizations & Session JWTs",
16031614
keywords: ["clerk", "clerk.com", "clerk.dev"],
16041615
diagramSteps: [
16051616
"<SignIn /> Component",
@@ -1630,7 +1641,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
16301641
title: "AuthZed",
16311642
category: "data",
16321643
aliases: ["spicedb"],
1633-
tagline: "Google Zanzibar Relationship-Based Access Control (ReBAC) & SpiceDB",
1644+
tagline:
1645+
"Google Zanzibar Relationship-Based Access Control (ReBAC) & SpiceDB",
16341646
keywords: ["authzed", "spicedb", "zanzibar", "rebac"],
16351647
diagramSteps: [
16361648
"Permission Schema",
@@ -1645,7 +1657,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
16451657
slug: "cms",
16461658
title: "Headless CMS",
16471659
category: "data",
1648-
tagline: "Structured Content Modeling, Visual Editing & Omnichannel Delivery",
1660+
tagline:
1661+
"Structured Content Modeling, Visual Editing & Omnichannel Delivery",
16491662
keywords: ["headless cms", "cms", "content modeling"],
16501663
diagramSteps: [
16511664
"Structured Content Types",
@@ -1680,7 +1693,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
16801693
title: "AI & Agents",
16811694
category: "ai",
16821695
featured: true,
1683-
tagline: "Autonomous AI Agents, Tool Calling, Structured Outputs & Eval Loops",
1696+
tagline:
1697+
"Autonomous AI Agents, Tool Calling, Structured Outputs & Eval Loops",
16841698
description:
16851699
"Architect production AI coding agents, Model Context Protocol (MCP) servers, WebMCP tools, and Answer Engine Optimization (AEO).",
16861700
badge: "🤖 AI & Agentic Web Hub",
@@ -1749,7 +1763,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
17491763
slug: "webmcp",
17501764
title: "WebMCP",
17511765
category: "ai",
1752-
tagline: "navigator.modelContext Browser Tool Registration for In-Page AI Agents",
1766+
tagline:
1767+
"navigator.modelContext Browser Tool Registration for In-Page AI Agents",
17531768
keywords: ["webmcp", "navigator.modelcontext"],
17541769
diagramSteps: [
17551770
"navigator.modelContext",
@@ -1779,7 +1794,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
17791794
slug: "webgpu",
17801795
title: "WebGPU",
17811796
category: "ai",
1782-
tagline: "Next-Gen Browser GPU Compute Shaders, WGSL & Local LLM Acceleration",
1797+
tagline:
1798+
"Next-Gen Browser GPU Compute Shaders, WGSL & Local LLM Acceleration",
17831799
keywords: ["webgpu", "wgsl", "compute shaders"],
17841800
diagramSteps: [
17851801
"navigator.gpu Adapter",
@@ -1826,7 +1842,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
18261842
title: "Google Gemini",
18271843
category: "ai",
18281844
aliases: ["google-gemini"],
1829-
tagline: "Multimodal Context Windows, Google Antigravity & Agentic Workflows",
1845+
tagline:
1846+
"Multimodal Context Windows, Google Antigravity & Agentic Workflows",
18301847
keywords: ["gemini", "google gemini", "antigravity"],
18311848
diagramSteps: [
18321849
"Multimodal Input",
@@ -1856,7 +1873,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
18561873
slug: "chrome-built-in-ai",
18571874
title: "Chrome Built-in AI",
18581875
category: "ai",
1859-
tagline: "W3C Web Machine Learning Prompt, Summarizer, Writer & Translator APIs",
1876+
tagline:
1877+
"W3C Web Machine Learning Prompt, Summarizer, Writer & Translator APIs",
18601878
keywords: ["chrome built-in ai", "chrome-built-in-ai", "prompt api"],
18611879
diagramSteps: [
18621880
"Feature Detection Gate",
@@ -1887,7 +1905,12 @@ const RAW_TOPICS: RawTopicSeed[] = [
18871905
title: "RAG",
18881906
category: "ai",
18891907
tagline: "Hybrid Semantic + Keyword Search, Vector Embeddings & Reranking",
1890-
keywords: ["rag", "retrieval augmented generation", "vector database", "embeddings"],
1908+
keywords: [
1909+
"rag",
1910+
"retrieval augmented generation",
1911+
"vector database",
1912+
"embeddings",
1913+
],
18911914
diagramSteps: [
18921915
"Chunking + Embeddings",
18931916
"Vector + BM25 Index",
@@ -1921,7 +1944,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
19211944
title: "GitHub",
19221945
category: "devops",
19231946
featured: true,
1924-
tagline: "GitHub Actions CI/CD, Pull Request Workflows, Copilot & Open Source",
1947+
tagline:
1948+
"GitHub Actions CI/CD, Pull Request Workflows, Copilot & Open Source",
19251949
keywords: ["github", "github actions", "github copilot", "pull request"],
19261950
diagramSteps: [
19271951
"Pull Request Branch",
@@ -1952,7 +1976,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
19521976
slug: "playwright",
19531977
title: "Playwright",
19541978
category: "devops",
1955-
tagline: "Deterministic End-to-End Browser Testing, Trace Viewer & Network Mocks",
1979+
tagline:
1980+
"Deterministic End-to-End Browser Testing, Trace Viewer & Network Mocks",
19561981
keywords: ["playwright", "e2e testing"],
19571982
diagramSteps: [
19581983
"getByRole() Locators",
@@ -1968,7 +1993,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
19681993
title: "Testing",
19691994
category: "devops",
19701995
aliases: ["vitest", "tdd"],
1971-
tagline: "Test-Driven Development (TDD), Vitest, Dependency Injection & CI Gates",
1996+
tagline:
1997+
"Test-Driven Development (TDD), Vitest, Dependency Injection & CI Gates",
19721998
keywords: ["testing", "vitest", "jest", "tdd", "unit testing"],
19731999
diagramSteps: [
19742000
"Red: Failing Spec",
@@ -2008,7 +2034,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
20082034
slug: "serverless",
20092035
title: "Serverless",
20102036
category: "devops",
2011-
tagline: "Edge Functions, Scale-to-Zero Compute & Event-Driven Architectures",
2037+
tagline:
2038+
"Edge Functions, Scale-to-Zero Compute & Event-Driven Architectures",
20122039
keywords: ["serverless", "jamstack", "edge functions"],
20132040
diagramSteps: [
20142041
"Incoming HTTP / Event",
@@ -2039,7 +2066,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
20392066
title: "Accessibility",
20402067
category: "devops",
20412068
aliases: ["accessibility", "wcag"],
2042-
tagline: "WCAG 2.2 AA, Semantic ARIA, Keyboard Focus Rings & Screen Readers",
2069+
tagline:
2070+
"WCAG 2.2 AA, Semantic ARIA, Keyboard Focus Rings & Screen Readers",
20432071
keywords: ["accessibility", "a11y", "wcag", "aria", "screen reader"],
20442072
diagramSteps: [
20452073
"Semantic HTML Elements",
@@ -2055,8 +2083,15 @@ const RAW_TOPICS: RawTopicSeed[] = [
20552083
title: "Design",
20562084
category: "devops",
20572085
aliases: ["design-systems", "figma"],
2058-
tagline: "W3C Design Tokens, Dual-Theme UI Systems, Figma & Component Libraries",
2059-
keywords: ["design system", "design systems", "figma", "ui/ux", "design tokens"],
2086+
tagline:
2087+
"W3C Design Tokens, Dual-Theme UI Systems, Figma & Component Libraries",
2088+
keywords: [
2089+
"design system",
2090+
"design systems",
2091+
"figma",
2092+
"ui/ux",
2093+
"design tokens",
2094+
],
20602095
diagramSteps: [
20612096
"W3C tokens.json",
20622097
"Semantic Light/Dark Tokens",
@@ -2070,7 +2105,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
20702105
slug: "architecture",
20712106
title: "Architecture",
20722107
category: "devops",
2073-
tagline: "Distributed Systems, Trade-Off Matrices & Visual Architecture Diagrams",
2108+
tagline:
2109+
"Distributed Systems, Trade-Off Matrices & Visual Architecture Diagrams",
20742110
keywords: ["architecture", "system design", "distributed systems"],
20752111
diagramSteps: [
20762112
" SLA & Cost Constraints",
@@ -2085,8 +2121,15 @@ const RAW_TOPICS: RawTopicSeed[] = [
20852121
slug: "career",
20862122
title: "Career",
20872123
category: "devops",
2088-
tagline: "Engineering Portfolios, System Design Interviews, DevRel & Leadership",
2089-
keywords: ["career", "devrel", "developer relations", "getting hired", "interviews"],
2124+
tagline:
2125+
"Engineering Portfolios, System Design Interviews, DevRel & Leadership",
2126+
keywords: [
2127+
"career",
2128+
"devrel",
2129+
"developer relations",
2130+
"getting hired",
2131+
"interviews",
2132+
],
20902133
diagramSteps: [
20912134
"Shipped Production App",
20922135
"Live URL + E2E + Auth",
@@ -2101,7 +2144,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
21012144
title: "WebDev",
21022145
category: "devops",
21032146
aliases: ["web-dev", "web dev"],
2104-
tagline: "Full-Stack Web Engineering, Core Web Vitals & Modern Browser APIs",
2147+
tagline:
2148+
"Full-Stack Web Engineering, Core Web Vitals & Modern Browser APIs",
21052149
keywords: ["webdev", "web development", "full-stack", "core web vitals"],
21062150
diagramSteps: [
21072151
"Semantic HTML & CSS",
@@ -2132,7 +2176,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
21322176
slug: "ffmpeg",
21332177
title: "FFmpeg",
21342178
category: "devops",
2135-
tagline: "Hardware-Accelerated Video Encoding, Filtergraphs & Audio Mastering",
2179+
tagline:
2180+
"Hardware-Accelerated Video Encoding, Filtergraphs & Audio Mastering",
21362181
keywords: ["ffmpeg", "nvenc", "libx264"],
21372182
diagramSteps: [
21382183
"Raw Video + WAV Stems",
@@ -2209,7 +2254,8 @@ const RAW_TOPICS: RawTopicSeed[] = [
22092254
title: "Mental Health",
22102255
category: "devops",
22112256
aliases: ["mental health"],
2212-
tagline: "Sustainable Engineering Pace, Preventing Burnout & Developer Wellness",
2257+
tagline:
2258+
"Sustainable Engineering Pace, Preventing Burnout & Developer Wellness",
22132259
keywords: ["mental health", "burnout", "work-life balance"],
22142260
diagramSteps: [
22152261
"Healthy Boundaries",
@@ -2340,7 +2386,9 @@ for (const t of TOPICS) {
23402386
export function getTopicBySlug(
23412387
slugOrLabel: string | null | undefined,
23422388
): TopicDefinition | undefined {
2343-
if (!slugOrLabel) return undefined;
2389+
if (!slugOrLabel) {
2390+
return undefined;
2391+
}
23442392
const normalized = slugOrLabel.trim().toLowerCase();
23452393
if (TOPICS_BY_SLUG[normalized]) {
23462394
return TOPICS_BY_SLUG[normalized];
@@ -2364,8 +2412,7 @@ export function itemMatchesTopic(
23642412
): boolean {
23652413
if (Array.isArray(tags) && tags.length > 0) {
23662414
for (const t of tags) {
2367-
const resolved =
2368-
getTopicBySlug(t?.value) || getTopicBySlug(t?.label);
2415+
const resolved = getTopicBySlug(t?.value) || getTopicBySlug(t?.label);
23692416
if (resolved?.slug === topic.slug) {
23702417
return true;
23712418
}
@@ -2384,8 +2431,7 @@ export function matchTopicsForText(
23842431

23852432
if (Array.isArray(tags)) {
23862433
for (const t of tags) {
2387-
const resolved =
2388-
getTopicBySlug(t?.value) || getTopicBySlug(t?.label);
2434+
const resolved = getTopicBySlug(t?.value) || getTopicBySlug(t?.label);
23892435
if (resolved && !matched.has(resolved.slug)) {
23902436
matched.set(resolved.slug, resolved);
23912437
}
@@ -2398,7 +2444,9 @@ export function matchTopicsForText(
23982444
const inferredBrands: TopicDefinition[] = [];
23992445
const inferredConcepts: TopicDefinition[] = [];
24002446
for (const topic of TOPICS) {
2401-
if (matched.has(topic.slug)) continue;
2447+
if (matched.has(topic.slug)) {
2448+
continue;
2449+
}
24022450
if (topic.keywordRegexes.some((re) => re.test(hay))) {
24032451
if (topic.kind === "brand") {
24042452
inferredBrands.push(topic);

0 commit comments

Comments
 (0)