ts-node/registerからswc/registerに鞍替えした
2022-01-28
.tsファイルを中間ファイル作らずにそのまま node で実行したいので。
観点
速度
実はtype checkingをオフにすればそんなに速度は変わらない
参考: ts-node の代わりに esbuild-register を使ってスピードアップ
とはいえ速い
依存パッケージ量
これを優先した。間接的に依存することになるパッケージの数が少ないことから@swc/registerを選んだ
ts-node: https://www.npmjs.com/package/ts-node
dependencies: 12
@swc/register: https://www.npmjs.com/package/@swc/register
dependencies 3
孫、ひ孫依存まで考えると単純に12と3ではないけども、サプライチェーンが拡大していることに気づかないリスクは減らせるところは減らしたい
esbuild-registerとの比較
上記2つの観点では大差なかったが、swcは .swcrc でコンフィグしやすい一方で esbuild-registerはまだ任意のtsconfig.jsonを参照させることができず、@swc/registerを選ぶに至った
また、@swc/registerはそのスコープのとおり1st Partyであるが、esbuild-registerはまだ3rd Partyである