TypeScriptのビルドが「重い」と感じたら?`skipLibCheck`で開発体験をグッと軽くしよう
こんにちは!TypeScriptの世界へようこそ。
日々コードを書いていると、保存ボタンを押したあとの「くるくる回るローディング」や、ビルド完了までの待ち時間が少しずつ気になってくる時期があるはずです。
「たった数行変えただけなのに、なんでこんなに待たされるの?」
そう思ったこと、一度はありますよね。実は、TypeScriptはあなたの書いたコードだけでなく、「世界中の誰かが作ったライブラリ」の隅々まで、毎回律儀にチェックしすぎている可能性があるんです。
今日は、そんなストレスを解消して、開発をサクサク進めるための魔法のスイッチ『`skipLibCheck`』についてお話しします。
—
「全部チェックしなきゃダメ?」という素朴な疑問
想像してみてください。あなたは今、料理を作ろうとしています。
レシピ(あなたが書いたコード)を確認するのは当然ですが、もし「使う調味料の瓶すべてについて、成分表から製造工程まで毎回隅々まで読み直さないと料理を開始してはいけない」というルールがあったらどうでしょう?
……めちゃくちゃ疲れますよね。しかも、調味料(ライブラリ)はプロが作ったものだから、基本的に安全なはずです。
TypeScriptのビルドもこれと同じなんです。
標準で、TypeScriptは「あなたが使っている便利なライブラリ(`node_modules`の中身)」も、毎回欠かさず型チェックをしています。これがビルドが重くなる大きな原因の一つです。
そこで登場するのが `skipLibCheck` です
この設定を「オン」にすると、TypeScriptにこう伝えます。
「外部のライブラリはプロが作ったものだから、とりあえず信じるよ!中身のチェックはスキップして、僕が書いたコードのチェックに集中してくれ!」
この判断が、ビルドの高速化に直結します。
—
設定はたったの1行。tsconfig.jsonを開いてみよう
プロジェクトのルートディレクトリにある `tsconfig.json` を開いてみてください。`compilerOptions` という項目のなかに、以下のように書き加えるだけです。
{
“compilerOptions”: {
// 他の設定が並んでいるはずです
“target”: “esnext”,
“module”: “commonjs”,
// これが今回の魔法のスイッチ!
// trueにすることで、ライブラリの型チェックをスキップします
“skipLibCheck”: true
}
}
たったこれだけ?と思うかもしれませんが、大規模なプロジェクトになればなるほど、この設定一つでビルド時間が数秒〜数分短縮されることも珍しくありません。
—
「スキップして大丈夫なの?」という不安への回答
「チェックをサボったら、エラーを見逃すんじゃないか……」と不安になる方もいるかもしれません。
でも、安心してください。
あなたが書いたコード自体には、これまで通り厳格なチェックが行われます。スキップされるのは、あくまで「信頼のおける外部ライブラリ」の型定義ファイルだけです。
もし万が一、ライブラリ側に問題がある場合でも、基本的にはそのライブラリの作者が修正すべき領域です。私たちが毎日そのチェックに時間を費やす必要はありません。
まとめ:開発はもっと軽やかでいい
TypeScriptは堅牢で素晴らしい道具ですが、真面目すぎてたまに空回りしてしまうことがあります。そんな時は、今回紹介した `skipLibCheck` のように、「どこを頑張って、どこを信じるか」というバランスを調整してあげることが大切です。
- ビルドが重いなと感じたら、まずは `skipLibCheck: true` を試す。
- これだけで、あなたの待ち時間が減り、コードを書くリズムが良くなる。
これだけで、開発体験(DX)は劇的に向上します。
最初は設定ファイル一ついじるのも怖いかもしれませんが、大丈夫。エンジニアとしての経験値が一つ上がった証拠です。
それでは、軽くなったビルド速度で、快適なコーディングライフをお楽しみください!また何か詰まったら、いつでも聞きに来てくださいね。

コメント