TypeScript 迁移

作者: riotrah创建于 2021年8月19日更新于 2026年5月3日

描述您想要的功能:

  1. dom-testing-library 最近的工作一样,将代码库迁移到 TS,同样适用于此库的迁移动机。

我一直很难在该仓库中找到之前提交此迁移的问题或 PR,因此我创建了一个,至少可以让维护者了解他们的立场,如果可能的话,还可以作为集中协调逐步迁移的地方,如果得到批准。

  1. 以下是从 testing-library 系列中关于 TS 提出的各种观点的记忆中翻译的摘要:

    假设: TypeScript 支持有利于库用户,无论他们是否明确使用 TS,只要他们的 IDE 支持相关智能提示(最流行的 IDE 都支持)

使用内部类型声明(与 DefinitelyTyped 中的类型相比)有助于保持正确的版本和维护类型。

但是,在跟踪逻辑变化与导出类型变化之间存在着工作开销。

完全将代码库迁移到 TS 可以让维护者通过现有的类型声明构建过程(在 kcd-scripts 中)完全“自动化”类型声明。

然而,这增加了一个障碍,使新的贡献者更容易适应 JS 和 OSS 贡献,但不适应 TS。

尽管如此,TS 的日益普及和与 JS 的相似性使得我认为这不是一个问题。

这意味着,假设 (e) 证明是正确的,则无论是贡献者还是此库的消费者都将受益于更少的错误,更容易/更快地理解库组件/ API,以及更好的开发者舒适性(在我看来)

建议的实现:

  1. 我绝对不代表维护者,所以这是我最好的猜测,如何最好地实现此功能。
  2. 为了减轻维护者在代码审查期间的头痛,并简化协作,迁移可能应该被视为一个长期的努力,通过逐步/迭代的 PR 来实现进展。
  3. 如果您的问题与其中一个查询 API(getByTextgetByLabelText 等)有关,请将其提交到 dom-testing-library 仓库中。如果您在这里提交,它将被关闭。谢谢 :)

内容来源: testing-library/react-testing-library