请解释如何发布自己的 TypeScript 类型定义到 DefinitelyTyped?

推荐答案

要将自己的 TypeScript 类型定义发布到 DefinitelyTyped,可以按照以下步骤操作:

  1. Fork DefinitelyTyped 仓库:首先,访问 DefinitelyTyped GitHub 仓库,并 Fork 该仓库到自己的 GitHub 账户。

  2. 克隆 Fork 的仓库:将 Fork 后的仓库克隆到本地。

  3. 创建新的类型定义目录:在 types 目录下创建一个新的目录,目录名通常与你要为其提供类型定义的库名相同。

  4. 编写类型定义文件:在新创建的目录中,编写类型定义文件(通常命名为 index.d.ts),并确保遵循 DefinitelyTyped 的贡献指南。

  5. 编写测试文件:在同一个目录下,编写测试文件(通常命名为 <library-name>-tests.ts),以确保类型定义的正确性。

  6. 提交更改:将更改提交到本地仓库。

  7. 推送更改到 GitHub:将本地提交推送到你的 GitHub Fork 仓库。

  8. 创建 Pull Request:在 GitHub 上,从你的 Fork 仓库向 DefinitelyTyped 主仓库发起 Pull Request。确保在 PR 描述中详细说明你所做的更改。

  9. 等待审核:DefinitelyTyped 的维护者会审核你的 PR,可能会提出一些修改建议。根据反馈进行修改并重新提交。

  10. 合并 PR:一旦 PR 被合并,你的类型定义就会发布到 DefinitelyTyped,并可以通过 npm 安装。

本题详细解读

1. Fork 和克隆仓库

Fork DefinitelyTyped 仓库是为了让你在自己的 GitHub 账户下拥有一个副本,以便你可以自由地进行修改和提交。克隆仓库到本地后,你可以在本地进行开发和测试。

2. 创建类型定义目录

types 目录下创建一个新的目录,目录名通常与你要为其提供类型定义的库名相同。这个目录将包含你的类型定义文件和测试文件。

3. 编写类型定义文件

类型定义文件(index.d.ts)是 TypeScript 用来描述 JavaScript 库的类型信息的文件。你需要确保这个文件准确地描述了库的 API 和类型。

4. 编写测试文件

测试文件(<library-name>-tests.ts)用于验证类型定义的正确性。你可以在这个文件中编写一些使用库的代码,并确保 TypeScript 能够正确推断类型。

5. 提交和推送更改

提交更改到本地仓库后,将其推送到你的 GitHub Fork 仓库。这一步是为了将你的更改上传到 GitHub,以便后续创建 Pull Request。

6. 创建 Pull Request

Pull Request 是将你的更改合并到 DefinitelyTyped 主仓库的请求。在 PR 描述中,详细说明你所做的更改和添加的类型定义。

7. 等待审核和合并

DefinitelyTyped 的维护者会审核你的 PR,可能会提出一些修改建议。根据反馈进行修改并重新提交,直到 PR 被合并。

8. 发布到 npm

一旦 PR 被合并,你的类型定义就会发布到 DefinitelyTyped,并可以通过 npm 安装。用户可以通过 npm install @types/<library-name> 来使用你的类型定义。

纠错
反馈