generated at
プロジェクトに少しづつStricktNullChecksにを有効にしていく


tsconfigの設定は strictNullChecks: false だけど、VSCode上のエラーは strictNullChecks: true として表示される
jsから移行してきたコードをts用に書き換えていきたいが、規模がでかいので、コンパイルが全く通らないのは辛い
けど、そのファイルを触るときはリファクタの一環としてそこの修正をして、徐々に型安全にしていく
別の言い方をすれば、コンパイルエラーが出てるけどコンパイルは通る状態にさせたい
プロジェクト内に tsconfig.json とは別の設定ファイル tsconfig.srtictNullChecks.json を作る
files の部分に、今から触るファイルをここへ追加していく
ここに書かれたものはstrictNullCheckされる
ここを徐々に増やしていくことで、最終的に完全なものが得られる
ts
{ "extends": "./tsconfig.json", // ←もともとあるtsconfig.jsonのpath "compilerOptions": { "noEmit": true, // コンパイル後、jsファイルを出力しない "strictNullChecks": true }, "files": [] // ここに徐々にファイルを追加していく }
実行
$ tsc -w -p tsconfig.strictNullCheks.json
この方法でやると files に含まれたファイルから参照された先もstrictNullCheckしてるっぽい
2つのスクリプト
えらー
自動で、未strict null checkのやつを一覧化
適格なファイルをstrict null checkプロジェクトに自動的に追加
このやり方は完全に至るまではnullの数は減らない
寧ろ増えることもある
例えば関数宣言の引数の型を変更すれば、それを呼び出してるところ全てに影響が出る
なので、消したエラーの数ではなく、解決したファイルの数で進捗を測る