
自首次发布以来,规则一直是 ESLint 的核心。我们经历了规则的几个开发周期,首先尝试复制 JSHint 规则,创建 ECMAScript 6 规则,因为最佳实践正在被发现,争取与 JSCS 规则的功能对等,等等。现在,在 ESLint 首次创建近三年后,我们在核心中拥有超过 200 条规则,并且每周都在继续收到新的规则提案。
当 ESLint 开始时,我们希望拥有一系列良好的规则,这些规则既能捕获潜在错误,又能涵盖代码风格。我们从未打算涵盖每个人想要的一切,而是希望涵盖 JavaScript 开发人员面临的最常见问题,并将其余的留给自定义规则。这就是为什么 ESLint 从第一个版本就开始支持 自定义规则:我们知道我们永远无法为世界提供人们想要的所有规则,因此唯一的真正解决方案是让每个人都能够创建自己的规则。
经过深思熟虑,我们决定,只有当团队认为不这样做会弊大于利时,我们才会接受将新规则加入 ESLint。例如,我们致力于帮助人们从其他 linter 过渡到 ESLint,因此我们仍将考虑添加使过渡更容易的规则。同样,如果规则标记了潜在的严重或难以识别的错误,那么我们也会考虑它。否则,从现在开始,我们将建议人们使用 插件 来实现他们自己的规则。
社区已经撰写了一些关于编写您自己的规则的优秀文章和教程。以下是一些入门资料
- 使用 ESLint 的项目特定 Lint 规则
- 使用 ESLint 维护 JavaScript 代码质量
- ESLint - 可自定义的 JavaScript Lint 工具
- 为 ESLint 创建自定义规则
ESLint 的未来有很多美好的事物,我们希望您能抓住这个机会,了解更多关于编写和发布您自己的规则的信息。