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 }, // Workspace member crates. Without this the ratchet's only Rust root is // `src-tauri/src`, and a crate under `src-tauri/crates/` is born outside the // repo's one size discipline -- silently, since the check still exits 0. { root: "src-tauri/crates", 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, }, { root: "src/shared/context", extensions: new Set([".ts", ".tsx"]), maxLines: MAX_LINES, }, { root: "src/shared/lib", extensions: new Set([".ts", ".tsx"]), maxLines: MAX_LINES, }, { root: "src/shared/ui", extensions: new Set([".ts", ".tsx"]), maxLines: MAX_LINES, }, { root: "src/shared/styles", extensions: new Set([".css"]), maxLines: MAX_LINES, }, ]; await runFileSizeCheck({ projectRoot, rules, label: "Desktop", });