bun lint and bun format go native (
c39c718)
Bun adds first-class linting and formatting commands with config support for ESLint/oxlint and Prettier/oxfmt-style workflows. This is a major expansion of the CLI, bringing a large built-in toolchain and new docs/tests to support it.
Yarn Berry lockfiles now migrate to bun.lock (
d1cb7db)
bun install can now convert Yarn 2+ lockfiles instead of rejecting them, preserving pinned versions when Bun can faithfully represent the graph. The migration handles workspaces, patches, aliases, git/tarball/file deps, catalogs, and more; when it can't preserve semantics exactly, it explains why and falls back to resolving from package.json.
bun check closes more gaps with tsc (
b92e2f4)
This fixes several correctness issues around unions/intersections, readonly/private/protected property behavior, and large paths configs that previously caused quadratic work. It also tightens a few remaining parity differences with TypeScript in loop/destructuring cases.
bun check improves circular/looped type resolution (
772f87f)
A broad refactor adjusts how bun check tracks in-progress resolutions, cached signatures, and loop visibility so it matches tsc on many more programs. The changes target subtle cases around recursive inference and Promise-like then resolution, reducing false errors and disagreement with TypeScript.
DOM constructors now validate subclassing before side effects (
39bbb71)
Web-facing constructors like WebSocket, Worker, and BroadcastChannel now read new.target.prototype before creating underlying resources. That prevents cases where a thrown subclassing check would otherwise leave a socket, subscription, or thread already started.
Other misc changes
- Shared percent-encoding helpers reused in Yarn Berry migration (1 commit)
- Docs and metadata updates for new install/lint/format behavior
- Small internal refactors and test fixture updates