Skip to content
← Back to rules

import/export Nursery

何をするか

名前やデフォルトの重複エクスポートなどの不自然なエクスポートを報告します。

なぜ問題なのか

同じ名前の複数のエクスポートがあると、コードベース内で曖昧さや混乱が生じる可能性があります。どのエクスポートが使われているのか追跡するのが難しくなり、誤ったエクスポートが参照された場合、実行時エラーにつながる可能性があります。

このルールに違反する誤りの例:

javascript
let foo;
export { foo }; // 'foo' の複数のエクスポート。
export * from "./export-all"; // export-all.js が同じく foo をエクスポートしている場合、衝突する。

このルールに準拠する正しい例:

javascript
let foo;
export { foo as foo1 }; // 名前を変更して衝突を回避
export * from "./export-all"; // export-all.js が同じく foo をエクスポートしていても、衝突しない。

使用方法

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

json
{
  "plugins": ["import"],
  "rules": {
    "import/export": "error"
  }
}
bash
oxlint --deny import/export --import-plugin

参照