是否可以强制ESLint忽略代码中的`eslint-disable`禁用指令?
ESLint强制校验含
/* eslint-disable */文件的方案 方案1:命令行临时生效
执行lint命令时添加--no-inline-config参数,该参数会强制忽略目标文件内所有ESLint内联配置注释,直接使用配置文件的规则执行校验:
eslint --no-inline-config ./your-generated-lib-path/**/*.js
方案2:配置文件全局生效
如果需要对所有文件默认忽略内联配置,可直接在ESLint配置文件中添加全局配置:
旧版.eslintrc类配置写法
// .eslintrc.js module.exports = { noInlineConfig: true, // 其余原有配置保持不变 }
新版Flat Config写法
// eslint.config.js export default [ { files: ["**/*.js"], noInlineConfig: true, // 其余原有配置保持不变 } ]
方案3:仅针对第三方生成目录生效(最推荐)
如果不想影响业务代码中合法的内联ESLint注释,可以通过overrides配置仅对生成库目录开启忽略内联配置的规则,同时还可以单独指定该目录专属的校验规则:
// .eslintrc.js 示例 module.exports = { // 全局其他配置 overrides: [ { // 匹配你的第三方生成库的文件路径 files: ["src/generated-third-party-lib/**/*.js"], noInlineConfig: true, // 这里可以指定你要给生成库用的特殊规则集 rules: { "no-console": "error", // 其他自定义规则 } } ] }
注意事项
- 上述配置仅忽略文件内的
/* eslint-disable */、/* eslint-enable */、/* global */这类内联ESLint指令,不会影响.eslintignore文件的忽略逻辑。如果你的生成库目录已经被添加到忽略列表中,需要先在.eslintignore中添加否定匹配规则解除忽略,比如!src/generated-third-party-lib/ - 如果你同时使用了ESLint的
reportUnusedDisableDirectives配置,该配置不会和noInlineConfig冲突
内容的提问来源于stack exchange,提问作者SquiggyJ
相关产品推荐
相关产品推荐

