← back to Nineoh Guide
fix(eas): allowBuilds with real boolean false values — pnpm@11 needs an explicit build-script decision; missing/placeholder crashed EAS frozen install (exit 1). Verified cold: frozen install exit 0, no ERR_PNPM_IGNORED_BUILDS
ec5289815f5e08c488d0190ed61728ba61d64adb · 2026-08-05 16:46:47 -0700 · Steve
Files touched
Diff
commit ec5289815f5e08c488d0190ed61728ba61d64adb
Author: Steve <steve@designerwallcoverings.com>
Date: Wed Aug 5 16:46:47 2026 -0700
fix(eas): allowBuilds with real boolean false values — pnpm@11 needs an explicit build-script decision; missing/placeholder crashed EAS frozen install (exit 1). Verified cold: frozen install exit 0, no ERR_PNPM_IGNORED_BUILDS
---
pnpm-workspace.yaml | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 8dcf1c6..4ffecdf 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,15 +1,15 @@
packages:
- "apps/*"
- "packages/*"
-# Approve native postinstall build scripts. Values MUST be real booleans.
-# On EAS (CI) an unbuilt/ignored build script is a FATAL error (pnpm install
-# exits 1), unlike locally where it is only a warning — that is what killed
-# builds 12 & 13 after Firebase (@firebase/util, protobufjs) was added. A prior
-# auto-fixer wrote this same `allowBuilds` block but with literal
-# "set this to true or false" placeholders, which is invalid — use `true`.
+
+# pnpm@11 requires an EXPLICIT per-package decision for postinstall build scripts
+# via this `allowBuilds` map. A MISSING decision -> ERR_PNPM_IGNORED_BUILDS, which
+# EAS's frozen `pnpm install` treats as a FATAL exit-1 at "Install dependencies".
+# Earlier crashes were pnpm writing PLACEHOLDER strings ("set this to true or
+# false"); the fix is REAL BOOLEANS. Not needed for the iOS JS bundle -> false.
allowBuilds:
- '@firebase/util': true
- protobufjs: true
- sharp: true
+ '@firebase/util': false
+ protobufjs: false
+ sharp: false
-# NOTE: node-linker=hoisted (see .npmrc) so Metro/EAS can resolve transitive deps.
+# nodeLinker stays ISOLATED; mobile lists transitive deps it needs explicitly.
← 67efe4b Fix EAS install (build 12/13 failure): approve firebase/prot
·
back to Nineoh Guide
·
auto-save: 2026-08-05T18:14:36 (1 files) — db/neon-backup-20 620829a →