Edited at

React NativeプロジェクトでFlowのよる型チェックが「Flow: Waitng for diagnostics」と表示され実行されない場合の対処方法

More than 1 year has passed since last update.


概要

React NativeのプロジェクトをReact Native CLIで新規作成し、Nuclideで開発を始めると以下のように「Flow: Waitng for diagnostics」と表示されFlowによる型チェックが実行されませんでした。

Kobito.KlbxZW.png

この記事は型チェックが正常に動くまで行ったことのメモです。


対処方法


1. Flowのバージョンを最新に更新

Flowのバージョンが0.37.4であったので最新に更新します。

$ brew upgrade flow

$ flow version
Flow, a static type checker for JavaScript, version 0.38.0

Flowのバージョン最新にした結果問題は解決せず、Flowのバージョンが問題ではありませんでした。


2. .flowconfigを更新

ReactNativeプロジェクトの.flowconfigを確認します。今回作成したプロジェクトでは以下のようになっていました。


.flowconfig

[version]

^0.36.0

どうやら.flowconfigで指定したバージョンとローカルにインストールしたFlowのバージョンが異なっていたのが原因のようです。

指定するバージョンを^0.38.0に変更します。


.flowconfig

[version]

^0.38.0

Nuclideをリスタートすると正常に型チェックが動作しました。

image


まとめ


  • .flowconfigでFlowのバージョンを指定する場合ローカルのFlowのバージョンと合わせる

  • Flowのバージョンが古い事は直接の原因では無かったが、常に最新のバージョンを使う用にする


    • 問題が発生した時に原因を切り分けやすくなる




参考