ESLint新增exports限制后 如何合规修改核心规则的行为
修改ESLint核心规则的合规实现方案
- 优先使用社区公开的工具包替代内部依赖
常用的ast-utils等ESLint内部工具函数,已经由ESLint社区维护为公开的@eslint-community/eslint-utilsnpm包,直接安装后引入即可,无需访问ESLint内部受限模块。 - 借助规则扩展工具修改核心规则逻辑
若仅需调整现有核心规则的少量行为,可使用eslint-rule-composer工具,直接引入ESLint官方公开导出的核心规则,在其基础上做逻辑过滤、覆盖或增强,无需完全重写规则,也不会涉及内部模块依赖问题。 - 确需访问内部模块时使用官方包补丁功能
如果你需要用到的工具函数还未被公开抽离,可使用npm、pnpm、Yarn原生支持的包补丁功能,给本地安装的ESLint包打补丁放开对应内部路径的exports限制,该方案仅作用于当前项目,不会影响其他生态组件对原ESLint包的调用,比单独维护fork版本的成本更低,也不存在冲突隐患。
你提到的fork单独ESLint副本的方案也可以正常使用,上述方案只是提供了更低维护成本的选择。
内容的提问来源于stack exchange,提问作者Doofus
相关产品推荐
相关产品推荐

