From 631eb94d80fd447a8bdee1f6620d65195dfed296 Mon Sep 17 00:00:00 2001 From: abosio Date: Sun, 21 Jun 2026 13:31:58 -0400 Subject: [PATCH 1/2] fix: add --legacy-peer-deps to init deps #551 npm was OOMing (~4GB heap) while resolving peer dependency conflicts introduced by recent package releases (eslint 9.39.4, graphql-codegen 7.1.3). The ERESOLVE algorithm's memory use balloons with this many conflicting packages. Using --legacy-peer-deps skips that resolution path, matching the approach already used in the compile-frontend target. --- template/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/template/Makefile b/template/Makefile index 0d5939c..58afdb5 100644 --- a/template/Makefile +++ b/template/Makefile @@ -120,9 +120,9 @@ compile-frontend: frontend/package.json ## compile latest frontend dependencies init-frontend-dependencies: ## compile initial frontend dependencies to be built into the docker image @docker run --rm --user $(shell id -u):$(shell id -g) -w "/app" -v $(shell pwd)/frontend:/app -e npm_config_cache=/tmp/.npm node:lts /bin/bash -c \ - "xargs npm install < dependencies-init.txt" + "xargs npm install --legacy-peer-deps < dependencies-init.txt" @docker run --rm --user $(shell id -u):$(shell id -g) -w "/app" -v $(shell pwd)/frontend:/app -e npm_config_cache=/tmp/.npm node:lts /bin/bash -c \ - "xargs npm install --save-dev < dependencies-dev-init.txt" + "xargs npm install --save-dev --legacy-peer-deps < dependencies-dev-init.txt" shell-backend: ## Shell into the running Django container $(KUBECTL_EXEC_BACKEND) From b027f1527b708dfe42052789347a840b958d3f1f Mon Sep 17 00:00:00 2001 From: abosio Date: Sun, 21 Jun 2026 13:57:48 -0400 Subject: [PATCH 2/2] fix: batch npm installs to avoid OOM #551 Installing all packages in one shot causes npm's resolver to exhaust ~4GB of heap. Batching into groups of 5 keeps each resolution small enough to complete. Dropping --legacy-peer-deps restores strict peer dep enforcement, which prevents ESLint 10 from being installed (eslint-config-next constrains to ^9, and it resolves in the same batch as eslint). --- template/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/template/Makefile b/template/Makefile index 58afdb5..b6b3f03 100644 --- a/template/Makefile +++ b/template/Makefile @@ -120,9 +120,9 @@ compile-frontend: frontend/package.json ## compile latest frontend dependencies init-frontend-dependencies: ## compile initial frontend dependencies to be built into the docker image @docker run --rm --user $(shell id -u):$(shell id -g) -w "/app" -v $(shell pwd)/frontend:/app -e npm_config_cache=/tmp/.npm node:lts /bin/bash -c \ - "xargs npm install --legacy-peer-deps < dependencies-init.txt" + "xargs -n 5 npm install < dependencies-init.txt" @docker run --rm --user $(shell id -u):$(shell id -g) -w "/app" -v $(shell pwd)/frontend:/app -e npm_config_cache=/tmp/.npm node:lts /bin/bash -c \ - "xargs npm install --save-dev --legacy-peer-deps < dependencies-dev-init.txt" + "xargs -n 5 npm install --save-dev < dependencies-dev-init.txt" shell-backend: ## Shell into the running Django container $(KUBECTL_EXEC_BACKEND)