skillfed

eslint-migrate-options

This skill guides you through building option migrators for the `biome migrate eslint` command, preserving ESLint rule configurations beyond severity alone. Learn to model ESLint options in Rust, convert them to Biome equivalents, wire typed rule variants into the migration pipeline, and test through fixture-driven specs.

eslint-migrate-options helps you implement custom ESLint-to-Biome rule option migrators with typed deserialization.

AI-generated summary based on this skill's SKILL.md

25,418 1,157 Apache-2.0 updated by biomejs

Install

biomejs/biome/eslint-migrate-options · repository language: Rust

git clone https://github.com/biomejs/biome
cp -r biome/.claude/skills/eslint-migrate-options ~/.claude/skills/eslint-migrate-options
npx skillfed install biomejs/biome/eslint-migrate-options

Frequently asked questions

AI-generated answers based on this skill's SKILL.md and metadata

How to migrate eslint rule options to biome?

eslint-migrate-options teaches you to build custom migrators that convert ESLint rule options into Biome configuration semantics. You define Rust structs to deserialize ESLint options, implement conversion logic to map them to Biome equivalents, and integrate typed Rule variants into the `biome migrate eslint` pipeline. This preserves rule behavior beyond severity alone, ensuring your ESLint configurations translate faithfully.

What does eslint-migrate-options cover for rule mapping?

eslint-migrate-options covers mapping ESLint plugin rule options to Biome configuration semantics. You'll learn to model option structures in Rust, deserialize them with typed deserialization, implement migrators that translate option values, and wire those migrators into the conversion pipeline. The skill includes fixture-driven snapshot tests to validate that ESLint options migrate correctly.

How do I implement eslint rule migrator in biome codebase?

eslint-migrate-options guides you through adding typed Rule variants and wiring migrators into the conversion pipeline. You create Rust structs representing ESLint rule options, implement deserialization logic, build migrator functions that transform those options to Biome equivalents, and integrate them into the `biome migrate eslint` command. Testing uses fixture-driven snapshot specs to ensure correctness.

Can eslint-migrate-options handle plugin-specific rules?

Yes. eslint-migrate-options shows how to preserve ESLint rule behavior during `biome migrate eslint` conversion, including plugin-specific rules like eslint-plugin-unicorn, typescript-eslint, and jsx-a11y. You model each plugin's option structures, implement custom migrators for their semantics, and test through fixture-driven snapshots to validate that plugin rules and their options convert accurately.

What testing approach does eslint-migrate-options recommend?

eslint-migrate-options recommends fixture-driven snapshot tests to validate ESLint option migration. You define test fixtures with ESLint configurations, run them through the migrator, and compare snapshots of the resulting Biome configuration. This approach ensures that rule severity, custom options, and plugin-specific settings all migrate correctly and consistently.

SKILL.md

rendered from the published skill — quoted content, verbatim

Purpose

Use this skill when a Biome lint rule already exists and biome migrate eslint should preserve more than just the rule severity.

This skill is specifically for cases where an ESLint rule has options that need to be:

  • deserialized from ESLint config
  • translated into Biome rule options
  • wired into the migrate pipeline
  • tested through migrator spec fixtures without depending on CLI tests

Do not use this skill for severity-only migrations. Those are usually covered by the generated rule mapping in eslint_any_rule_to_biome.rs.

Before You Edit

Confirm these points first:

  1. The target Biome rule already exists and already has its own options type in crates/biome_rule_options/src/.
  2. The

(truncated - see the full file via the links below)

Read as markdown · JSON record · Browse the source repository

File tree — 1 file
.claude/skills/eslint-migrate-options/SKILL.md

Related skills

Tags

config-translation plugin-interop schema-mapping deserialize-pipeline rule-conversion eslint-compat option-preservation migration-framework