diff --git a/apps/web/package.json b/apps/web/package.json index 8b99aed..965e7bc 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -3,7 +3,7 @@ "version": "0.0.1", "private": true, "scripts": { - "dev": "node --max-old-space-size=4096 node_modules/next/dist/bin/next dev --port 3000", + "dev": "node scripts/clean-next-dev-cache.mjs && node --max-old-space-size=4096 node_modules/next/dist/bin/next dev --port 3000", "build": "node --max-old-space-size=4096 node_modules/next/dist/bin/next build", "start": "next start", "lint": "next lint", diff --git a/apps/web/scripts/clean-next-dev-cache.mjs b/apps/web/scripts/clean-next-dev-cache.mjs new file mode 100644 index 0000000..6381c18 --- /dev/null +++ b/apps/web/scripts/clean-next-dev-cache.mjs @@ -0,0 +1,16 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const scriptDir = path.dirname(fileURLToPath(import.meta.url)); +const webRoot = path.resolve(scriptDir, '..'); +const nextDir = path.resolve(webRoot, '.next'); + +if (!nextDir.startsWith(`${webRoot}${path.sep}`)) { + throw new Error(`Refusing to remove path outside web app: ${nextDir}`); +} + +if (fs.existsSync(nextDir)) { + fs.rmSync(nextDir, { recursive: true, force: true }); + console.log('[web dev] removed stale .next cache'); +}