From cbffb565ec47724323729f8e2307ef82b8a92fc1 Mon Sep 17 00:00:00 2001 From: openhands Date: Tue, 8 Sep 2026 18:22:49 +0200 Subject: [PATCH] perf: cut biome lint from 25s to 1s and fix pre-existing lint failures Exclude generated drizzle-kit snapshot artifacts from formatting checks (drizzle/drafts/meta), which made biome scan a 360KB generated JSON for 23s. Fix the pre-existing lint errors in error-monitor, article-form and the admin-search-permissions mock so pnpm biome:lint is green in CI. --- biome.json | 2 +- src/components/admin/article-form.tsx | 2 +- src/lib/admin-search-permissions.test.ts | 12 +++++++----- src/lib/error-monitor.ts | 4 ++-- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/biome.json b/biome.json index 51fa871994..b90c07c85b 100644 --- a/biome.json +++ b/biome.json @@ -7,7 +7,7 @@ }, "files": { "ignoreUnknown": false, - "includes": ["**", "!setup", "!*.cjs", "!coverage"] + "includes": ["**", "!setup", "!*.cjs", "!coverage", "!drizzle/drafts/meta"] }, "formatter": { "enabled": true, diff --git a/src/components/admin/article-form.tsx b/src/components/admin/article-form.tsx index 949b977acf..44b036455a 100644 --- a/src/components/admin/article-form.tsx +++ b/src/components/admin/article-form.tsx @@ -14,7 +14,7 @@ export function ArticleForm({ action, defaultValues, }: { - action: (formData: FormData) => Promise; + action: (formData: FormData) => Promise; edit?: boolean; defaultValues?: { title?: string; diff --git a/src/lib/admin-search-permissions.test.ts b/src/lib/admin-search-permissions.test.ts index 4bd5370065..52b16131c8 100644 --- a/src/lib/admin-search-permissions.test.ts +++ b/src/lib/admin-search-permissions.test.ts @@ -5,11 +5,13 @@ const state = vi.hoisted(() => ({ queried: [] as unknown[], })); vi.mock("@/lib/api-handler", () => ({ - withAdmin: (_: unknown, handler: Function) => (request: unknown) => - handler(request, { - session: { user: { id: 1, rank: 7 } }, - permissions: { isSuperAdmin: false }, - }), + withAdmin: + (_: unknown, handler: (...args: unknown[]) => unknown) => + (request: unknown) => + handler(request, { + session: { user: { id: 1, rank: 7 } }, + permissions: { isSuperAdmin: false }, + }), })); vi.mock("@/lib/rate-limit", () => ({ rateLimit: async () => ({ ok: true }) })); vi.mock("@/lib/permissions", async () => ({ diff --git a/src/lib/error-monitor.ts b/src/lib/error-monitor.ts index 6a4dc7c29d..e35f2da433 100644 --- a/src/lib/error-monitor.ts +++ b/src/lib/error-monitor.ts @@ -115,12 +115,12 @@ export class ErrorStore { name.slice(0, 10) < cutoff ) await unlink(path.join(this.directory, name)).catch(() => {}); - const file = path.join(this.directory, record.at.slice(0, 10) + ".jsonl"); + const file = path.join(this.directory, `${record.at.slice(0, 10)}.jsonl`); const size = await stat(file) .then((s) => s.size) .catch(() => 0); if (size >= DAY_LIMIT) throw new Error("Daily error storage limit reached"); - await appendFile(file, JSON.stringify(record) + "\n", { mode: 0o600 }); + await appendFile(file, `${JSON.stringify(record)}\n`, { mode: 0o600 }); } async resolve(fingerprint: string) { if (!/^[a-f0-9]{16}$/.test(fingerprint))