import path from "node:path"; import { fileURLToPath } from "node:url"; import { runFileSizeCheck } from "../../scripts/check-file-sizes-core.mjs"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const projectRoot = path.resolve(__dirname, ".."); const MAX_LINES = 1000; const rules = [ { root: "src-tauri/src", extensions: new Set([".rs"]), maxLines: MAX_LINES }, { root: "src/app", extensions: new Set([".ts", ".tsx"]), maxLines: MAX_LINES, }, { root: "src/features", extensions: new Set([".ts", ".tsx"]), maxLines: MAX_LINES, }, { root: "src/shared/api", extensions: new Set([".ts", ".tsx"]), maxLines: MAX_LINES, }, ]; // TEMP — these files exceed the 1000-line limit and are queued to be split. // Do not add to this list; split the file instead. Remove each entry as its // file is broken up. Tracked as a follow-up. const overrides = new Map([ ["src-tauri/src/commands/agents.rs", 1294], ["src-tauri/src/managed_agents/nest.rs", 1420], ["src-tauri/src/managed_agents/runtime.rs", 1953], ["src-tauri/src/managed_agents/personas.rs", 1080], ["src-tauri/src/managed_agents/persona_card.rs", 1050], ["src/shared/api/tauri.ts", 1196], ["src-tauri/src/nostr_convert.rs", 1126], ["src/shared/api/relayClientSession.ts", 1022], ["src-tauri/src/migration.rs", 1295], ]); await runFileSizeCheck({ projectRoot, rules, overrides, label: "Desktop", scriptPath: "desktop/scripts/check-file-sizes.mjs", });