|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- 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)" : ""}`,
- );
- }
|