const BASE = process.env.WARMUP_BASE || "http://localhost:3000"; const COOKIE = process.env.WARMUP_COOKIE || ""; const PATHS = [ "/dashboard", "/po", "/pickOrder", "/inventory", "/itemTracing", "/stocktakemanagement", "/stockIssue", "/putAway", "/finishedGood/management", "/stockRecord", "/doworkbench", "/do", "/ps", "/jo", "/jodetail", "/productionProcess", "/bag", "/bagPrint", "/laserPrint", "/report", "/m18Syn", "/chart/purchase", "/chart/joborder", "/chart/joborder/board", "/chart/delivery", "/chart/warehouse", "/chart/forecast", "/settings/user", "/settings/clientMonitor", "/settings/items", "/settings/itemDefaultShelfLife", "/settings/equipment", "/settings/warehouse", "/settings/printer", "/settings/itemPrice", "/settings/qcItem", "/settings/qcCategory", "/settings/qcItemAll", "/settings/shop/board", "/settings/deliveryOrderFloor", "/settings/rss", "/settings/bomWeighting", "/settings/masterDataIssues", "/settings/qrCodeHandle", "/settings/m18ImportTesting", "/settings/importExcel", "/settings/importBom", ]; async function waitReady() { const deadline = Date.now() + 120_000; while (Date.now() < deadline) { try { const res = await fetch(`${BASE}/login`); if (res.status < 500) return; } catch { // server still starting } await new Promise((r) => setTimeout(r, 1000)); } throw new Error(`dev server not ready at ${BASE}`); } console.log(`Waiting for ${BASE}/login (Next compiles this on first hit; the site will look stuck until it finishes)…`); await waitReady(); console.log(`Dev server answered. Warming ${PATHS.length} menu pages at ${BASE}`); if (!COOKIE) { console.log( "No WARMUP_COOKIE — private pages (/dashboard, /ps, /report, /settings, …) will redirect and stay uncompiled.", ); } for (const path of PATHS) { process.stdout.write(`compiling ${path} … `); const t0 = Date.now(); const res = await fetch(`${BASE}${path}`, { redirect: "manual", headers: COOKIE ? { cookie: COOKIE } : {}, }); const redirected = res.status >= 300 && res.status < 400; console.log( `${res.status} ${Date.now() - t0}ms${redirected ? " (redirect, page not compiled)" : ""}`, ); }