Rules

no-import-from-barrel-package

バレルの値 export ではなく個別モジュールを import します。

目的と動作

バレルの値 export ではなく個別モジュールを import します。

公式 Effect ルールです。対象バレルの名前空間・名前付き値の import を報告します。型だけの import と名前付き型指定子を除外し、default と副作用だけの import は報告しません。相対 index ファイルは構文で認識し、ディレクトリはファイルシステム上の index を確認します。プリセットは Effect のルートと小文字バレルを対象とし、effect/Effect のような個別モジュールの名前空間 import を推奨します。自動修正はありません。

オプション

{ checkPatterns?: string[], checkRelativeIndexImports?: boolean }。ルール単体の既定は checkPatterns が 、相対 index の検査が true です。パターンは glob ではなく JavaScript 正規表現です。Effect プリセットは "^effect...", "^@effect/^/+..." と相対 index 検査を明示します。例はこのプリセットです。

違反例

import { Effect } from 'effect'

許可例

import * as Effect from 'effect/Effect'

修正と例外

診断のみを提供し、自動修正しません。意図を推測せず明示的に書き換えてください。

必要な境界例外には oxlint-disable-next-line rules/no-import-from-barrel-package -- 理由 を使います。例はこのルール単体の構文を示し、import や宣言を省略する場合があります。

ソースとテスト

Effect プリセットで有効です。

no-import-from-barrel-package.ts · Tests