Issue #432: Migrate linting and formatting to Biome#452
Issue #432: Migrate linting and formatting to Biome#452Priyanshubhartistm wants to merge 6 commits intocameri:mainfrom
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Pull request overview
Migrates the project’s JavaScript/TypeScript linting + formatting workflow from ESLint (and related tooling) to Biome, updating developer docs and CI to use the new toolchain.
Changes:
- Added
biome.jsonand@biomejs/biomedev dependency; updated npm scripts to run Biome for linting/formatting. - Updated GitHub Actions CI checks to run the new lint command.
- Updated documentation and removed legacy ESLint config/ignore files.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Documents the new Biome lint/format commands under the Tests section. |
| package.json | Replaces ESLint scripts with Biome scripts; adds Biome as a dev dependency; removes ESLint-related deps. |
| CONTRIBUTING.md | Updates contributor guidance to reference Biome for code-quality checks. |
| biome.json | Introduces Biome configuration (formatter + linter rules). |
| .github/workflows/checks.yml | Updates the lint job step name and runs npm run lint (now Biome-based). |
| .eslintrc.js | Removed legacy ESLint configuration. |
| .eslintignore | Removed legacy ESLint ignore file. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "lint:fix": "npm run lint -- --fix", | ||
| "lint": "npm run knip && biome lint ./src ./test", | ||
| "lint:report": "mkdir -p .lint-reports && biome lint --reporter=json --reporter-file=.lint-reports/biome.json ./src ./test", | ||
| "lint:fix": "biome lint --write ./src ./test", |
There was a problem hiding this comment.
lint:fix no longer runs Knip first (previously npm run lint -- --fix would), so running the fix script may skip the dead-code/dependency checks that npm run lint performs. To keep parity with lint (and the previous behavior), consider delegating lint:fix to npm run lint and passing Biome’s write flag through, or otherwise prefixing lint:fix with npm run knip as well.
| "lint:fix": "biome lint --write ./src ./test", | |
| "lint:fix": "npm run lint -- --write", |
| "enabled": true, | ||
| "rules": { | ||
| "recommended": false, | ||
| "correctness": { "noUnusedVariables": "warn" }, |
There was a problem hiding this comment.
The Biome config sets correctness.noUnusedVariables to warn, which will allow unused vars to pass CI even though the previous ESLint setup treated unused vars as an error. If the intent is a tool migration without relaxing checks, consider making this an error-level rule and (if supported) preserving the previous convention of ignoring intentionally-unused parameters prefixed with _.
| "correctness": { "noUnusedVariables": "warn" }, | |
| "correctness": { "noUnusedVariables": "error" }, |
Description
Related Issue
Closes #432
Motivation and Context
How Has This Been Tested?
Screenshots (if appropriate):
N/A
Types of changes
Checklist: