Skip to content

Conversation

@Hi7cl4w
Copy link
Owner

@Hi7cl4w Hi7cl4w commented Nov 3, 2025

Summary

This PR integrates Biome as the project's linter and formatter, replacing ESLint.

Changes

  • ✅ Installed @biomejs/biome as a dev dependency
  • ✅ Created biome.json configuration with TypeScript-friendly settings
  • ✅ Added .biomeignore to exclude build output and large files
  • ✅ Updated package.json scripts:
    • lint: biome check --write .
    • lint:check: biome check .
    • format: biome format --write .
    • format:check: biome format .
  • ✅ Updated VS Code extensions.json to recommend Biome extension instead of ESLint

Configuration Highlights

  • Indentation: 2 spaces (matching existing code style)
  • Quote Style: Double quotes
  • Line Width: 100 characters
  • Semicolons: Always
  • Disabled Rules:
    • noConstEnum: To support existing TypeScript const enums
    • noUselessConstructor: For singleton pattern constructors
    • noExplicitAny: To allow gradual typing improvement

Benefits

  • 🚀 Faster: Biome is significantly faster than ESLint
  • 🔧 All-in-one: Combines linting and formatting (no need for separate Prettier)
  • 📦 Lighter: Fewer dependencies to manage
  • 🎯 TypeScript-first: Built with TypeScript in mind

Testing

Run the following commands to verify:

npm run lint:check  # Check for issues
npm run lint        # Fix auto-fixable issues
npm run format      # Format code

Breaking Changes

None - Biome configuration matches existing code style.

Notes

  • ESLint dependencies can be removed in a future PR after confirming stability
  • Some auto-fixable issues detected by Biome can be addressed incrementally

- Install @biomejs/biome as dev dependency
- Configure biome.json with TypeScript-friendly settings
- Add .biomeignore to exclude build output and large files
- Update package.json scripts to use Biome instead of ESLint
  - lint: biome check --write .
  - lint:check: biome check .
  - format: biome format --write .
  - format:check: biome format .
- Update VS Code extensions.json to recommend Biome extension
- Configure Biome to respect existing code style (2 spaces, double quotes)
- Disable some rules that conflict with existing codebase (noConstEnum, noUselessConstructor)

Biome provides faster linting and formatting compared to ESLint/Prettier
with built-in TypeScript support and better performance.
- Add 'type-check' npm script using 'tsc --noEmit'
- Update @types/vscode from ^1.72.0 to ^1.90.0 for Language Model API support
- Update VS Code engine requirement from ^1.72.1 to ^1.90.0
- Enables TypeScript type checking without emitting files
- Ensures compatibility with newer VS Code APIs
- Add type-check step before lint in CI
- Ensures TypeScript type errors are caught in CI/CD pipeline
- Uninstall eslint, @typescript-eslint/eslint-plugin, @typescript-eslint/parser
- Remove .eslintrc.json configuration file
- Remove eslint-disable comments from source files
- Reduces dependencies from 353 to 283 packages (-70 packages)
- Biome now handles all linting and formatting

This completes the migration from ESLint to Biome.
@Hi7cl4w Hi7cl4w merged commit a01ce71 into main Nov 3, 2025
3 of 6 checks passed
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.

2 participants