Skip to content
← Back to rules

import/no-relative-parent-imports 制限

何を実行するか

相対パスを使用して親ディレクトリからモジュールをインポートすることを禁止します。

なぜ悪いのか

この制限により、複雑なグラフ構造ではなく、ツリー構造のフォルダ構成が強制されます。これにより、大きなコードベースの保守が容易になります。依存関係は一方通行(親 → 子)で流れることで、モジュール間の関係が明確になります。

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

javascript
import foo from "../bar";
import foo from "../../utils/helper";
const baz = require("../config");
export { qux } from "../shared";

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

javascript
import foo from "lodash";
import a from "./lib/a";
import b from "./b";

使い方

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

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

参照