如何通过 Babel/Webpack 保持 Flow 注释完整?

How do I keep Flow annotations intact through Babel/Webpack?

我有一个私有 NPM 模块,用于带有 Flow 类型注释的实用函数。

我在 Node v7 中开发,在 npm publish 之前,我使用 Babel/Webpack 将其转换为较早的 Node 版本,在 AWS Lambda 等环境中 运行。

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

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

我可以用 Babe 转换我的 src/,同时保持 Flow 类型不变吗?

类型注释很简单(stringnumber,大部分),所以我想避免编写 typedefs 来导出每个函数。

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

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

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

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