Conversation
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…#473) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…#479) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…release
Replace the changesets + custom-scripts release flow with semantic-release
driven by conventional commits, and consolidate the build/test toolchain
on bun. The `validate.yml` reusable workflow is now the single source of
truth for what counts as "validated" — both ci.yml (PR/feature pushes)
and release.yml (master/develop) call it.
Build:
- rollup.config.js → rollup.config.cjs using rollup-plugin-esbuild for
fast .ts → .js compilation; @rollup/plugin-typescript runs once for
declarations only
- 10 entries × CJS+ESM+types output preserved
Test:
- jest → bun test (131 tests passing)
- add `import { ... } from 'bun:test'` to test files
- drop jest.config.js, ts-jest, ts-node, @types/jest
Release:
- changesets + scripts/release/ → .releaserc.json + semantic-release
- master → npm `latest`, develop → npm `beta` (prerelease)
- npm publish with provenance (sigstore attestations)
Tooling:
- yarn → bun (drop yarn.lock, packageManager → bun@1.3.13)
- biome 2.4.14 with simpler config (lineWidth 120, recommended preset)
- drop size-limit and prettier configs
Engines floor bumped to node >= 22 / bun >= 1.3.
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
🎉 This PR is included in version 3.0.0-beta.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Adds bun run release:local for manual one-off publishes (e.g. when CI is unavailable or for prereleases not wired into release.yml). Overrides publishConfig.provenance with --provenance=false locally since npm rejects sigstore attestations outside supported CI environments; the release.yml workflow continues to publish with provenance.
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.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
Replace the changesets + custom-scripts release flow with semantic-release driven by conventional commits, and consolidate the build/test toolchain on bun. The new
validate.ymlreusable workflow is the single source of truth for what counts as "validated" — bothci.yml(PR/feature pushes) andrelease.yml(master/develop) call it.Build
rollup.config.js→rollup.config.cjsusingrollup-plugin-esbuildfor fast.ts → .jscompilation;@rollup/plugin-typescriptruns once for declarations only.dist/, identical public API).Test
jest→bun test(131 tests passing, 256 expects).import { describe, it, expect } from 'bun:test'to test files.jest.config.js,ts-jest,ts-node,@types/jest.Release
scripts/release/→.releaserc.json+ semantic-release.master→ npmlatest(stable).develop→ npmbeta(prerelease).id-token: write).Tooling
yarn.lock,packageManager→bun@1.3.13).lineWidth: 120, recommended preset + targeted overrides).engines.nodefloor bumped to>= 22(was>=16).engines.bunadded at>= 1.3.master/developMUST follow conventional commit format. Non-release types (chore,docs,test,build,ci,style) won't trigger a release.This commit itself is
chore(release):— semantic-release will not auto-publish from it. Cut the breaking 3.0.0 release intentionally with afeat!:orBREAKING CHANGE:commit when ready.Test plan
bun run lintcleanbun run typecheckcleanbun test— 131 passingbun run build— 62 dist artifacts (CJS + ESM + types + sourcemaps)bunx semantic-release --dry-run --no-ci— config validates, all plugins loadNPM_TOKENsecret exists on the repo before mergingmaster: confirm semantic-release picks up the next conventional-commitfeat:/fix:and publishes