Presets

TypeScript

汎用 TypeScript 向けの8ルール。

使い方

import { defineConfig } from 'oxlint'
import typescript from '@totto2727/oxlint/typescript'

export default defineConfig({ extends: [typescript] })

プリセットはプラグインを登録し、以下のルールを error として有効化します。両グループを組み合わせる場合は @totto2727/oxlint/preset を使います。

共通 native baseline

両グループと統合プリセットは Ultracite 7.12.3 の native core 設定と共通 ignore の MIT 固定移植を使います。上流の ultracite/oxlint/core export に対応します。 ライブラリにはこれらの native 設定ソースのみを取り込み、Ultracite CLI パッケージ全体と不要な間接依存を取り込みません。パッケージ監査で確認された未使用 CLI 依存の advisory を回避し、選択した native ルールのポリシーは変えません。実行時とコマンドは Oxlint を直接使います。 このバージョンの確認済み出典は native core 設定 と 公式 Oxlint provider ドキュメント です。 native core の設定とルールを各プリセットのトップレベルに展開し、extends に別のプリセットを追加する方式ではありません。 native core の設定と共通 ignore パターンは保持します。テスト向けの緩和を含め、上流のファイル別 override はすべて除外します。このポリシーはテストファイルを ignore しません。 ライブラリ独自の **/*.gen.ts に対する no-redundant-alias の許可は TypeScript と統合プリセットに残ります。

どちらの順序でグループを合成しても競合しないよう、TypeScript を含む全グループで3つの native ルールを明示的に off にします。

  • unicorn/prefer-bigint-literals: 公式 Effect の rules/no-bigint-literals と逆方向の修正になります。
  • preserve-caught-error: native Error.cause を前提とする一方、カスタム Effect 規約は元のエラーを error フィールドに保持します。
  • prefer-const: TypeScript 選択時は、より広いカスタム rules/no-let と宣言の診断が重複します。

カスタムルールの合計34は変わりません。これら3つの調整は native baseline の設定であり、新しいカスタムルールではありません。 React プリセット、type-aware プリセット、Ultracite JavaScript plugins、oxfmt 設定は自動的に取り込みません。 別の統合を個別に選ぶまでは、既存の Oxlint/Vite+ コマンドと formatter 設定を維持します。

収録カスタムルール

例外

生成された **/*.gen.ts では no-redundant-alias を許可します。互換ルール force-ts-extension は有効化しません。拡張子の統一は既定で ts、必要なら mode js に変更できます。

テストにもアプリケーションソースと同じルールを適用し、上流のテストファイル override は継承しません。利用者が追加する例外は範囲と理由を明確にしてください。