你应该将你的流式文件夹发布到 NPM 吗?

should you publish your flow-typed folder to NPM?

我想知道您是否以及在什么条件下应该将您的 flow-typed 文件夹发布到包中的 NPM。也许(我一直在想)答案永远不会,应用程序开发人员自己使用流类型取决于应用程序开发人员,但也许 flow-typed install 只选择他们自己声明的依赖项的定义,而不是内部的依赖项包裹。

简而言之,如果您的包具有非对等流类型的依赖项,我应该发布我的 flow-typed 文件夹还是应该 npmignore 它?

您永远不应发布此文件夹。我不认为如果你发布它会发生什么坏事,除了不必要地增加你的包大小。但也不会有什么好事发生。

flow-typed 的要点是,如果您使用那些库定义,Flow 不必检查库代码。相反,它采用给定的库定义。如果我使用你的库,我项目中的 Flow 不会对你的库进行类型检查。因此,它不需要了解您的依赖关系。

当然,这也取决于您将库界面发布到 flow-typed。不幸的是,目前还没有使这件事变得简单的工具,但这是正确的做法。如果您只是将源代码发布到 npm,客户可能会使用与您使用的不同版本的 Flow,因此他们可能会看到无法操作的错误消息,这仅仅是由于版本差异(因为几乎每个 Flow 版本都是重大更改)。您可能还有不同的 .flowconfig 选项,即使 Flow 版本匹配也可能导致错误。