保持流类型发布webpack构建

时间:2017-08-15 18:33:48

标签: javascript webpack flowtype

我想将Flow添加到我正在处理的当前项目中。一切都很好。但是,我无法找到一种方法保持类型后建立。我使用的是monorepo结构,我有很多NPM模块。如果模块更改了它的界面或者它的导出函数/类/类型发生了变化,我想得到一个错误。

非常欢迎任何想法/指导!

谢谢!

2 个答案:

答案 0 :(得分:1)

如果你坚持其他人,包括你编译的包而不是源文件,你需要包含一个提供所有外部类型接口的.js.flow文件。 Here's the interface file for Immutable.js as an example

除非您的库具有某种构建复杂性,需要分发其编译资产,否则我将依靠lib的使用者自行编译和删除类型。

答案 1 :(得分:1)

Webpack将JS文件捆绑到一个输出文件中,它无法在输出包中保留Flow类型。

如果要保留Flow逻辑以与一起使用此捆绑包,目前的最佳做法是将原始源代码包含为.js.flow个文件。 This blog post详细阐述了这种方法,但简短版本是,您使用flow-copy-source输出一堆与原始源代码匹配的.js.flow个文件。