node.js - 您应该将流程类型文件夹发布到 NPM 吗?

标签 node.js reactjs npm flowtype flow-typed

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

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

最佳答案

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

流类型的要点是,如果您使用这些库定义,Flow不必检查库代码。相反,它采用给定的库定义。如果我使用你的库,我的项目中的 Flow 不会对你的库进行类型检查。因此,它不需要了解有关您的依赖项的任何信息。

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

关于node.js - 您应该将流程类型文件夹发布到 NPM 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43844062/

相关文章:

javascript - React 组件设置其子组件的 onClick ...如何使其适用于所有类型的子组件

node.js - 如何制作一个全局可访问的nodejs cli

javascript - 如何返回 Azure 函数的结果

javascript - 如何防止 gulp-notify 在 Windows 中破坏 gulp-watch?

node.js - 如何设置 Mongoose 查询的超时时间?

npm - 更新到最新的 npm 包时面临 dot-prop 的漏洞安全问题

node.js - 如何从命令行使用 Node 模块?

javascript - 类型错误 : user. 比较密码不是函数

reactjs - 下面两个setState有什么区别

javascript - antd水平子菜单 "floating"