案件対応が忙しく、今年は記事の投稿が思うようにできていません、、すみません。。。
ということで、久々の記事投稿は、「TypeScript 4.9 Beta」が2022年9月23日にリリースされました。という話です。

TypeScript 4.9 Beta

「TypeScript 4.9 Beta」が2022年9月23日にリリースされました。👏

TypeScript 4.9 Betaで追加された5つの新機能

 「TypeScript 4.9 Beta」では、5つの新機能が追加されたと発表されています。

  • The satisfies Operator
  • Unlisted Property Narrowing with the in Operator
  • Checks For Equality on NaN
  • File-Watching Now Uses File System Events
  • Correctness Fixes and Breaking Changes

追加された5つの機能には、satisfiesオペレーターやinオペレーターなど気になる機能があるのですが、「File-Watching Now Uses File System Events」は頭の片隅に入れておきたいなぁと思いましたので、備忘録として軽く残しておこうと思います。

4.9で変更されたTypeScriptのファイル監視

これまでのTypeScriptのバージョンでは、個々のファイルを監視する為にポーリングを使用してきました。
ポーリングですので定期的にファイルをウォッチしにいくのですが、少数のファイルをポーリングする場合は大した気にもならないCPUの稼働率も、大量のファイルを監視するような大規模システムでは、監視するファイル量に比例し消費するCPUリソースも大きくなり、ノード選択の際のサイジングの工数やノードのコストなど考慮しなければならず、また、ローカルで開発している際も、開発しているマシンのCPUリソースが占有され、非力なPCでは役に立たない等の悩みがでてくることがありました。

そんなちょっとした背景がありつつ、今回リリースされた「TypeScript 4.9 Beta File-Watching Now Uses File System Events」では、ファイル監視をファイルシステムイベントのイベントベースでウォッチし、ウォッチャーの設定に失敗した場合のみポーリングを使用します!と説明されています。


「失敗した場合のみポーリングを使用します」。これによって、Visual Studio や VS Codeで開発者が開発している場合もCPUリソースを大量消費することなく非力なPCでも開発ができるようになるようです。

これは大規模システムを開発する多くのDevにとっては、有難い新機能ですね。^^

余談ですが、ファイル監視の動作については、環境変数を編集してあげることで、変更することができるようです。(特に変更する理由もなさそうですが、、、)

余談 TypeScript4.9のインストール方法 

今回発表されたTypeScript4.9も、それ以前のTypeScriptも、NuGetもしくはnpmを使ってインストールすることができます。NuGetは正直、テストでしか使用していないので、よくわかりませんが(;’∀’)、いつもは手軽なnpmでさくっとインストールしてしまっています。

npmのインストール方法

npm install -D typescript@beta

NuGetのインストール方法

NuGet\Install-Package Microsoft.TypeScript.MSBuild -Version 4.8.3

せっかくTypeScript 4.9 Betaがリリースされたことでもありますし、時間のあるときにでも、TypeScript 4.9 Betaをインストールし、遊んでみようと思います。

今日も一日、頑張りましょう!