跳至内容

贡献指南

您好!我们非常高兴您对贡献 ESLint 风格感兴趣!在提交您的贡献之前,请阅读以下指南。

您可以使用 StackBlitz Codeflow 来修复错误或实现功能。您将在问题中看到一个 Codeflow 按钮,用于启动一个 PR 来修复它们。PR 上也会出现一个按钮,用于在无需本地检出分支的情况下对其进行审查。使用 Codeflow 时,Vite 存储库将在在线编辑器中为您克隆,Vite 包在监视模式下构建,以便您可以测试您的更改。如果您想了解更多信息,请查看 Codeflow 文档

Open in Codeflow

贡献代码

在您处理代码并发送 PR 之前,最好先检查现有问题或创建新问题。这将使维护者和社区有机会在开始工作之前讨论方向,以避免在最终可能不会合并的内容上浪费时间。

修复错误

在这个项目中,我们非常重视测试和代码覆盖率,以确保代码质量。如果您正在修复错误,请确保添加涵盖您正在修复的错误的测试用例。测试文件位于与规则实现相同的文件夹中,扩展名为 *.test.ts。了解有关 运行测试 的更多信息。

提出新的规则

虽然我们乐于添加涵盖更多风格问题的规则,但我们也非常谨慎地添加新规则。我们希望控制此项目中规则的数量,以保持其可维护性。

一般来说,我们建议您先实现该规则并将其作为您自己的插件发布。这将允许您和社区使用该规则并收集反馈。如果该规则得到好评并且该规则是普遍需要的,那么我们可以讨论是否将其添加到 ESLint Stylistic 中。

本地设置

要进行本地开发,请分叉此仓库并在本地机器上克隆它。此仓库是使用 pnpm workspaces 的 monorepo。用于安装和链接依赖项的包管理器必须是 pnpm

要开发和测试此项目

  1. 在根文件夹中运行 pnpm i

  2. 在根文件夹中运行 pnpm run build

  3. 对代码进行更改后,再次运行 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 来检查并修复代码。