AlloyTeam ESLint 规则不仅是一套科学的 ESLint 配置规范,而且也是你配置个性化 ESLint 规则的最佳参考。
经历一年多的发展,eslint-config-alloy 已收获大量的粉丝,首先在此感谢各位的支持!
发布新版本
自从ESLint 宣布由官方支持 TypeScript之后,我们收到了很多反馈希望迁移到 typescript-eslint。
紧跟社区步伐是很重要的,趁这次机会,我们决定重构一遍 eslint-config-alloy。 有了之前的一些经验教训,我们发现要做成一个受欢迎的 ESLint 规范,重点在于管理好三角关系[测试]-[配置]-[示例],需要将这三者联系起来,统一维护。其次 ESLint 的配置项太多,相关社区依赖更新也非常快,需要借助社区的力量一起维护。
所以,这次我们的目标是将 eslint-config-alloy 打造为一个高度自动化,热情开源的项目。
如今已完成了基础功能的开发和前一个版本的规则的迁移,发布了 v2.0.0-alpha.2 版本。
无情的推动自动化
那么这次的更新有哪些变化呢?
- 所有 ESLint 配置均在 test 目录下
- 每一项配置存放在对应的目录下,如 test/react/jsx-key/.eslintrc.js 描述了规则 react/jsx-key
- 如果配置开启了,则需要有对应的示例,包括 bad.js 和 good.js
- 由于配置和示例在一个目录下,故编辑器中可以直接看到错误信息
- 由 scripts/build.ts 脚本将 test 目录下分散的配置生成整体的配置
- 运行测试脚本 test/index.ts 会检查每个示例是否按照要求报错
除此之外,项目自身也加上了一系列校验工具,包括:
- eslint 检查构建脚本错误
- prettier 自动格式化代码
- eclint 格式化 test 中的代码
- husky 运行 githook
- travis-ci 在 pr 时执行检查
- Greenkeeper 保证依赖及时更新
有了自动化工具的加持,协同开发变得更加容易了。如果你也感兴趣的话,如果你的项目中也使用了此规则的话,不妨一起来建设 eslint-config-alloy 吧!
TODOs
如果对此项目感兴趣,欢迎从完成 test 下的示例开始入手,参与贡献!
- [ ] 完成所有的 test/index 下的示例
- [ ] 完成所有的 test/react 下的示例
- [x] 完成所有的 test/typescript 下的示例
- [x] 移植 bak/vue 的规则,完成 eslint-config-alloy/vue 的配置
- [x] 实现 TypeScript React 配置
- [ ] 实现 TypeScript Vue 配置
- [ ] 完成新版网站建设