From e95ab05d4a0cfe2372b181b330e160e27ececc31 Mon Sep 17 00:00:00 2001 From: Sam Valladares Date: Sat, 25 Jul 2026 21:58:03 +0800 Subject: [PATCH] fix(npm): stop rejecting INSTALL-INTEL-MAC.md in the release tarball MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The x86_64-apple-darwin release tarball packages INSTALL-INTEL-MAC.md (release.yml), but postinstall's strict archive-member check only accepted the three binaries — so npm install hard-failed on every Intel Mac with 'Unexpected archive entry'. Known-optional docs are now accepted; genuinely unknown entries are still rejected. Co-Authored-By: Claude Opus 5 --- packages/vestige-mcp-npm/scripts/postinstall.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/vestige-mcp-npm/scripts/postinstall.js b/packages/vestige-mcp-npm/scripts/postinstall.js index f54fcdb..26e4f29 100644 --- a/packages/vestige-mcp-npm/scripts/postinstall.js +++ b/packages/vestige-mcp-npm/scripts/postinstall.js @@ -60,6 +60,9 @@ const checksumPath = path.join(targetDir, `${archiveName}.sha256`); const expectedArchiveMembers = new Set( ['vestige-mcp', 'vestige', 'vestige-restore'].map((name) => (isWindows ? `${name}.exe` : name)) ); +// Docs that some release archives legitimately include alongside the binaries +// (e.g. the x86_64-apple-darwin tarball ships INSTALL-INTEL-MAC.md). +const optionalArchiveMembers = new Set(['INSTALL-INTEL-MAC.md']); function isWorkspaceCheckout() { const packageRoot = path.resolve(__dirname, '..'); @@ -183,7 +186,7 @@ function validateArchiveEntries(archivePath) { for (const entry of entries) { const normalized = normalizeArchiveEntry(entry); - if (!expectedArchiveMembers.has(normalized)) { + if (!expectedArchiveMembers.has(normalized) && !optionalArchiveMembers.has(normalized)) { throw new Error(`Unexpected archive entry: ${entry}`); } }