私はいくつかのビジネスロジックをいくつかのjsアプリケーションで消費する共有npmパッケージを持っています。 srcにes6 +フローソースファイルがあり、libにビルドされたバニラjsファイルがあり、パッケージのメインはlib/index.jsに設定され、表示されるべきものをエクスポートします。Flowtype:型指定されたユーザーと型指定されていないユーザーの両方のパッケージですか?
フロータイプを使用してパッケージを書き直すのに数日間を費やしました。これによってコードの一部が完成し、いくつかの問題の検出に役立ちました。それは素晴らしい、タイプチェックを動作し、テストが合格します。 Babelはすべてのフロービットを削除して、パッケージを必要とするクライアントはまだjsでプレーンファイルを取得して正常に動作します。
しかし、私はこのパッケージのクライアントに(オプションで)関数の型シグニチャを取得し、呼び出しが正しくタイプされていることを確認します。 I は宣言ファイルを書くことができますが、型はすでに元のpre-babelソースコードに入っているので愚かなようです。同時に、一部のクライアントがフローやバベルを使用していない可能性があるため、そのソースを提供するだけではありません。そして、私はむしろ、正確なソースファイルのパスを知っているとrequire('my-package/src/the-piece-i-want')
に持つようになるタイプを望む人々を持っていないと思いますrequire('my-package')
は単なるノードに対しての両方を動作するように流れを持つパッケージを書くための標準的な方法はありますユーザとbabel + flowユーザのタイプチェックも可能ですか?もしそうでなければ、この問題を抱えている他の人々は何ですか?