You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Turborepo根目录ESLint配置未全局生效,求问题排查

Turborepo 中根目录 ESLint 规则未生效的修复方案

1. 修正自定义ESLint包的命名错误

你的共享ESLint包文件夹名为esling-config-custom,存在拼写错误(esling → eslint)。npm 要求ESLint共享配置包必须以eslint-config-前缀命名,拼写错误会导致配置无法被正确识别加载。将文件夹重命名为eslint-config-custom。

2. 修复子项目的ESLint配置继承关系

当前子项目的.eslintrc.js直接导入自定义配置,没有继承根目录的全局配置,导致根目录中next.rootDir等设置失效,同时破坏了Turborepo的配置链。修改/apps/testing-app/.eslintrc.js如下:

module.exports = {
  root: true,
  extends: ["../../.eslintrc.js"],
  parserOptions: {
    tsconfigRootDir: __dirname,
    project: "./tsconfig.json",
  },
};

3. 确保规则优先级与TypeScript适配

虽然你在自定义配置中设置了"no-console": 2,但需确认Next.js的ESLint扩展未覆盖该规则。如果仍不生效,可以在自定义配置中显式声明规则优先级(当前配置已经是错误级别,一般无需额外调整)。另外,由于使用TypeScript,确保parserOptions.project正确指向子项目的tsconfig.json,这点你当前配置已经做到。

4. 验证lint命令执行

运行子项目的lint命令:

npm run lint

或者在根目录通过Turborepo批量执行:

turbo run lint

确保ESLint扫描范围包含pages/index.tsx文件。

5. 重新安装依赖

在根目录执行以下命令,确保所有依赖(包括共享配置包)正确安装和链接:

npm install

完成以上步骤后,pages/index.tsx中的console.log应该会触发ESLint错误提示。如果问题依旧,可尝试删除node_modules、.next文件夹后重新安装依赖并重启开发环境。


内容的提问来源于stack exchange,提问作者Floky99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 00:10:15