Skip to content
← Back to rules

import/no-self-import 懸念

何をするか

モジュールが自身をインポートすることを禁止します。これはたまにリファクタリング中に誤って発生することがあります。

なぜ悪いのか

モジュールが自身をインポートすると、循環依存が発生し、実行時エラーを引き起こす可能性があります。無限ループ、解決できないインポート、または undefined 値などが含まれます。

このルールに違反する不適切なコードの例:

javascript
// foo.js
import foo from "./foo.js"; // 不適切:モジュールが自身をインポートしている
const foo = require("./foo"); // 不適切:モジュールが自身をインポートしている

このルールに従う適切なコードの例:

javascript
// foo.js
import bar from "./bar.js"; // 適切:モジュールが他のモジュールをインポートしている

使い方

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

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

参照