Monorepo配置ESLint指定src目录文件夹命名规则排除目录报错求助
解决ESLint check-file插件目录命名规则排除失效问题
你的问题出在当前的路径匹配模式没有正确排除所有层级的测试/模拟目录,导致这些目录依然被规则检查。以下是两种可行的解决方法:
方法一:使用exclude选项直接忽略目标目录
这是最直观的方式,明确指定要排除的目录路径,让规则跳过这些文件夹的检查:
'check-file/folder-naming-convention': [ 'error', { // 要求src下所有文件夹遵循kebab-case 'src/**/': 'KEBAB_CASE', // 排除所有层级的测试/模拟目录 'exclude': [ '**/__test__/**', '**/__tests__/**', '**/__mock__/**', '**/__mocks__/**' ] }, ],
方法二:调整匹配模式,仅对非排除目录应用规则
修改路径匹配模式,让规则只作用于src下所有不属于排除列表的文件夹:
'check-file/folder-naming-convention': [ 'error', { // 匹配src下任意层级中,名称不在排除列表里的文件夹 'src/**/!(__test__|__tests__|__mock__|__mocks__)/': 'KEBAB_CASE', }, ],
原配置失效原因
你之前写的src/!(__test__|__tests__|__mock__|__mocks__)**/模式,仅限制了src下第一级目录不能是排除项,但后续层级中的__test__等目录依然会被**匹配到,导致规则错误地对这些目录进行检查,从而触发lint报错。
内容的提问来源于stack exchange,提问作者Or Assayag
相关产品推荐
相关产品推荐

