flow
flowtype

【flowtypeの.flowconfigで行うべき設定(options編)】

【目的】

flowtypeの.flowconfigで行うべき設定のうち、[options]に特化した内容を読み解く。

本家のサイト: https://flow.org/en/docs/config/options/

【options】

(1) all (boolean)

全ファイルチェック。

(2) emoji (boolean)

Flowが出力するステータスメッセージに絵文字挿入。

(3) esproposal.class_instance_fields (enable | ignore | warn)

インスタンスフィールドに対する許可。
(本家のサイトには「pending spec」によるインスタンスフィールドと書かれている。)

(4) esproposal.class_static_fields (enable | ignore | warn)

静的フィールドに対する許可。
(本家のサイトには「pending spec」による静的フィールドと書かれている。)

(5) esproposal.decorators (ignore | warn)

デコレーターに対する許可。
デコレーターとは、関数合成や高階関数で表現される「装飾」を指す。

(6) esproposal.export_star_as (enable | ignore | warn)

「export * as」という記述に対する許可。

(7) esproposal.optional_chaining (ignore | warn)

Optional Chainingに対する警告。

※ Optional Chainingとは、値がnilの可能性があるものへのアクセスの仕組みのこと。

(8) experimental.const_params (boolean)

関数内で定義するパラメータをconst宣言として扱うかどうか。

(9) include_warnings (boolean)

Flowコマンドでエラーが出力される際に、警告も出力させるかどうか。

(10) log.file (string)

ログファイルのパスを指定する。

(11) max_header_tokens (integer)

Flowがコメントブロックを参照してflowシンタックスかどうか判断する際に読み取るファイル数を指定する。

※ dockblockとは、/*や/で囲まれたコメントブロックのこと。

(12) module.file_ext (string)

Flowは、デフォルトで.js、.jsx、.json拡張子を参照する。このデフォルト設定を上書きする際に指定する。

(13) module.ignore_non_literal_requires (boolean)

require()の使用。trueに設定した場合、Flowはrequire()に対してエラーを出さない。

(14) module.name_mapper (regex -> string)

モジュールの名前が正規表現でマッチした際に、任意で定めた名前に置き換えるように設定することが出来る。

(15) module.name_mapper.extension (string -> string)

拡張子が正規表現でマッチした際に、任意で定めた拡張子に置き換えるように設定することが出来る。

(16) module.system (node | haste)

モジュールシステムの設定。

※ hastはReact Nativeで使用する。

(17) module.system.node.resolve_dirname (string)

Flowはデフォルトでnode_modulesを参照する。これを変更したい場合に設定する。

(18) module.use_strict (boolean)

“use strict”を使うかどうか。trueに設定した場合は使用することが出来る。

(19) no_flowlib (boolean)

Flowが自身のビルトインで持つ型情報を無視するかどうか。(デフォルトはfalse)

(20) server.max_workers (integer)

オリジンとパスに対して登録されたイベント駆動型のworker(サービスワーカー)の最大数。

(21) sharedmemory.dirs (string)

Linuxのみ設定可能。

(22) sharedmemory.minimum_available (unsigned integer)

Linuxのみ設定可能。

(23) sharedmemory.dep_table_pow (unsigned integer)

テーブルのメモリ依存を変更する。

(24) sharedmemory.hash_table_pow (unsigned integer)

ハッシュテーブルのサイズを変更する。

(25) sharedmemory.log_level (unsigned integer)

1を設定すると、Flowは、シリアライズ(直列化)、デシリアライズ(非直列化)の統計を出す。(デフォルトは0)

(26) strip_root (boolean)

Flowがエラーを出す際に、ルートディレクトリを露呈するのに使う。

(27) suppress_comment (regex)

Flowによるチェックをスキップさせるのに使用する。

(28) suppress_type (string)

any型で暗黙的な型変換を行う代わりに、独自の型設定を行うことが出来る。

(29) temp_dir (string)

tempディレクトリのパスを設定する。使用する場合は、flowコマンドを打つ際に「--temp-dir」オプションを付ける。

(30) traces (integer)

全エラーをトレースするかどうか。(重いため、推奨はトレースさせない設定である。)

(31) unsafe.enable_getters_and_setters (boolean)

setterとgetterへの許可。