Skip to content

chore(tooling): migrate from eslint/prettier to biome #123

Merged
sectsect merged 4 commits into
masterfrom
biome
Feb 16, 2026
Merged

chore(tooling): migrate from eslint/prettier to biome #123
sectsect merged 4 commits into
masterfrom
biome

Conversation

@sectsect

@sectsect sectsect commented Feb 16, 2026

Copy link
Copy Markdown
Owner

chore(tooling): migrate from eslint/prettier to biome


Note

Low Risk
Tooling-only changes (lint/format/CI) with no runtime or plugin logic modifications; main risk is CI or developer workflow breakage if Biome configuration differs from prior ESLint behavior.

Overview
Migrates TypeScript code quality tooling from ESLint/Prettier to Biome, adding biome.jsonc, updating package.json scripts/deps, and removing the existing eslint.config.mjs and old .lintstagedrc.json.

Updates automation to enforce the new workflow: introduces a GitHub Action running biome ci ., switches lint-staged to run Biome checks/formatting (plus existing Stylelint/secretlint/tsc-files), and adjusts VS Code/editor configuration (.vscode/*, .editorconfig) to default to Biome formatting while keeping PHP/HTML tab indentation.

Written by Cursor Bugbot for commit aed0ca3. This will update automatically on new commits. Configure here.

- Replaced ESLint and Prettier with Biome for linting and formatting
- Added biome.jsonc configuration
- Updated lint-staged to use Biome commands
- Updated VSCode settings and recommendations for Biome
- Modified .editorconfig to align with Biome formatting defaults
- Updated various config files (commitlint, rspack, stylelint)

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

This is the final PR Bugbot will review for you during this billing cycle

Your free Bugbot reviews will reset on March 14

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

Comment thread lint-staged.config.mjs
@@ -0,0 +1,13 @@
const config = {
'*': ['secretlint --maskSecrets --secretlintignore .gitignore "**/*"'],

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pre-commit scans whole repository

Low Severity

The secretlint lint-staged task passes \"**/*\", so it scans the entire repository instead of only staged files. This can make pre-commit runs much slower and can block commits due to unrelated files outside the current change set.

Fix in Cursor Fix in Web

Comment thread lint-staged.config.mjs
const config = {
'*': ['secretlint --maskSecrets --secretlintignore .gitignore "**/*"'],
'src/**/*.{js,jsx,ts,tsx}': ['biome check --write --no-errors-on-unmatched'],
'src/**/*.ts?(x)': () => 'tsc-files --noEmit',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Type check task drops staged file scope

Medium Severity

The lint-staged TypeScript task is now a function returning tsc-files --noEmit without using the provided file list. In function-based tasks, lint-staged does not inject filenames automatically, so tsc-files no longer runs against the staged TS files as intended.

Fix in Cursor Fix in Web

@sectsect sectsect merged commit 593cf3c into master Feb 16, 2026
11 checks passed
@sectsect sectsect deleted the biome branch February 16, 2026 03:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant