a simple wrapper repository for patching the biome js/ts formatter with some simple extra features.
- feat: add config option objectDestructuringLineBreaks
- Original Discussion: biomejs/biome#2026
Build a patched biome source tree locally:
./build.shThis initializes the biome git submodule (shallow clone) and applies every patch in patches/.
Bump the submodule to the latest upstream main:
./update.shupdate.sh fetches the latest commit on biomejs/biome main, dry-runs every patch against it, and only advances the submodule if they all apply. If any patch fails, it reports which one and rolls back -- rebase the failing patch, then re-run.
After a successful update, stage and commit the submodule change:
git add biome
git commit -m "bump biome submodule to latest main"The Publish biome to GitHub Packages workflow (.github/workflows/publish.yml) is manually dispatched. It cross-compiles the patched biome CLI for 8 targets (linux / darwin / win32 x64+arm64, plus linux musl variants), then publishes 9 scoped npm packages to npm.pkg.github.com:
@<owner>/biome-- the root package users install@<owner>/cli-<platform>-<arch>[-musl]-- one native binary per platform, pulled in automatically viaoptionalDependencies
Version is <upstream-biome-version>-patch.<short-sha>, scope is the repo owner lowercased.
Consumers install it by adding a scoped .npmrc entry pointing at GitHub Packages and an auth token with read:packages:
@<owner>:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}
then npm install @<owner>/biome.
Note: the linux-arm64 matrix jobs use GitHub-hosted ARM runners (
ubuntu-24.04-arm). These are free for public repos; private repos may have tighter minute limits.