【问题标题】:should you publish your flow-typed folder to NPM?您应该将流式文件夹发布到 NPM 吗?
【发布时间】:2017-10-06 05:52:04
【问题描述】:

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

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

【问题讨论】:

    标签: node.js reactjs npm flowtype flow-typed


    【解决方案1】:

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

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

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

    【讨论】:

    • 优秀。 ..我实际上有一个先前的问题,我刚刚意识到已回答有关.flowconfig 的问题,如果用户没有,例如$FlowFixMe,则会导致错误。 ...另外,我使用flow-copy-source,这样我的流文件也在分布式包中——应该可以代替发布到flow-typed,对吗?
    • 这在许多情况下应该可以工作,但由于配置差异(正如您在该问题中所述)或 Flow 版本的差异,它不会 100% 可靠。唯一可以确定的方法是将您的 typedef 发布为流类型,并让您的库的使用者从那里获取它们。不幸的是,正如我所指出的,尚不存在使这一切变得容易的工具。
    • 我会为这个问题添加一个答案
    猜你喜欢
    • 1970-01-01
    • 2010-12-06
    • 2013-11-28
    • 2019-06-17
    • 2021-01-21
    • 2023-04-03
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多