-
Notifications
You must be signed in to change notification settings - Fork 12
Replace ESLint and Prettier with Biome #85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
39844a2 to
0b89842
Compare
|
@cursoragent please /review - use web search and look at the diff when we run lint and formatting on the codebase - do we lose any useful formatting or any important style rules or bug catching capabilities with this migration? |
🔬 Review Complete: ESLint/Prettier → Biome MigrationI've conducted a comprehensive code review of this PR, examining the diff, comparing linter capabilities, and analyzing the impact. Here's what I found: ✅ Verdict: APPROVE - Migration is Safe and BeneficialKey Findings:
📋 Complete Review DocumentI've created a detailed review at
💡 Optional Follow-UpThe 21 warnings Biome found are real issues worth fixing (unused code cleanup). They're not bugs, but they improve code clarity. Can be addressed with: npm run lint -- --write --unsafe # Auto-fix safe issues
# Then manually review remaining warningsBottom line: This migration strengthens the codebase with better linting, catches real issues, and speeds up the development workflow. No downside detected. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR replaces ESLint and Prettier with Biome v2.3.12 as the project's linting and formatting tool. The changes include removing the old tooling dependencies, adding Biome configuration, updating npm scripts, and applying Biome's formatting rules across the entire codebase. All existing tests pass and the migration introduces no functional changes.
Changes:
- Replaced ESLint, eslint-config-prettier, eslint-plugin-prettier, and Prettier with Biome v2.3.12
- Updated npm scripts to use Biome commands for linting and formatting
- Applied Biome formatting and linting rules across the codebase (import organization, object property sorting, forEach to for...of conversion)
Reviewed changes
Copilot reviewed 40 out of 49 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Replaced ESLint/Prettier dependencies with Biome, updated lint/format scripts |
| package-lock.json | Updated lockfile with Biome dependencies and removed ESLint/Prettier |
| biome.json | Added Biome configuration with linting rules and formatting preferences |
| eslint.config.mjs | Removed ESLint configuration file |
| .gitignore | Added .claude/ directory to ignore list |
| tsconfig.json | Reformatted with alphabetically sorted properties |
| vitest.config.js | Reformatted with reordered properties |
| .release-it.json | Reformatted with reordered properties |
| utils/index.js | Imports reordered alphabetically |
| utils/index.d.ts | Function signatures reformatted with proper line breaks |
| src/server/**/*.js | Imports reordered, object properties sorted alphabetically |
| src/server/**/*.d.ts | Function signatures reformatted |
| lib/**/*.js | Imports reordered, object properties sorted, forEach to for...of conversion |
| lib/**/*.d.ts | Function signatures reformatted |
| bin/aidd.js | Imports reordered, object properties sorted |
| ai/rules/sudolang/index.md | Added index file for sudolang directory |
| ai/rules/index.md | Updated to include sudolang directory reference |
| ai/rules/user-testing.test.js | Test assertion properties reordered alphabetically |
| release.js | Object properties sorted alphabetically |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
lib/error-conditions.test.js
Outdated
| import { fileURLToPath } from "url"; | ||
| import fs from "fs-extra"; | ||
| import { assert } from "riteway/vitest"; | ||
| import { afterEach, beforeEach, describe, test } from "vitest"; |
Copilot
AI
Jan 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused import beforeEach.
| import { afterEach, beforeEach, describe, test } from "vitest"; | |
| import { afterEach, describe, test } from "vitest"; |
src/server/create-route.test.js
Outdated
| import { describe, test, beforeEach, vi } from "vitest"; | ||
| import { assert } from "riteway/vitest"; | ||
| import { createRoute, convertMiddleware } from "./create-route.js"; | ||
| import { beforeEach, describe, test, vi } from "vitest"; |
Copilot
AI
Jan 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused import beforeEach.
| import { beforeEach, describe, test, vi } from "vitest"; | |
| import { describe, test, vi } from "vitest"; |
- Remove ESLint, eslint-config-prettier, eslint-plugin-prettier, and Prettier - Add Biome v2.3.12 for linting and formatting - Update npm scripts to use Biome commands - Add override to allow `any` in TypeScript declaration files - Disable key sorting for test files to preserve riteway assert order - Disable `useNodejsImportProtocol` rule for compatibility - Add `.claude/` to .gitignore Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ecd83ce to
2892991
Compare
Summary
lint,format,format:check) to use Biome commands.claude/to .gitignoreConfiguration notes
anyin TypeScript declaration files (.d.ts)useNodejsImportProtocolrule for compatibility with existing importsTest plan
npm run test:unit)npm run lint)npm run typecheck)🤖 Generated with Claude Code