Skip to content
Ultracite
Esc
navigateopen⌘Jpreview
On this page

Upgrade to v7

Upgrade from Ultracite v6 to v7 to adopt multi-linter support, updated presets, and the latest generated config structure.

Ultracite v7 introduces support for multiple linting providers: Biome, ESLint + Prettier + Stylelint, and Oxlint + Oxfmt.

What Changed

Multi-Provider Support

Ultracite now supports three linting toolchains:

Updated Preset Paths

Preset paths now include the provider name to distinguish between linters:

v6 Path v7 Path
ultracite/core ultracite/biome/core
ultracite/react ultracite/biome/react
ultracite/next ultracite/biome/next
ultracite/solid ultracite/biome/solid
ultracite/vue ultracite/biome/vue
ultracite/svelte ultracite/biome/svelte
ultracite/qwik ultracite/biome/qwik
ultracite/angular ultracite/biome/angular
ultracite/remix ultracite/biome/remix
ultracite/astro ultracite/biome/astro

New CLI Flag

The --linter flag allows you to specify which provider to use:

npx ultracite init --linter biome
npx ultracite init --linter eslint
npx ultracite init --linter oxlint

Migration

For Biome Users (Default)

Update your biome.jsonc to use the new preset paths:

{
  // Before (v6)
  "extends": ["ultracite/core", "ultracite/react", "ultracite/next"]

  // After (v7)
  "extends": ["ultracite/biome/core", "ultracite/biome/react", "ultracite/biome/next"]
}

Switching to ESLint

If you’d like to switch to ESLint + Prettier + Stylelint:

npx ultracite init --linter eslint

This will create eslint.config.mjs, prettier.config.mjs, and stylelint.config.mjs files:

import core from "ultracite/eslint/core";
import react from "ultracite/eslint/react";
import next from "ultracite/eslint/next";

export default [...core, ...react, ...next];

Switching to Oxlint

If you’d like to switch to the fastest option:

npx ultracite init --linter oxlint

This will create oxlint.config.ts and oxfmt.config.ts files:

import { defineConfig } from "oxlint";
import core from "ultracite/oxlint/core";
import github from "ultracite/oxlint/github";
import sonarjs from "ultracite/oxlint/sonarjs";
import next from "ultracite/oxlint/next";
import react from "ultracite/oxlint/react";

export default defineConfig({
  extends: [core, github, sonarjs, react, next],
  ignorePatterns: core.ignorePatterns,
});
import { defineConfig } from "oxfmt";
import ultracite from "ultracite/oxfmt";

export default defineConfig({
  ...ultracite,
});

Quick Upgrade

For the fastest upgrade path, run:

npx ultracite init

When prompted, select your preferred linting provider. Ultracite will update your configuration files automatically.

Was this page helpful?