https://qiita.com/rana_kualu/items/7eb1acff8f66948b04eb
Denoは、Nodeの作者がNodeの反省を生かして作り上げたランタイムシステムです。 Nodeより高速・高性能で使い方も容易です。
が、いまいち流行ってない理由の大きなひとつがnpmが使えないことです。 Denoユーザの多くが古臭くて非標準的で奇怪なパッケージ管理から開放されたことに歓喜しているそうですが、それはそれとして過去の遺産が使えないので新たなライブラリを探さなければならなず手間がかかります。
またDenoは様々なレジストリが使えることが利点とされていますが、個人的にはこれ欠点だと思っています。 探し回るのなんて面倒だから一か所にまとめてくれよ。
そんなわけで2022/08/15にやっぱnpm対応するわという公式発表がなされました。
と思ったらわずか10日後の2022/08/25に対応したって発表されました。 はえーよ。
ということで以下該当リリースノートの紹介です。 npm以外にも様々な更新が行われています。
Deno1.25がリリースされ、以下のような新機能や変更が追加されました。
・deno init subcommand ・Experimental npm support ・New HTTP server API ・Improvements to startup time ・FFI API improvements
既にインストール済みの場合は、以下のコマンドでアップグレードできます。
初めてであれば以下のコマンドでインストールしましょう。
# MacOS・Linux
curl -fsSL <https://deno.land/x/install/install.sh> | sh
# Windows
iwr <https://deno.land/x/install/install.ps1> -useb | iex
より詳細はこちら。
Denoで新しいプロジェクトを始めるのは、信じられないほど簡単です。 たったひとつのファイルを用意するだけです。 設定ファイルもマニフェストもビルドスクリプトも必要ありません。
他のエコシステムから移動してきたユーザは、このシンプルさに戸惑うかもしれません。
彼らはしばしば、正しいプロジェクト構造を作るための足掛かりとなるツールを探しはじめます。
ということで本リリースでは、基本的なDenoプロジェクトの準備ができるdeno init
コマンドを追加しました。
$ deno init
✅ Project initialized
Run these commands to get started
deno run main.ts
deno test
$ deno run main.ts
Add 2 + 3 = 5
$ deno test
Check file:///dev/main_test.ts
running 1 test from main_test.ts
addTest ... ok (6ms)
ok | 1 passed | 0 failed (29ms)
このコマンドを打つと2つのファイルmain.ts
とmain_test.ts
が生成されます。main.ts
にはDenoプログラムの書き方の基本的な例が、そしてmain_test.ts
にはそのテストの書き方の例が書かれています。
また、引数を指定することで、指定のディレクトリでプロジェクトを初期化することもできます。