Node.jsがTypeScriptの実行をサポート!v23.6.0でデフォルトで有効化

TypeScriptのサポートがデフォルトで有効化されたNode.js v23.6.0がリリースされました。Enumなどの一部の機能を除くTypeScriptの基本的な機能を、ts-nodeやtsxなどのサードパーティのライブラリーなしで実行できるようになりました。
これまでも、Node.jsで次のように--experimental-strip-types
フラグを有効化することでTypeScriptを実行できました。
Node.js v23.6.0では、このフラグがデフォルトで有効化されており、特別な設定なしでTypeScriptを実行できるようになりました。
# < 23.6.0node --experimental-strip-types index.ts
# >= 23.6.0node index.ts
なお、--experimental-strip-types
フラグはあくまでTypeScriptの型情報をコメントとして無視するだけの機能なので、型チェックは実行されません。変換が必要なEnumやNamespaceなどの機能を使いたい場合や、型チェックを実行したい場合は、引き続きサードパーティのライブラリーを利用する必要があります。
この機能はデフォルトで有効化されたものの引き続き試験的な機能という扱いのため、将来的に変更される可能性があります。
ほとんどのバージョンのTypeScriptで動作するものの、v5.7移行のTypeScriptで次のようなtsconfig.json
を利用することが推奨されています。
{ "compilerOptions": { "target": "esnext", "module": "nodenext", // import文で`.ts`拡張子を記述できるようにする "allowImportingTsExtensions": true, // tscでのコンパイル時に`.ts`拡張子を`.js`に変換する "rewriteRelativeImportExtensions": true, // 型情報のインポートに`type`修飾子を強制することで、Node.jsが何を型として無視できるのかを明示する "verbatimModuleSyntax": true }}
参考リンク
- Node.js — Node v23.6.0 (Current)
- Modules: TypeScript | Node.js v23.6.0 Documentation
- Announcing TypeScript 5.7 - TypeScript
更新履歴
- 2025年1月10日18時15分:タイトルを修正