贡献指南
您好!我们非常高兴您对贡献 ESLint 风格感兴趣!在提交您的贡献之前,请阅读以下指南。
您可以使用 StackBlitz Codeflow 来修复错误或实现功能。您将在问题中看到一个 Codeflow 按钮,用于启动一个 PR 来修复它们。PR 上也会出现一个按钮,用于在无需本地检出分支的情况下对其进行审查。使用 Codeflow 时,Vite 存储库将在在线编辑器中为您克隆,Vite 包在监视模式下构建,以便您可以测试您的更改。如果您想了解更多信息,请查看 Codeflow 文档。
贡献代码
在您处理代码并发送 PR 之前,最好先检查现有问题或创建新问题。这将使维护者和社区有机会在开始工作之前讨论方向,以避免在最终可能不会合并的内容上浪费时间。
修复错误
在这个项目中,我们非常重视测试和代码覆盖率,以确保代码质量。如果您正在修复错误,请确保添加涵盖您正在修复的错误的测试用例。测试文件位于与规则实现相同的文件夹中,扩展名为 *.test.ts
。了解有关 运行测试 的更多信息。
提出新的规则
虽然我们乐于添加涵盖更多风格问题的规则,但我们也非常谨慎地添加新规则。我们希望控制此项目中规则的数量,以保持其可维护性。
一般来说,我们建议您先实现该规则并将其作为您自己的插件发布。这将允许您和社区使用该规则并收集反馈。如果该规则得到好评并且该规则是普遍需要的,那么我们可以讨论是否将其添加到 ESLint Stylistic 中。
本地设置
要进行本地开发,请分叉此仓库并在本地机器上克隆它。此仓库是使用 pnpm workspaces 的 monorepo。用于安装和链接依赖项的包管理器必须是 pnpm。
要开发和测试此项目
在根文件夹中运行
pnpm i
。在根文件夹中运行
pnpm run build
。对代码进行更改后,再次运行
pnpm run test
以构建项目。
我们使用 pnpm v8。如果您正在处理多个使用不同 pnpm 版本的项目,建议您通过运行
corepack enable
来启用 Corepack。
运行测试
单元测试
每个规则在其实现旁边都有一个 *.test.ts
测试文件。测试使用 Vitest 运行。
pnpm test
默认情况下运行每个单元测试。pnpm test [rule-name]
运行特定规则的过滤测试。
集成测试
除了单元测试之外,我们还提供更高级别的集成测试,这些测试会针对一组固定装置运行 ESLint。
pnpm run test:fixtures
运行固定装置测试。
固定装置测试使用 Snapshot 来确保输出一致。当输出与快照不匹配时,测试将失败。如果更改是预期的,则可以通过在运行测试时传递 u
键来更新快照。
代码风格检查
该项目使用 ESLint 和自身来检查和格式化代码。您可以运行 pnpm run lint --fix
来检查并修复代码。