如何通过babel / webpack保持Flow注释的完整性?

时间:2016-12-16 19:39:31

标签: npm babeljs flowtype

对于具有npm module类型注释的实用程序函数,我有一个私有Flow

我在node v7中开发,在npm publish之前,我使用babel/webpack将其转换为早期node版本,以便在aws lambda等环境中运行。

我使用transform-flow-strip-types babel插件进行编译,但据我了解,这意味着当我将module导入另一个项目时,我会丢失导出函数的静态类型检查。

我尝试babel-plugin-syntax-flow,但它会抛出unexpected token错误,所以我假设这不是它的预期用途。

我可以在保持src完整的同时转换babel w / flow types吗?

类型注释很简单(主要是stringnumber),所以我想避免使用每个函数编写typedef来导出。

1 个答案:

答案 0 :(得分:4)

我看到一篇文章解释了如何实现你所描述的内容:

http://javascriptplayground.com/blog/2017/01/npm-flowjs-javascript/

通过发布将流类型与原始流类型文件一起剥离的javascript,您将在使用库时获得正确的流类型检查。

这是通过将原始文件发布为file.js.flow,将babelified文件发布为file.js来实现的。