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

如何让ESLint规则覆盖.eslintrc.json所在目录的上级及同级目录?

解决AWS Lambda依赖层ESLint规则无法覆盖src目录的问题

问题背景

项目采用AWS Lambda依赖层结构,ESLint配置文件.eslintrc.json放在dependencies/nodejs目录下,仅该目录内的文件能应用规则,同级的src目录下的JS文件无法触发ESLint检查,且不想在根目录重复创建package.json。

解决方案

方案1:根目录创建极简ESLint配置,继承依赖层规则

在项目根目录新建.eslintrc.json,内容仅需指向依赖层的配置文件,无需重复安装ESLint或依赖:

{
  "extends": ["./dependencies/nodejs/.eslintrc.json"]
}

之后执行ESLint时,会自动从根目录读取配置,覆盖src和dependencies/nodejs所有文件。如果需要统一脚本,可在dependencies/nodejs/package.json中添加:

"scripts": {
  "lint": "eslint ../../src ."
}

运行npm run lint即可同时检查所有目标文件。

方案2:执行ESLint时指定配置文件路径

无需修改任何配置文件,直接在执行命令中指定依赖层的ESLint配置:

eslint src/ --config dependencies/nodejs/.eslintrc.json

同样可以把命令封装到dependencies/nodejs/package.json的脚本里:

"scripts": {
  "lint": "eslint ../../src --config ./.eslintrc.json"
}

原理说明

ESLint默认会从当前被检查文件的目录开始,向上查找最近的ESLint配置文件。由于src和dependencies/nodejs是同级子目录,src下的文件无法找到nodejs内的配置。通过上述两种方式,要么让根目录的配置继承目标规则,要么强制指定配置文件路径,就能实现规则覆盖所有需要检查的目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:55:30