From b85a348891858b393e87f126927c5fe9f88893c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Fri, 31 Jul 2026 22:08:05 +0200 Subject: [PATCH] Give the type check the same memory ceiling the build already has CI died at the 4 GB default heap while checking types. The build was given its own ceiling earlier this month so a local run, CI and the published image all invoke it the same way; the type check was left on the default and has now grown past it. Same treatment, same reason. Also raises the aggregate bundle cap from 3260 to 3310 KB, and only that one. Every per-route ceiling is untouched and every measured route sits within a kilobyte of its previous value, so nothing a person downloads grew. The rise is the new score-settings route, a mutually exclusive chunk that the whole-build sum counts even though no single visit pays for it, plus its strings across six locales. The reasoning is recorded in the budget file beside the number. --- bundle-budget.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bundle-budget.json b/bundle-budget.json index 95a5fb7eb..b0fe17b50 100644 --- a/bundle-budget.json +++ b/bundle-budget.json @@ -1,11 +1,11 @@ { - "$comment": "Client-bundle budgets, enforced by scripts/check-bundle-budget.mjs (--check) after `next build` in CI. Values are KB gzip and include every emitted lazy route and locale chunk, while route budgets include the shared rootMainFiles baseline. Re-measured at v1.34.1: / 431, /insights 420, /measurements 417, /insights/mood 438, total 3238, baseline 130, lazy catalogs 792. The 108 KB aggregate rise from v1.34.0's 3130 is not one user load: the explicit assessment error/timeout/poll-exhaustion contract adds 2.7-4.4 KB to each of roughly forty mutually exclusive metric route chunks, which the whole-build sum counts independently. Catalogs account for only about 2 KB of the delta, no catalog is statically route-referenced, and Recharts remains exactly one fingerprinted chunk. A measured single next/dynamic assessment boundary was reverted because it raised the artifact further to 3243 KB while saving only about 1 KB per route. The aggregate cap therefore moves narrowly from 3140 to 3260 (22 KB headroom); per-route ceilings, the static-catalog guard, and the one-Recharts-chunk guard remain unchanged.", + "$comment": "Client-bundle budgets, enforced by scripts/check-bundle-budget.mjs (--check) after `next build` in CI. Values are KB gzip and include every emitted lazy route and locale chunk, while route budgets include the shared rootMainFiles baseline. Re-measured at v1.35.0: / 431, /insights 421, /measurements 417, /insights/mood 439, total 3286, baseline 130, lazy catalogs 804. Every per-route ceiling is unchanged and every measured route is within a kilobyte of its v1.34.1 value, so nothing a person actually downloads grew. The 48 KB aggregate rise from 3238 is the score-configuration settings route, which is a new mutually exclusive chunk the whole-build sum counts independently, plus about 12 KB of its strings across the six locale catalogs. No catalog is statically route-referenced and Recharts remains exactly one fingerprinted chunk. The aggregate cap therefore moves from 3260 to 3310 (24 KB headroom, matching the previous margin); per-route ceilings, the static-catalog guard and the one-Recharts-chunk guard remain unchanged.", "routesKbGz": { "/page": 460, "/insights/page": 445, "/measurements/page": 445, "/insights/mood/page": 460 }, - "totalClientKbGz": 3260, + "totalClientKbGz": 3310, "maxRechartsChunks": 1 } diff --git a/package.json b/package.json index 6c736290e..8fca01907 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "db:studio": "prisma studio", "format": "prettier --write .", "format:check": "prettier --check .", - "typecheck": "tsc --noEmit", + "typecheck": "NODE_OPTIONS=--max-old-space-size=8192 tsc --noEmit", "test": "vitest run", "test:watch": "vitest", "test:integration": "vitest run --config vitest.integration.config.mts",