main is red and cannot be released. #999 merged with a failing typecheck. Two breakages, both from that PR, neither reaching published users.
1. kysely bumped past its adapter's peer range
kysely went ^0.28.14 → ^0.29.5. For a 0.x package a minor is a breaking change, so "update all non-major" was a misnomer — and kysely-bun-sqlite declares peer kysely: ^0.28.2.
It therefore resolved its own nested copy, leaving the benchmark with two Kysely installs at once: BunSqliteDialect typed against one, new Kysely() against the other. Structurally identical, nominally incompatible:
packages/benchmark/src/lib/db-clients.ts(221,5): error TS2769
Type 'BunSqliteDialect' is not assignable to type 'Dialect'.
The types returned by 'createAdapter().acquireMigrationLock' are incompatible…Pinned back inside the adapter's range. Nothing in the benchmark uses a 0.29 API, so there's nothing to gain by chasing it until kysely-bun-sqlite supports it.
2. pickier stopped honouring the suppression form
pickier went ^0.1.32 → ^0.1.56, and 0.1.56 no longer accepts the trailing // eslint-disable-line form — only // eslint-disable-next-line. So the suppression on DeepPartial's type-level args parameter silently stopped applying and lint went red too.
Verified against 0.1.56 directly rather than guessing:
| form | result |
|---|---|
// eslint-disable-line pickier/no-unused-vars -- reason | still errors |
// eslint-disable-line pickier/no-unused-vars | still errors |
// eslint-disable-next-line pickier/no-unused-vars | passes |
Moved to the next-line form. It was trailing originally to keep the JSDoc attached to the type, so I confirmed the doc block still lands on DeepPartial in the emitted dist/types.d.ts — it does.
Scope
Both are benchmark/tooling only. No published consumer is affected, and v0.2.26 on npm is fine. What this blocks is CI, and therefore the next release.
Verification
Typecheck 0, lint 0, suite 1719 pass / 4 skip / 0 fail.
Worth considering separately: "all non-major" grouping treats 0.x minors as non-breaking, which is what let this through. Constraining that group to >=1.0.0, or excluding packages with declared peer ranges, would stop the same shape recurring.
🤖 Generated with Claude Code