import { readdir, readFile } from 'node:fs/promises'; import { join } from 'node:path'; import { fileURLToPath } from 'node:url'; async function files(directory) { const entries = await readdir(directory, { withFileTypes: true }); return (await Promise.all(entries.map(entry => entry.isDirectory() ? files(join(directory, entry.name)) : [join(directory, entry.name)]))).flat(); } const forbidden = ['/__demo', 'tiku-saas-demo:v1:', 'mockServiceWorker', 'PocketBase', 's3AccessKeySecret', 'X-Demo-Host']; const violations = []; for (const file of await files(fileURLToPath(new URL('../dist', import.meta.url)))) { const content = await readFile(file, 'utf8').catch(() => ''); for (const marker of forbidden) if (content.includes(marker)) violations.push(`${file}: ${marker}`); } if (violations.length) { console.error(`Production bundle contains development-only markers:\n${violations.join('\n')}`); process.exit(1); } console.log('Production bundle contains no development-only or secret markers.');