From 1db8b261092a6d5ec2222799d3637ced9b179c30 Mon Sep 17 00:00:00 2001 From: megaproxy Date: Tue, 26 May 2026 19:29:53 +0100 Subject: [PATCH] release.sh: call node directly for build:mcpb (skip pnpm install hang) `pnpm run build:mcpb` triggers an implicit `pnpm install` first to verify node_modules against the lockfile. From WSL against the /mnt/d/ Windows filesystem that node_modules walk hangs for minutes. The build-mcpb.mjs script is pure Node + fs (no deps) so we can just invoke it directly. Saves the pnpm wrapping overhead on every release. Caught during the v0.3.0 release run. Co-Authored-By: Claude Opus 4.7 (1M context) --- scripts/release.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/release.sh b/scripts/release.sh index 4db8a5a..792da59 100644 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -72,11 +72,16 @@ echo "Size: $(du -h "$installer" | cut -f1)" # Build + locate the .mcpb bundle. The McpPanel's "Download .mcpb" button # opens this release page, so the asset has to be here for the click to work. +# +# Called via `node` directly (not `pnpm run build:mcpb`) because pnpm +# triggers an `install` step first that walks node_modules — hangs for +# minutes when this script runs from WSL against the /mnt/d/ Windows +# filesystem. The build:mcpb script is pure Node + fs; no deps to install. echo "Building .mcpb bundle…" -pnpm run build:mcpb >/dev/null +node scripts/build-mcpb.mjs >/dev/null mcpb="dist-mcpb/tiletopia.mcpb" if [[ ! -f "$mcpb" ]]; then - echo "build:mcpb finished but $mcpb is missing" >&2 + echo "build-mcpb.mjs finished but $mcpb is missing" >&2 exit 1 fi echo "Bundle: $mcpb"