如何将测试文件添加到linting脚本的lint-staged配置规则中
你现在的配置只匹配src目录下后缀为js/jsx/ts/tsx的文件,测试文件没触发的常见原因和解决方法如下:
- 如果你的测试文件存放在src以外的目录(比如根目录的tests文件夹),直接修改glob匹配规则,把测试文件所在目录加到配置里即可,示例如下:
"lint-staged": { "{src,tests}/**/*.{js,jsx,ts,tsx}": [ "prettier-eslint --write" ] }
如果需要匹配所有目录下的对应后缀文件,也可以直接写通配路径:
"lint-staged": { "**/*.{js,jsx,ts,tsx}": [ "prettier-eslint --write" ] }
lint-staged默认只会处理git暂存区的文件,不会匹配node_modules等被git忽略的目录,不用担心冗余匹配问题。
- 如果你的测试文件本身就存放在src目录下,理论上现有规则已经可以匹配到
.test.tsx后缀的文件,此时请排查两个点:- 测试文件是否被加入了.gitignore、.eslintignore或.prettierignore规则中,lint-staged会自动跳过被忽略的文件
- 可以执行
npx lint-staged --debug命令查看当前配置的匹配规则命中了哪些文件,快速定位匹配异常的原因
内容的提问来源于stack exchange,提问作者Jimmy
相关产品推荐
相关产品推荐

