Skip to content

TS7.0移行: リンター移行 — eslint → oxlint 検討 #45

@9c5s

Description

@9c5s

概要

typescript-eslint の tsgo (Corsa API) 対応が 1-2年先のため、TS7.0 完全移行時のリンター代替を検討する。

影響度: 大

背景

typescript-eslint は TypeScript の Strada API に依存。tsgo の Corsa API 対応は 1-2年先。
TS 7.0 完全移行時にリンターの刷新が必要になる。

選択肢

ツール 速度 tsgo 対応 TS型チェックルール jsdoc 対応
oxlint + tsgolint 50-100x tsgo 専用設計 43ルール 要調査
biome 2.0 高速 独自型推論 (85%) 限定的 要調査
eslint + TS6.0 並行維持 1x (基準) Corsa API 待ち 全ルール 完全対応

現在の eslint ルール棚卸し

eslint recommended プリセット:

  • eslint.configs.recommended 適用 (no-undef, no-redeclare 等多数のベースルール含む)
  • oxlint/biome 移行時にはこれらベースルールの代替可否も確認が必要

カスタムルール:

  • no-console (warn)
  • @typescript-eslint/no-unused-vars (warn) — argsIgnorePattern: ^_
  • @typescript-eslint/no-empty-function (warn) — arrowFunctions 許可

jsdoc ルール (TypeDoc 最適化):

  • jsdoc/require-jsdoc (error) — クラス、関数、メソッド必須
  • jsdoc/require-description (error)
  • jsdoc/require-param-description (error)
  • jsdoc/require-returns-description (error)
  • jsdoc/require-returns (error)
  • jsdoc/require-hyphen-before-param-description (error)
  • jsdoc/no-types (error)
  • jsdoc/check-tag-names (error) — remarks, example, category, see

ファイル別ルール緩和:

  • tests/: jsdoc 緩和、no-explicit-any off
  • examples/: jsdoc 緩和、no-console off

チェックリスト

  • oxlint の対応ルールマッピング (eslint recommended + カスタムルール → oxlint 対応状況)
  • oxlint での jsdoc 系ルール代替調査
  • tsgolint の型チェックルール評価
  • biome 2.0 の評価 (Prettier 統合の利点)
  • 移行判断基準の策定 (いつ、どの条件で移行するか)
  • 段階的移行計画の検討 (oxlint 初期検査 + eslint 特殊ルールのデュアル運用)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions