Repository navigation
Release with Changesets and npm trusted publishing - #73
Merged
Sam Beveridge (00salmon) merged 2 commits intoNov 4, 2026
Merged
Conversation
Mirrors the mint-components release loop: - Pushes to master open/update a "Version Packages" PR from pending changesets; merging it publishes to npm (OIDC, provenance) and creates the v<version> tag and GitHub release. - A manual dispatch publishes a snapshot of the selected branch under the `next` dist-tag without committing or tagging. Differences from mint-components, each deliberate: - The build runs before changesets/action, which writes the repo-write GITHUB_TOKEN to ~/.netrc for the rest of the job. - `version-packages` updates the lockfile with --package-lock-only --ignore-scripts instead of a full `npm install` with scripts. - Publishing jobs use the `npm` (master) and `npm-prerelease` GitHub environments so the npm trusted publisher can be bound to them. Also replaces np, blocks laptop publishes via prepublishOnly, and regenerates the lockfile with npm 11 (required for trusted publishing) so the first Version PR isn't a lockfile reformat. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
A preview of 3ea3c03 is uploaded and can be seen here: |
size-limit report 📦
|
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The release action’s output detection is incompatible with Changesets CLI 3.0.3, so npm publishing can succeed without pushing version tags or creating GitHub releases.
1 open issue
What changed in this PR
Moves @saasquatch/squatch-js releases from local np publishing to Changesets and GitHub Actions with npm trusted publishing and provenance.
Changes:
- Adds automated version PRs and stable publishing, plus manually triggered snapshots under
next. - Replaces release scripts and dependencies, adds a local-publish guard, and regenerates the lockfile with npm 11.
- Documents the release process and prepares the changelog for Changesets-generated entries.
| File | Description |
|---|---|
package.json |
Adds Changesets scripts, dependencies, and publishing settings; removes np. |
package-lock.json |
Updates the dependency tree for the release-tool migration. |
CONTRIBUTING.md |
Documents stable releases, snapshots, and version selection. |
CHANGELOG.md |
Marks the transition to Changesets-generated release notes. |
.github/workflows/release.yml |
Adds stable and snapshot release jobs using trusted publishing. |
.changeset/README.md |
Provides links to Changesets documentation. |
.changeset/config.json |
Configures changelogs, the base branch, and snapshot version naming. |
Review effort: Balanced
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The stable and snapshot OIDC publishing paths depend on unavailable external npm and GitHub environment configuration, requiring maintainer verification and validation in GitHub Actions before approval.
No open issues 🎉
1 resolved since last review
Review effort: Balanced
AndiLuo
approved these changes
Nov 4, 2026
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.

Mirrors the mint-components release loop:
nextdist-tag without committing or tagging.Differences from mint-components, each deliberate:
version-packagesupdates the lockfile with --package-lock-only --ignore-scripts instead of a fullnpm installwith scripts.npm(master) andnpm-prereleaseGitHub environments so the npm trusted publisher can be bound to them.Also replaces np, blocks laptop publishes via prepublishOnly, and regenerates the lockfile with npm 11 (required for trusted publishing) so the first Version PR isn't a lockfile reformat.
Description of the change
Type of change
Links
Checklists
Development
Paperwork
Code review