TypeScript 迁移
作者: riotrah创建于 2021年8月19日更新于 2026年5月3日
描述您想要的功能:
- 与
dom-testing-library最近的工作一样,将代码库迁移到 TS,同样适用于此库的迁移动机。
我一直很难在该仓库中找到之前提交此迁移的问题或 PR,因此我创建了一个,至少可以让维护者了解他们的立场,如果可能的话,还可以作为集中协调逐步迁移的地方,如果得到批准。
以下是从
testing-library系列中关于 TS 提出的各种观点的记忆中翻译的摘要:假设: TypeScript 支持有利于库用户,无论他们是否明确使用 TS,只要他们的 IDE 支持相关智能提示(最流行的 IDE 都支持)
使用内部类型声明(与 DefinitelyTyped 中的类型相比)有助于保持正确的版本和维护类型。
但是,在跟踪逻辑变化与导出类型变化之间存在着工作开销。
完全将代码库迁移到 TS 可以让维护者通过现有的类型声明构建过程(在
kcd-scripts中)完全“自动化”类型声明。
然而,这增加了一个障碍,使新的贡献者更容易适应 JS 和 OSS 贡献,但不适应 TS。
尽管如此,TS 的日益普及和与 JS 的相似性使得我认为这不是一个问题。
这意味着,假设 (e) 证明是正确的,则无论是贡献者还是此库的消费者都将受益于更少的错误,更容易/更快地理解库组件/ API,以及更好的开发者舒适性(在我看来)
建议的实现:
- 我绝对不代表维护者,所以这是我最好的猜测,如何最好地实现此功能。
- 为了减轻维护者在代码审查期间的头痛,并简化协作,迁移可能应该被视为一个长期的努力,通过逐步/迭代的 PR 来实现进展。
- 如果您的问题与其中一个查询 API(
getByText、getByLabelText等)有关,请将其提交到dom-testing-library仓库中。如果您在这里提交,它将被关闭。谢谢 :)
内容来源: testing-library/react-testing-library