Migrate from ESLint

How to migrate your project from ESLint to Ultracite.

If you're using ESLint and want to switch to Ultracite's preconfigured setup, this guide will help you migrate while maintaining code quality standards.

Why Migrate to Ultracite?

  • Lightning Speed: Biome (Ultracite's foundation) is based on Rust, much faster than ESLint
  • Zero Configuration: Hundreds of preconfigured rules vs manual ESLint setup
  • Combined Tool: Replaces both ESLint and Prettier with a single tool
  • AI Integration: Built-in support for AI-powered editors (Cursor, Windsurf, GitHub Copilot)
  • Type Safety: Comprehensive TypeScript rules with strict null checks
  • Modern Standards: Latest JavaScript/TypeScript best practices

Before You Start

Make sure you have:

  • An existing project using ESLint
  • Node.js v14.18+ (Node 18+ recommended)
  • A package.json file

Automatic Setup

Run the automatic setup script.

npx ultracite init

This will:

  • Install Ultracite as a dependency
  • Merge your existing biome.json / biome.jsonc with Ultracite's preset
  • Merge your existing .vscode/settings.json with Ultracite's preset
  • Enable strictNullChecks in your tsconfig.json file (or create one if it doesn't exist)
  • Preserve your custom rules and settings
  • Set up editor integrations

Ensure you choose to remove the existing ESLint configuration. This will:

  • Remove ESLint and any related dependencies
  • Remove any ESLint configuration files
  • Remove any ESLint related commands from your .vscode/settings.json file

Following the upgrade, you may want to review your biome.json / biome.jsonc file to remove any overrides. Additionally, restart your editor to ensure the new configuration is applied.

How is this guide?