Lint Staged无法访问子文件夹 如何配置使其扫描所有层级文件
问题解决步骤
- 首先确认子文件夹内的目标文件已加入Git暂存区
lint-staged的设计逻辑是仅处理已经通过git add加入暂存区的文件,不会扫描未暂存、未被Git追踪的文件。你可以先执行git status查看sub-folder-x、sub-folder-y下的文件是否处于暂存状态,未暂存的话执行git add对应文件后再重新运行npx lint-staged测试。 - 检查各类忽略文件配置
确认你的项目根目录下的.gitignore、.eslintignore、.prettierignore文件中没有添加src/sub-folder-*这类忽略规则,排除规则过滤导致子目录文件无法被识别的问题。 - 验证本地命令的扫描范围
你可以先手动执行以下两个命令,验证工具本身是否可以正常扫描到子目录的文件:# 测试prettier扫描范围 npx prettier --check src/**/*.{js,jsx,ts,tsx} # 测试eslint扫描范围 npx eslint src/**/*.{js,jsx,ts,tsx}
如果手动执行命令也无法扫描到子目录文件,说明是ESLint/Prettier本身的配置问题,和lint-staged无关;如果手动执行可以扫到,就可以确认是文件未暂存导致的。
- 可选:调整lint-staged配置强制全量扫描
如果你需要每次执行lint-staged时都强制扫描src下所有匹配文件,不受暂存区限制,可以将配置修改为:
{ "src/**/*.{js,jsx,ts,tsx}": ["prettier --check src/**/*.{js,jsx,ts,tsx}", "eslint src/**/*.{js,jsx,ts,tsx}"] }
注意该写法会失去lint-staged只扫描暂存文件的性能优势,不建议大项目使用。
内容的提问来源于stack exchange,提问作者THIAGO DE BONIS
相关产品推荐
相关产品推荐

