Deno 1.5 リリースノートメモ
Deno1.5が一昨日(10/28)にリリースされました。
REPLのシンタックスハイライトが効くようになったり、alert、confirmなどのAPIが入って対話型プログラムが書けるようになりました。
メモとして見ていこうと思います。
Denoってなに?
Denoとは、Node.jsの開発者であるRyan Dahl 自身によって作られた、新しいJavaScriptとTypeScriptのランタイム環境 です。
Node.jsで感じていた課題感などを踏襲して新たに作られています。
詳しくは下記をご参照ください。
バンドラーの改善
Deno1.5は、全体的なTypescriptコンパイラの構造が見直され、swcに基づく新しいバンドラーとして大きく改善されています。
1.4と比較して、コードの型チェック時のパフォーマンスが3倍向上し、 --no-check フラグを用いると最大15倍ほどの差が出るようです。
また、1.5で加わったバンドラーではTree Shakingできるようになり、バンドルファイルのサイズも大幅に縮小されるようになります。
WEB標準の対話型APIの追加
WEBブラウザにおける対話型APIである alert、confirm、prompt が同機能としてDenoにも加わりました。
・ alert ... コンソールにメッセージを記録し、Enter押下まで同期的にブロックします。
・confirm ... コンソールにメッセージを記録し、ユーザにy or n の応答を期待します。
・prompt ... ユーザに入力を期待し、テキスト入力&Enter押下まで同期的にブロックします。
以下、例になります。(公式のサンプルのままです)
let name: string | null = "";
while (true) {
// テキスト入力待機
name = prompt("あなたのお名前はなんですか?");
// y or n の確認
if (confirm(`${name}さんでお間違い無いですか?`)) {
break;
}
}
// Enter押下まで待機
alert(`${name}さん、お待ちしてました!`);
結果はこのようになります。
簡単な対話型のプログラムはさくっと作れそうですね。
REPLの改善
DenoのREPLにおいて、タブ補完やシンタックスハイライトの追加、トップレベルawaitなどが追加になりました。
例として、REPLで簡易なAPI を叩いてみます。(GIFのnoteへの反映が上手くいかなったのでリンクで...)
タブで補完が効き、シンタックスハイライトが効いているのが分かります。
また、トップレベルでそのままawaitを扱うことができてますね。
Denoはマイナーバージョンが毎月アップデートしている段階で、先月(9/14)にも1.4がリリースされ、WEB標準のWebSocket APIが加わったり、ファイルチェンジのwatch機能が追加されたりと活発に開発が進んでいます。
こちらにバージョンアップなどのNewsが上がるので、ご興味ある方は定期的に覗いてみると良さそうです。
この記事が気に入ったらサポートをしてみませんか?