【備忘】【TypeScript】tsconfig.jsonとかbabel.config.jsonとかって何?


記事の意図

tsconfig.jsonとかbabel.config.jsonとか何をしているのか不明だった。
だから、ざっくりと理解する。

TSCとBabelの共通機能

TSCもBabelも「TypeScritpからJavaScript」へのトランスパイル(翻訳作業)をしてくれる。

  • TSCによる翻訳作業のルールを記述するのが、tsconfig.json。
  • Babelによる翻訳作業のルールを記述するのが、babel.config.json。

(もちろんトランスパイルするだけではなく、他にもいろいろしてくれるけどざっくりとそう理解しました)

ここで新たな疑問

なんでtsconfig.jsonとbabel.config.jsonが両方あるの?

TSCとBabel、それぞれの特徴を生かして、役割分担をしているから

Using Babel with TypeScriptを読んでだいぶすっきりしました。

TSCとBabelはトランスパイル機能を持つけれど、それぞれに特徴がある。

TSC vs Babel

.d.tsの作成 トランスパイル時の型チェック ビルドパイプラインを作成
TSC ×
Babel × ×

※.d.tsファイル(宣言ファイル)、ビルドパイプラインについては割愛

ざっくり、このような特徴があるらしい。

これらすべての機能を使いたいから、TSCもBabelも採用しているプロジェクトが多いとのこと。

おわりに

tsconfig.jsonとbabel.config.jsonが両方ある理由がわかりました。
ざっくりと理解したので触りながら、その機能を少しずつ確かめていきます。