Are you an LLM? You can read better optimized documentation at /docs/guide/usage/linter/rules/oxc/no-barrel-file.md for this page in Markdown format
oxc/no-barrel-file 制限
何ができるか
export * のステートメントを含み、再エクスポートするモジュールの総数がしきい値を超える場合、バレルファイル(バーレルファイル)の使用を禁止します。
デフォルトのしきい値は 100 です。
なぜ問題なのか
多くのモジュールを再エクスポートするバレルファイルは、アプリケーションやバンドラーの実行速度を著しく低下させる可能性があります。バレルファイルが多数のモジュールをエクスポートしている場合、そのファイルからインポートすると、実際には使用されていないモジュールもすべて処理される必要があるため、ランタイムまたはバンドラーが負荷を増大させます。その結果、起動時間が遅くなり、バンドルサイズも大きくなります。
参考資料:
- https://github.com/thepassle/eslint-plugin-barrel-files
- https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-7
例
無効な例:
javascript
export * from "foo"; // `foo` が 100 個のモジュールのサブツリーを読み込む場合
import * as ns from "foo"; // `foo` が 100 個のモジュールのサブツリーを読み込む場合有効な例:
javascript
export { foo } from "foo";設定
このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。
threshold
type: integer
default: 100
ルールが発動するまでの、export * を通じて再エクスポート可能なモジュールの最大数。
使用方法
設定ファイルまたは CLI でこのルールを 有効化 するには、次のように記述します。
json
{
"rules": {
"oxc/no-barrel-file": "error"
}
}bash
oxlint --deny oxc/no-barrel-file