From 311cd89abd5fd8f2f6ce0edadc7d8022584c4be4 Mon Sep 17 00:00:00 2001 From: Ewan Croft Date: Mon, 22 Jun 2026 13:41:36 +0100 Subject: [PATCH] perf: add shamefully-hoist to .npmrc to prevent OOM in Vercel builds shamefully-hoist flattens node_modules like npm, trading disk for memory. Combined with --frozen-lockfile and --filter ... to target only transitive deps, this should prevent SIGKILL on the 8GB free tier. --- .npmrc | 1 + packages/bismuth-web/vercel.json | 4 ++-- packages/jasper-web/vercel.json | 4 ++-- packages/malachite-web/vercel.json | 4 ++-- packages/opal-web/vercel.json | 4 ++-- packages/tourmaline/vercel.json | 4 ++-- 6 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..bf2e764 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +shamefully-hoist=true diff --git a/packages/bismuth-web/vercel.json b/packages/bismuth-web/vercel.json index c285d54..81d4302 100644 --- a/packages/bismuth-web/vercel.json +++ b/packages/bismuth-web/vercel.json @@ -1,5 +1,5 @@ { "framework": "sveltekit", - "installCommand": "cd ../.. && pnpm install --ignore-scripts --frozen-lockfile --filter @ewanc26/utils --filter @ewanc26/bismuth --filter @ewanc26/landing-ui --filter @ewanc26/bismuth-web", - "buildCommand": "cd ../.. && pnpm --filter @ewanc26/utils --filter @ewanc26/bismuth --filter @ewanc26/landing-ui --filter @ewanc26/bismuth-web build" + "installCommand": "cd ../.. && pnpm install --ignore-scripts --frozen-lockfile --filter @ewanc26/bismuth-web...", + "buildCommand": "cd ../.. && pnpm --filter @ewanc26/bismuth-web... build" } diff --git a/packages/jasper-web/vercel.json b/packages/jasper-web/vercel.json index 5b14730..e6e89d2 100644 --- a/packages/jasper-web/vercel.json +++ b/packages/jasper-web/vercel.json @@ -1,5 +1,5 @@ { "framework": "sveltekit", - "installCommand": "cd ../.. && pnpm install --ignore-scripts --frozen-lockfile --filter @ewanc26/utils --filter @ewanc26/tid --filter @ewanc26/malachite --filter @ewanc26/jasper --filter @ewanc26/landing-ui --filter @ewanc26/jasper-web", - "buildCommand": "cd ../.. && pnpm --filter @ewanc26/utils --filter @ewanc26/tid --filter @ewanc26/malachite --filter @ewanc26/jasper --filter @ewanc26/landing-ui --filter @ewanc26/jasper-web build" + "installCommand": "cd ../.. && pnpm install --ignore-scripts --frozen-lockfile --filter @ewanc26/jasper-web...", + "buildCommand": "cd ../.. && pnpm --filter @ewanc26/jasper-web... build" } diff --git a/packages/malachite-web/vercel.json b/packages/malachite-web/vercel.json index 1576b49..c6ea568 100644 --- a/packages/malachite-web/vercel.json +++ b/packages/malachite-web/vercel.json @@ -1,5 +1,5 @@ { "framework": "sveltekit", - "installCommand": "cd ../.. && pnpm install --ignore-scripts --frozen-lockfile --filter @ewanc26/utils --filter @ewanc26/tid --filter @ewanc26/malachite --filter @ewanc26/landing-ui --filter @ewanc26/malachite-web", - "buildCommand": "cd ../.. && pnpm --filter @ewanc26/utils --filter @ewanc26/tid --filter @ewanc26/malachite --filter @ewanc26/landing-ui --filter @ewanc26/malachite-web build" + "installCommand": "cd ../.. && pnpm install --ignore-scripts --frozen-lockfile --filter @ewanc26/malachite-web...", + "buildCommand": "cd ../.. && pnpm --filter @ewanc26/malachite-web... build" } diff --git a/packages/opal-web/vercel.json b/packages/opal-web/vercel.json index 0cf2397..9d8b036 100644 --- a/packages/opal-web/vercel.json +++ b/packages/opal-web/vercel.json @@ -1,5 +1,5 @@ { "framework": "sveltekit", - "installCommand": "cd ../.. && pnpm install --ignore-scripts --frozen-lockfile --filter @ewanc26/utils --filter @ewanc26/tid --filter @ewanc26/opal --filter @ewanc26/landing-ui --filter @ewanc26/opal-web", - "buildCommand": "cd ../.. && pnpm --filter @ewanc26/utils --filter @ewanc26/tid --filter @ewanc26/opal --filter @ewanc26/landing-ui --filter @ewanc26/opal-web build" + "installCommand": "cd ../.. && pnpm install --ignore-scripts --frozen-lockfile --filter @ewanc26/opal-web...", + "buildCommand": "cd ../.. && pnpm --filter @ewanc26/opal-web... build" } diff --git a/packages/tourmaline/vercel.json b/packages/tourmaline/vercel.json index 81afc01..d3b556d 100644 --- a/packages/tourmaline/vercel.json +++ b/packages/tourmaline/vercel.json @@ -1,5 +1,5 @@ { "framework": "sveltekit", - "installCommand": "cd ../.. && pnpm install --ignore-scripts --frozen-lockfile --filter @ewanc26/utils --filter @ewanc26/noise --filter @ewanc26/noise-avatar --filter @ewanc26/landing-ui --filter @ewanc26/tourmaline", - "buildCommand": "cd ../.. && pnpm --filter @ewanc26/utils --filter @ewanc26/noise --filter @ewanc26/noise-avatar --filter @ewanc26/landing-ui --filter @ewanc26/tourmaline build" + "installCommand": "cd ../.. && pnpm install --ignore-scripts --frozen-lockfile --filter @ewanc26/tourmaline...", + "buildCommand": "cd ../.. && pnpm --filter @ewanc26/tourmaline... build" } -- 2.51.2