Skip to content
← Back to rules

import/no-named-as-default Suspicious

何を検出するか

デフォルトエクスポートのローカルインポート名として、エクスポートされた名前を使用している場合に報告します。 これは、同じモジュールからの名前付きエクスポートと衝突する名前でデフォルトエクスポートが割り当てられたときに発生します。

なぜ問題なのか

名前付きエクスポートの識別子をデフォルトエクスポートに使用すると、どの値がインポートされているか理解しにくくなり、誤解やエラーを引き起こす可能性があります。 また、コードの明確性が低下し、他の開発者が意図したインポートを理解しにくくなります。

次のようなコードがあるとします。

javascript
// foo.js
export default "foo";
export const bar = "baz";

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

javascript
// 不正:名前付きエクスポート 'bar' をデフォルトエクスポートの識別子として使用しています。
import bar from "./foo.js";

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

javascript
// 正しい:競合しない名前でデフォルトエクスポートを正しくインポートしています。
import foo from "./foo.js";

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、以下のいずれかの方法を使用できます。

json
{
  "plugins": ["import"],
  "rules": {
    "import/no-named-as-default": "error"
  }
}
bash
oxlint --deny import/no-named-as-default --import-plugin

参照情報