用途:为多工作区 TypeScript 项目(如前端、后端、基础设施)提供统一的代码检查与格式化方案,避免在每个工作区重复配置,同时支持提交前钩子与全仓库格式化。
主要能力:根目录单一 eslint.config.mjs(ESLint 9+ 扁平配置)作为唯一事实来源;通过 files 通配模式为不同工作区设置差异化规则(例如前端、基础设施、CLI 脚本分别配置);统一 .prettierrc 格式化规则;根 package.json 集中管理 lint/format 脚本;Husky 与 lint-staged 在提交时对改动文件自动修复与格式化;CI 中可用单条命令检查整个代码库。
使用方式:在根目录创建 eslint.config.mjs、.prettierrc、.husky/pre-commit,并在根 package.json 中定义脚本,例如 lint、lint:fix、format、format:check、prepare。依赖安装命令为:pnpm add -D -w eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin typescript-eslint @eslint/js globals prettier eslint-config-prettier husky lint-staged。提交前钩子内容为 pnpm exec lint-staged。工作区 package.json 不应再包含 lint/format 脚本。
适用场景:多工作区 TypeScript 单体仓库;各工作区检查需求不同(前端、CLI、Lambda);希望统一代码风格且需要提交前钩子与全仓库格式化的团队。
限制:依赖 ESLint 9+ 扁平配置,旧 .eslintrc.js 需迁移;文件模式顺序有要求,更具体的模式须放在通用模式之后;Nuxt 因自动生成配置需保留工作区级配置并从根共享规则;单工作区、非 TypeScript 或各工作区工具链差异极大的项目不建议使用。资料未提供具体收费、价格或平台信息。