import { base, defineConfig, mergeConfig } from "@raredays/lint/knip"; // Explicit return-type annotation avoids TS2742 (see oxlint.config.ts). const config: ReturnType = defineConfig( mergeConfig(base, { entry: [ // Read by path in scripts/build-theme.mjs (loadSiteSpec), never imported. "site.spec.ts", // The composition root: module fragments (billing, cms, ...) export // their wired port here for routes the app author has not written yet, // so its exports are this app's public API surface, not dead code. "app/lib/runtime.ts", // The Drizzle db client: only reachable once a Drizzle-backed provider // (state-machine-drizzle, engagement-drizzle, audit-drizzle, ...) // imports it, so an app with none selected leaves it structurally // unreached even though the base template always ships it. "db/index.ts", // CRDA:knip-entry ], ignoreDependencies: [ // Shipped so an app author can drop in an icon without `pnpm add`; // the base template itself renders none out of the box. "lucide-react", // CRDA:knip-ignoreDependencies ], }), ); export default config;