Skip to content

chore: release with changesets - #219

Merged
alexander-akait merged 1 commit into
mainfrom
claude/changesets-release
Sep 8, 2026
Merged

chore: release with changesets#219
alexander-akait merged 1 commit into
mainfrom
claude/changesets-release

Conversation

@alexander-akait

Copy link
Copy Markdown
Member

Replaces standard-version with changesets, matching the setup in
less-loader.

What is added

  • .changeset/config.json - points at the local changelog generator with repo: webpack/schema-utils,
    baseBranch: main, access: public.
  • .changeset/changelog-generator.mjs - the generator less-loader uses, copied as is. It links the
    pull request and the author of every changelog entry, and lets a changeset name them explicitly with
    pr:, commit: and author: lines in its summary rather than relying on the commit the changeset
    was added in.
  • .changeset/README.md - the @changesets/cli boilerplate.
  • .github/workflows/release.yml - on a push to main it opens a chore(release): new release pull
    request collecting the pending changesets, and publishes to npm once that pull request is merged.
    Guarded by if: github.repository == 'webpack/schema-utils', concurrency per ref, and publishing
    through OIDC (id-token: write, empty NPM_TOKEN) exactly as less-loader does.
  • version and release scripts for the action to call - changeset version and
    npm run build && changeset publish. standard-version is dropped from the dev dependencies.
  • The CHANGELOG.md preamble no longer points at standard-version. Existing entries are untouched;
    changesets appends above them.

Changesets for what is already on main

#217 merged without a changeset, so three are included to describe it and to keep the first release
pull request from being empty:

bump change
patch the quadratic error filtering, the dropped errors and the RangeError for an array of options
minor process.env.SKIP_VALIDATION is read when the module is loaded
minor at most 100 errors of a list are listed in the message

npx changeset status resolves these to a minor bump, so the first release would be 4.4.0.

The two minor entries are behaviour changes rather than additions - if you would rather release them
as major, it is a one word edit in each changeset file.

Verification

  • npx changeset status resolves the pending changesets correctly.
  • npx changeset version was run locally to exercise the whole pipeline: the config resolves the local
    generator, the ESM generator loads, and the changesets parse. It stops at the GitHub enrichment with
    Bad credentials because this environment has no GITHUB_TOKEN - which the workflow provides - and
    it escapes without touching any file, so nothing here is a product of that run.
  • npm run lint, npm run build:types with clean declarations, npm run security and commitlint
    all pass, as does the test suite (442 tests, 332 snapshots).

Not changed

commitlint and its CI step are left in place. less-loader has no commitlint, so dropping it would
be the closer match, but it is independent of how releases are cut - happy to remove it in a follow up
if you want the setups identical.

🤖 Generated with Claude Code

https://claude.ai/code/session_013wqLmVHkAGBsWQgXknEQCK


Generated by Claude Code

Replaces `standard-version` with `changesets`, the same setup as
`less-loader`:

- `.changeset/config.json` with the changelog generator `less-loader`
  uses, which links the pull request and the author of every entry and
  lets a changeset name them explicitly with `pr:` and `author:`
- `.github/workflows/release.yml`, which on a push to `main` opens a
  release pull request collecting the changesets and publishes to npm
  through OIDC once it is merged
- `version` and `release` scripts for the action to call

The changesets for the changes already on `main` that have not been
released are included, so the first release pull request is not empty.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013wqLmVHkAGBsWQgXknEQCK
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​changesets/​get-github-info@​0.8.0991009891100
Added@​changesets/​cli@​2.31.19710010097100

View full report

@codecov

codecov Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.36%. Comparing base (17c4e3a) to head (27a2b73).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #219   +/-   ##
=======================================
  Coverage   95.36%   95.36%           
=======================================
  Files           9        9           
  Lines         949      949           
  Branches      387      387           
=======================================
  Hits          905      905           
  Misses         40       40           
  Partials        4        4           
Flag Coverage Δ
integration 95.36% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@alexander-akait
alexander-akait merged commit d72a15b into main Sep 8, 2026
33 checks passed
@alexander-akait
alexander-akait deleted the claude/changesets-release branch September 8, 2026 09:05
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