Skip to content

chore: adopt changesets and bring release tooling to org baseline - #5

Merged
Bccorb merged 2 commits into
mainfrom
chore/release-tooling
Jul 29, 2026
Merged

chore: adopt changesets and bring release tooling to org baseline#5
Bccorb merged 2 commits into
mainfrom
chore/release-tooling

Conversation

@Bccorb

@Bccorb Bccorb commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Brings this repo's tooling in line with seamless-auth-react. It already had commitlint, husky, prettier, eslint, and a CI workflow, so this fills the gaps rather than starting over.

Changesets

  • @changesets/cli, .changeset/config.json (copied from the react repo), and RELEASES.md
  • changeset, version-packages, and release:stable scripts
  • The tag-triggered publish.yml is replaced by release.yml, which uses changesets/action. Merging a changeset to main opens a version PR; merging that PR publishes to npm, creates the Git tag, and creates the GitHub Release.
  • Publishing sets NPM_CONFIG_PROVENANCE=true

RELEASES.md includes a section on choosing the bump, since a schema change here ripples through every consumer and the default should be "breaking until argued otherwise".

CI

  • The workflow never ran the test suite. 44 tests on this branch, none of them gating a merge. Now runs with coverage.
  • Verifies package contents with npm pack --dry-run
  • Runner actions pinned to v6, matching the other repos

Packaging fixes found while wiring this up

  • build did not clean dist/ first. Switching branches and rebuilding left the previous branch's compiled output in place, and files: ["dist"] would have published it. The pack preview went from 79 files to 31 once build was changed to npm run clean && tsc.
  • exports was {".": "./dist/index.js"} with no types condition. Consumers on node16 or nodenext resolution were relying on the fallback. Now declared explicitly.
  • license was AGPL-3.0, a deprecated SPDX identifier. Now AGPL-3.0-only, matching the other packages.
  • CHANGELOG.md added to files so it ships with the package.
  • lint-staged only covered *.ts; it now covers json, md, and yaml too.
  • CHANGELOG.md is in .prettierignore, so changesets' generated formatting cannot fail format:check on a release PR.

Before merging

  • NPM_TOKEN needs publish access on this repo for the release workflow.
  • CODECOV_TOKEN is referenced by the coverage upload step, which only runs on pushes to main. If it is not configured the step is a no-op rather than a failure, but worth setting.

Checks

npm run typecheck, npm run lint, npm run format:check, npm test, npm run build, and npm run check-npm-build all pass. npx changeset status reports the patch bump.

Note on ordering: #4 is open and will need a changeset added once this lands.

Bccorb added a commit that referenced this pull request Jul 29, 2026
Bumps @seamless-auth/types a minor. The consolidation is additive, and the
three changes to existing schemas widen what they accept rather than narrowing
it, so nothing breaks at runtime. Each does change an inferred type, which the
changeset spells out.

The changeset tooling itself lands in #5; this file is inert until that merges.
Bccorb added 2 commits July 28, 2026 20:57
Bring this repo in line with seamless-auth-react.

Changesets:

- add @changesets/cli, .changeset/config.json, and RELEASES.md
- replace the tag-triggered publish workflow with the changesets release
  workflow, which opens a version PR, then publishes to npm, tags, and
  creates the GitHub Release when that PR merges
- publish with provenance

CI:

- run the test suite, which the previous workflow never did, and collect
  coverage
- verify package contents with npm pack --dry-run
- pin the runner actions to v6, matching the other repos

Packaging fixes found along the way:

- build now clears dist first, so a build no longer carries artifacts from a
  previous branch into the tarball (79 files down to 31)
- the exports map declares its types condition explicitly, so node16 and
  nodenext consumers resolve declarations through it
- license uses the current AGPL-3.0-only SPDX identifier
- lint-staged covers json, md, and yaml alongside ts
#4 merged before its changeset landed, so the consolidation would have shipped
without a version bump or changelog entry. Carrying the changeset here, where
the tooling that consumes it is introduced.

Minor rather than major: the consolidation is additive, and the three changes
to existing schemas widen what they accept rather than narrowing it, so nothing
breaks at runtime. Each does change an inferred type, which the changeset
spells out.
@Bccorb
Bccorb force-pushed the chore/release-tooling branch from ca521df to 1ed40c9 Compare July 29, 2026 00:57
@Bccorb

Bccorb commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

Rebased onto main now that #4 has merged, and added the changeset for that work here.

#4 merged before its changeset landed, so as things stand the schema consolidation is on main with no pending version bump. This branch now carries two changesets:

So merging this opens a single release PR that bumps 0.1.3 to 0.2.0 and writes both entries into the changelog. Nothing from #4 is lost.

@Bccorb
Bccorb merged commit 8843ea7 into main Jul 29, 2026
1 check passed
@Bccorb
Bccorb deleted the chore/release-tooling branch July 29, 2026 01:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant