chore: replace eslint and prettier with biome#121
Merged
Conversation
MantasMiksys
approved these changes
Jul 2, 2026
deb8c2e to
1ff31bc
Compare
Adopt Biome as the single lint + format toolchain, matching the storage repo's setup: - Add @biomejs/biome and biome.json (Prettier-equivalent formatting: single quotes, semicolons, es5 trailing commas, width 80; ESLint rules mapped to Biome's recommended set plus noExplicitAny/noUnusedVariables). - Remove eslint, @eslint/js, typescript-eslint, eslint-plugin-simple-import-sort, prettier, and their config files. - Point the lint/format/check scripts at Biome; switch the husky pre-commit hook to `npm run check`. - Apply Biome's formatter, import organizer, and recommended-rule autofixes across src/test/scripts. Restore `declare var __TIGRIS_JSON_MODE` in global.d.ts (Biome's noVar fix had changed it to `let`, breaking the globalThis augmentation) with a biome-ignore, and hand-fix three non-autofixable findings. Assisted-by: Claude Opus 4.8 via Claude Code Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1ff31bc to
4af672e
Compare
Triggers a 3.4.1 release on merge, exercising the full release pipeline (version PR -> publish -> binaries -> homebrew) end to end. Assisted-by: Claude Opus 4.8 via Claude Code Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.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.
What
Replace ESLint + Prettier with Biome as a single lint/format toolchain, matching the storage repo's setup.
Changes
@biomejs/biome@2.5.2+biome.json— mirrors the storage repo: Prettier-equivalent formatting (single quotes, semicolons,es5trailing commas, width 80) and ESLint rules mapped to Biome'srecommendedset plusnoExplicitAny/noUnusedVariables.eslint,@eslint/js,typescript-eslint,eslint-plugin-simple-import-sort,prettier, andeslint.config.js/.prettierrc.lint/lint:fix/format/format:checkscripts at Biome (+ newcheck/check:fix); switch the husky pre-commit tonpm run check. Script names are unchanged, so CI/release.yamlneed no edits.src/test/scripts(49 files) —node:imports, literal keys, template strings,Number.isNaN, optional chaining.Notes
declare var __TIGRIS_JSON_MODEinglobal.d.ts— Biome'snoVarautofix had changed it tolet, which breaks theglobalThisaugmentation (tsc failed across 10 files). Added abiome-ignorefor that line (the original had an equivalenteslint-disable). Plus 3 hand-fixed non-autofixable findings (twoforEachblock bodies, onestatstype).npm run build(tsc + tsup) ✓,biome checkclean ✓,npm test714/714 ✓. Noeslint/prettierreferences remain.package.jsonscripts/devDeps and.husky/pre-commitwhen both merge (trivial to resolve).🤖 Generated with Claude Code
Note
Low Risk
Dev-only tooling and mechanical style fixes; runtime CLI behavior is unchanged per the changeset.
Overview
Replaces the ESLint + Prettier dev toolchain with Biome (
@biomejs/biome@2.5.2and newbiome.json), aligned with formatting and lint rules similar to the prior setup. Removeseslint.config.js,.prettierrc, and related npm devDependencies.Scripts now call Biome for
lint,format, and newcheck/check:fix; the husky pre-commit hook runs a singlenpm run checkinstead of separate lint and format checks. A changeset documents this as an internal patch with no published CLI behavior change.The bulk of the diff is Biome-driven autofixes across
src,test, andscripts(e.g.node:imports, template literals,Number.isNaN, optional chaining).global.d.tskeepsdeclare var __TIGRIS_JSON_MODEwith abiome-ignoreso global augmentation still typechecks after Biome’snoVarautofix.Reviewed by Cursor Bugbot for commit b03189a. Bugbot is set up for automated code reviews on this repo. Configure here.