跳至主要内容

本地开发

感谢您对 typescript-eslint 开发的兴趣!❤️‍🔥

请参阅 贡献问题,了解我们的一般贡献流程。

设置

从 GitHub 分叉仓库 以及 安装 Yarn

git clone https://github.com/<your-name-here>/typescript-eslint
cd typescript-eslint
yarn

您可以通过检查根目录中的 package.json 文件的 packageManager 字段来查看我们使用的 yarn 版本。

然后,安装后脚本将使用 (yarn build) 在本地完全构建您的仓库。此时,您就可以开始开发了!🚀

构建

您可以在根目录中运行 yarn build 来构建所有包,或者在任何包中运行来仅构建该包。

请记住,包通常依赖于彼此的构建输出,您需要为其使用者 yarn build 依赖项,以便它们接收任何新的本地更改。例如,如果您在 scope-manager 中进行更改并希望在 eslint-plugin 中使用它,您需要从根目录或 packages/scope-manageryarn build

验证更改

以下检查将在拉取请求中自动运行。您也可以在本地执行它们。

有关拉取请求的更多信息,请参阅 贡献 > 拉取请求

格式化

我们使用 Prettier 来自动格式化代码。Git 预提交钩子应该将其应用于所有提交的更改。或者,您可以在任何包或根目录中运行 yarn format

代码风格检查

所有代码更改必须通过 ESLint。您可以在任何包或根目录中运行 yarn lint

校对

更改必须通过两个用于文档和命名的代码风格检查器,其命令可以从根目录运行

  • yarn check-spelling: CSpell,用于所有代码
  • yarn lint-markdown: Markdownlint,用于 Markdown 文档

测试

所有代码更改理想情况下应该进行单元测试(如果可能)。您可以在任何包中运行 yarn test 来运行其测试。

VS Code 启动任务 提供了允许 可视化调试 测试的任务。

类型检查

所有代码都应该通过 TypeScript 类型检查。您可以在任何包或根目录中运行 yarn typecheck 来运行 tsc

运行 yarn typecheck -w 以在监视模式下启动 tsc

规则开发

此仓库的某些部分是通过手动运行从规则文件读取脚本生成的。如果您修改了规则,则可能需要运行以下一个或两个命令:

  • yarn generate-configs 从根目录:重新生成 共享配置
  • yarn test docs -upackages/eslint-plugin:根据规则文档和选项重新生成快照

网站开发

我们的交互式文档网站使用 Docusaurus 构建。从根目录或 packages/website 运行 yarn start 将在 localhost:3000 上启动本地开发服务器。

website 包依赖于其他包的构建。我们建议在 yarn start 之前从根目录运行 yarn build