Skip to content
← Back to rules

react/jsx-filename-extension 制限

An auto-fix is available for this rule.

何を行うか

.jsx ファイル拡張子の使用を一貫性を持って強制します。

なぜ悪いのか

一部のバンドラーやパーサーは、ファイルが JSX を含んでいることをファイル拡張子から認識する必要があり、適切にファイルを処理できるようにしています。

このルールに対して誤りなコードの例:

jsx
// ファイル名: MyComponent.js
function MyComponent() {
  return <div />;
}

このルールに対して正しいコードの例:

jsx
// ファイル名: MyComponent.jsx
function MyComponent() {
  return <div />;
}

設定

このルールは、次のプロパティを持つ設定オブジェクトを受け入れます。

allow

型: "always" | "as-needed"

デフォルト: "always"

JSX ファイル拡張子を許可するタイミング。デフォルトでは、すべてのファイルが JSX 拡張子を付けることが可能になっています。as-needed に設定すると、実際に JSX 構文を含むファイルのみに .jsx 拡張子の使用を許可します。

extensions

型: string[]

デフォルト: ["jsx"]

許可されるファイル拡張子のセット。先頭のドット(例: "jsx" または ".jsx")を含むか含まないかはどちらも有効です。

ignoreFilesWithoutCode

型: boolean

デフォルト: false

有効にすると、コードを含まないファイル(つまり空、空白文字やコメントのみのファイル)は拒否されません。

使用方法

このルールを構成ファイルまたは CLI で有効化するには、次のように使用できます:

json
{
  "plugins": ["react"],
  "rules": {
    "react/jsx-filename-extension": "error"
  }
}
bash
oxlint --deny react/jsx-filename-extension --react-plugin

参照