🖊
前回 の続きのようなもので、Node 22.6 で --experimental-strip-types
が入ったので swc-node を使う必要がなくなりました。次のようなコマンドで、 Node の組み込みテストランナーを使って TypeScript のテストが実行できます。
$ node --experimental-strip-types --watch --test 'src/**/*.test.ts'
ただしすんなり動くわけではなく、やはりモジュールの解決周りで調整が必要になります。ここに詳しく解説するスペースはないので、詳しく知りたい方はリンクを参照してください。
前回はコード上では .js
を省略しない import とし、bundler 側で辻褄を合わせていました。--experimental-strip-types
の場合は現状では .(m)ts
が省略できなくなるので、コード上の import を .ts
に書き直しました。このままだとエディタ上でエラーとなってしまうため、 tsconfig.json
で allowImportingTsExtensions
と noEmit
を立てます。
{
"compilerOptions": {
"allowImportingTsExtensions": true,
"noEmit": true
}
}
また、namespace
や enum
のような、型の表現以外の TypeScript のコードを実行するには別途 --experimental-transform-types
が必要です。今回は必要ないコードしかなかったので指定しませんでした。