npm模块如何提供自己的Flow libdef开箱即用?

时间:2017-03-31 12:46:05

标签: flowtype

我编写了一个带有Flow类型注释的npm模块。它的.flowconfig文件包含unsafe.enable_getters_and_setters=true,因为它在内部使用了getter和setter。

但问题是依赖于我的模块(并使用Flow本身)的任何人都需要设置相同的选项以避免Flow在输入 我的模块时抱怨他们的项目。

我想做什么(以及我希望可能做到的)是提供一个开箱即用的libdef文件,并且优先于我的源代码,所以任何依赖的Flow只会查看我的libdef并不会查看我的代码并抱怨使用getter / setter。

有人可以解释一下如何做到这一点吗?我的猜测是我应该创建一个与任何.js.flow文件相对应的.js文件,并将其与我的模块一起发布,然后这将优先,并阻止Flow查看原始{ {1}}文件。 (也许应该可以自动生成我的.js libdef文件..?)但我找不到任何相关的信息。

docs网站很棒,但它似乎没有解释如何做到这一点。 .js.flow文件扩展名的单个mention是指向JS .js.flow的链接:)

1 个答案:

答案 0 :(得分:1)

您可以在此输入您的包并发布:https://github.com/flowtype/flow-typed。使用flow-typed工具,您可以为包生成完整存根,然后填写类型。

或者,如果您的包的主要内容是index.js并包含所有导出 - 您可以创建index.js.flow并为其中的所有导出定义类型。