/** * `slowcook check prod-bundle` — no mock-data ENGINE in the prod bundle. * * `prod-honesty` (its sibling) checks whether fixture data *renders* in prod; * this checks something deeper the directive demands: that the mock's data * ENGINE is not even *present* in the shipped bundle. A design-first app runs * an in-browser data engine (sql.js / SQLite WASM, or slowcook's own * mock-runtime fixture provider) so the mock is reviewable. Prod must be * ABRUPTLY DISCONNECTED from it — wired only to the real backend — so that a * misconfigured flag can never resurrect mock data. A runtime flag that merely * *bypasses* the engine is not enough: if the engine is in the bundle, it is a * flag flip away from serving fake data. * * This scans a BUILT dist directory (post-`vite build`/`next build`) and fails * when a forbidden engine marker appears in any emitted `.js`/`.wasm`. The * clean fix is a build-time sever (conditional/dynamic import gated by the * prod env literal) so the bundler tree-shakes the engine out entirely — then * this check passes because the engine is genuinely gone, not hidden. * * Pure-disk, no LLM. Runs in the consumer's deploy (after build, before * publish) and in CI. */ export interface BundleViolation { file: string; marker: string; reason: string; } export interface ProdBundleResult { violations: BundleViolation[]; filesScanned: number; } /** * Default forbidden engine markers. Each is a string that only appears when a * client-side data engine is bundled. `.wasm` filename patterns are matched * against basenames; text markers are matched against `.js` contents. */ export declare const DEFAULT_FORBIDDEN: { marker: string; where: "wasm-name" | "js-text"; label: string; }[]; export declare function runProdBundleCheck(repoRoot: string, distRel: string, forbidden?: { marker: string; where: "wasm-name" | "js-text"; label: string; }[]): ProdBundleResult; export declare function runProdBundleCli(argv: string[]): void; //# sourceMappingURL=prod-bundle.d.ts.map