// Startup/dependency/schema changes require an explicit preview refresh. import {readFile,readdir} from 'node:fs/promises'; import {resolve} from 'node:path'; import {createHash} from 'node:crypto'; const root=resolve(process.argv[2] || '.'); const hash=createHash('sha256'); for (const name of ['apps/waterfall-wiki/pnpm-lock.yaml','pnpm-workspace.yaml','apps/waterfall-wiki/next.config.ts','apps/waterfall-wiki/tsconfig.json','apps/waterfall-wiki/postcss.config.mjs']) hash.update(name).update(await readFile(resolve(root,name))); for (const name of ['apps/waterfall-wiki/package.json','packages/brand/package.json']) { const p=JSON.parse(await readFile(resolve(root,name),'utf8')); hash.update(name).update(JSON.stringify({dependencies:p.dependencies,devDependencies:p.devDependencies,optionalDependencies:p.optionalDependencies,peerDependencies:p.peerDependencies,engines:p.engines,packageManager:p.packageManager,dev:p.scripts?.dev,prepare:p.scripts?.['brand:prepare'],exports:p.exports})); } for (const name of (await readdir(resolve(root,'apps/waterfall-wiki/db'))).filter(n=>n.endsWith('.sql')).sort()) hash.update(name).update(await readFile(resolve(root,'apps/waterfall-wiki/db',name))); console.log(hash.digest('hex'));