feat: distribute binaries via npm platform packages#7
Merged
Conversation
Replace GitHub Releases / Homebrew distribution with the Sentry-style npm platform package pattern. Users now install via `npm install -g archgate`. - Add packages/archgate-darwin-arm64 and packages/archgate-linux-x64 with os/cpu fields and placeholder version 0.0.0 (CI sets from release tag) - Add bin/archgate.cjs CJS wrapper (required by "type": "module" root) - Update package.json: bin field, optionalDependencies, files, drop build scripts - Rewrite release-binaries.yml: drop update-homebrew job, publish to npm via OIDC (contents: read, id-token: write, setup-node@v4) - Remove scripts/install.sh, scripts/archgate.rb, scripts/build.ts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6e73449 to
15f6abc
Compare
Merged
rhuanbarreto
added a commit
that referenced
this pull request
Feb 28, 2026
* feat: distribute binaries via npm platform packages Replace GitHub Releases / Homebrew distribution with the Sentry-style npm platform package pattern. Users now install via `npm install -g archgate`. - Add packages/archgate-darwin-arm64 and packages/archgate-linux-x64 with os/cpu fields and placeholder version 0.0.0 (CI sets from release tag) - Add bin/archgate.cjs CJS wrapper (required by "type": "module" root) - Update package.json: bin field, optionalDependencies, files, drop build scripts - Rewrite release-binaries.yml: drop update-homebrew job, publish to npm via OIDC (contents: read, id-token: write, setup-node@v4) - Remove scripts/install.sh, scripts/archgate.rb, scripts/build.ts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Apply automatic changes --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
rhuanbarreto
added a commit
that referenced
this pull request
Mar 3, 2026
* feat: distribute binaries via npm platform packages Replace GitHub Releases / Homebrew distribution with the Sentry-style npm platform package pattern. Users now install via `npm install -g archgate`. - Add packages/archgate-darwin-arm64 and packages/archgate-linux-x64 with os/cpu fields and placeholder version 0.0.0 (CI sets from release tag) - Add bin/archgate.cjs CJS wrapper (required by "type": "module" root) - Update package.json: bin field, optionalDependencies, files, drop build scripts - Rewrite release-binaries.yml: drop update-homebrew job, publish to npm via OIDC (contents: read, id-token: write, setup-node@v4) - Remove scripts/install.sh, scripts/archgate.rb, scripts/build.ts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Apply automatic changes --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
rhuanbarreto
added a commit
that referenced
this pull request
Mar 4, 2026
* feat: distribute binaries via npm platform packages Replace GitHub Releases / Homebrew distribution with the Sentry-style npm platform package pattern. Users now install via `npm install -g archgate`. - Add packages/archgate-darwin-arm64 and packages/archgate-linux-x64 with os/cpu fields and placeholder version 0.0.0 (CI sets from release tag) - Add bin/archgate.cjs CJS wrapper (required by "type": "module" root) - Update package.json: bin field, optionalDependencies, files, drop build scripts - Rewrite release-binaries.yml: drop update-homebrew job, publish to npm via OIDC (contents: read, id-token: write, setup-node@v4) - Remove scripts/install.sh, scripts/archgate.rb, scripts/build.ts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Apply automatic changes --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
npm install -g archgate; the CJS wrapper resolves and executes the correct platform binaryupdate-homebrewjob andscripts/directory entirelyChanges
New files:
packages/archgate-darwin-arm64/package.json— platform npm package (os: darwin, cpu: arm64)packages/archgate-linux-x64/package.json— platform npm package (os: linux, cpu: x64)bin/archgate.cjs— Node.js CJS wrapper (.cjsrequired because root has"type": "module")Modified:
package.json— addsbin,optionalDependenciesfor platform packages, updatesfiles, removesbuild/build:darwin/build:linuxscripts.github/workflows/release-binaries.yml— replaces GitHub Release upload + Homebrew update with npm OIDC publish;contents: read+id-token: writeDeleted:
scripts/install.sh,scripts/archgate.rb,scripts/build.tsHow it works on release
packages/<artifact>/bin/archgatenpm version "$VERSION" --no-git-tag-versionnpm publish --access publicusing OIDC trusted publishingTest plan
bun run validatepasses (203 tests, 0 lint errors) ✅npm install -g archgateon macOS arm64 and Linux x64 →archgate --versionworks🤖 Generated with Claude Code