多文件分析
多文件分析允许规则使用项目级别的信息(例如模块依赖图),而不是孤立地分析每个文件。
性能与架构
ESLint 按文件逐个评估规则,并不提供内置的项目图谱。像 eslint-plugin-import 这样的插件必须在 ESLint 核心之外重新构建模块解析和模块图谱。项目报告称,原始的 import/no-cycle 规则耗时数十秒,或在大型仓库中超过一分钟。
Oxlint 在核心引擎中实现了多文件分析。它并行地检查文件并构建模块图谱,规则之间共享解析和解析结果,通常可在几秒钟内完成类似 import/no-cycle 的检查。
启用 import 插件
要使用多文件分析,您必须启用 import 插件,并配置至少一个 import/* 规则。示例请参见下一节中的配置文件。
使用 import/no-cycle 检测循环
启用 import/no-cycle 以检测循环依赖。
导入循环会:
- 使依赖方向变得模糊
- 增加重构的难度
- 可能由于执行顺序导致被导入的值为
undefined
json
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["import"],
"rules": {
"import/no-cycle": ["error", { "maxDepth": 3 }]
}
}TypeScript 路径别名
运行 import/* 规则时,Oxlint 会自动发现 tsconfig.json,以解析 TypeScript 路径别名(如 compilerOptions.paths)。
