如何将流和打字稿类型添加到 NPM 模块

How to add flow and typescript typings to NPM module

是否有如何同时向 NPM 模块添加流和打字稿类型的指南。

我找不到好的指南,人们要求在问题中添加类型是开源库的常见问题。

简单的答案,目前似乎没有现成的解决方案。 例如,当您创建一个库并使用 index.js 导出模块时,您可以添加 index.d.ts 和 index.js.flow,它将起作用。

如果您已经在使用 lib 类型,那么创建定义的过程可能会非常麻烦,幸运的是有一些好人在做。 Flow 已经有了 flow gen-flow-files,在稳定版下还没有发布。 对于typescript,我不知道有没有类似的东西,但是TS更成熟我希望他们做点什么。

现在是另一个痛苦的过程,您得到了一个要将其转换为另一个定义的定义。如果你在 TS 中编写你的定义,那么你将它转换为流的选择很少(我对它们没有任何经验)。 但是如果你用flow写,我没有找到任何可以让你把它转换成TS的东西。

我已经开始针对这个特定问题创建样板和游乐场。 https://github.com/idanilt/flow_ts_lib

现在这个解决方案符合我的需要,编写流库并支持 TS 和流应用程序(我使用非常简单的正则表达式将流转换为 TS)。 但是我想尽可能多地添加案例,所以任何想写库的人都不需要再面对这个问题。