npm互換が強化されたDeno 1.29リリース。独自npmレジストリのサポート、REPLでのnpmサポートなど
オープンソースのJavaScript/TyeScriptランタイム「Deno」の最新版となる「Deno 1.29」がリリースされました。
Deno 1.29では、前バージョンの1.28から対応を開始したnpm モジュールに対する互換性の向上、独自npmレジストリのサポート、REPLでのnpmサポートなど、多くのアップデートが行われています。
The biggest updates in 1.29 pic.twitter.com/Fv5RMRhQgc
— Deno (@deno_land) December 19, 2022
npm対応へと方針変更をしたDeno
DenoはNode.jsよりも優れたサーバサイドのJavaScript/TypeScript環境を新たに作るというコンセプトで開発を開始したため、開発当初からあえてNode.jsとの互換性を考慮していませんでした。そのためにNode.js用のソフトウェアパッケージ機能であるnpm(Node Package Manager)にも対応しませんでした。
しかしDenoよりも後発のJavaScript/TypeScriptランタイムのBunがnpmに対応し注目されたことで、Denoも今年(2022年)8月に方針を変更し、npmに対応することを発表します。
参考:Denoが大幅な方針変更を発表。3カ月以内にnpmへの対応を実現、最速のJavaScriptランタイムを目指しHTTPサーバを刷新
そして発表から3カ月後の11月にリリースされたDeno 1.28でnpmに正式対応しました。
参考:Deno 1.28登場、npm対応が安定版に到達。130万種以上のnpmモジュールを利用可能に
Deno 1.29ではnpmへの対応強化など
今回リリースされたDeno 1.29では、npm対応における30以上のバグを解消してnpmの互換性をさらに改善しています。
また、環境変数「NPM_CONFIG_REGISTRY」を設定することで、標準のnpmレジストリ以外の独自npmレジストリを利用することも可能になりました。
Denoをインストールする「deno install」コマンドの引数としてnpmモジュールを指定することが可能になり、Denoインストール時にnpmモジュールも同時にインストールできるようになっています。
Denoを対話的に操作するREPLでもnpmを組み込んで実行できるようになりました。
$ deno
> import cowsay from "npm:cowsay"
undefined
> console.log(cowsay.say({ text: "hello world" }))
_____________
< hello world >
-------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
undefined
>
その他多くの強化や改善が行われています。詳細は「Deno 1.29: Custom npm registry support」をご覧ください。
あわせて読みたい
GitLab、Visual Studio CodeベースのWeb IDEをβ版として提供開始。ターミナルからリモート環境へアクセス可能に
≪前の記事
AWS、「Amazon EKS Anywhere」のNutanix対応を発表。ハイパーコンバージド上でAmazon EKS Anywhere互換を実現