「Deno 1.7」が公開、deno compileを強化

 JavaScript/TypeScript向けの安全なランタイム「Deno」の開発チームは1月20日、「Deno 1.7」を公開した。deno compileの強化などが加わっている。

 DenoはRustで構築したJavaScript/TypeScript向けのランタイム。V8をベースとし、単一の実行ファイルとして提供する。明示的に指示しない限りファイル、ネットワーク、環境にアクセスしないなど安全性を特徴とし、依存性インスペクタ、コードフォーマッタなどのツールを含む。Deno 1.7は、2020年12月に公開されたDeno 1.6に続く最新版。

 1.6で導入した単一のバイナリを生成するコマンドdeno compileを強化し、クロスコンパイルをサポートした。サポートするアーキテクチャ(Windows x64、MacOS x64、Linux x64)間でクロスコンパイルができ、例えばWindowsとMacOS向けのバイナリを単一のLinux CIマシンから作成する、などのことできる。

 deno compileではまた、生成するバイナリのサイズも、1.6と比較して40〜60%小さくなった。また、ビルドインでCA証明書、カスタムV8フラグなどを含むバイナリを生成できるようになった。

 インラインでファイルを文書に埋め込むData URLで、インポート(静的と動的)とWeb Workersで利用できるようになった。新しいAPIとしてDeno.resolveDnsが加わった。DNSリゾルバからDNSレコードのクエリができる。現時点では、UDP/TCP上のDNSのみで利用でき、HTTPSやTLSはサポート対象外。レコーとはA、AAAA、ANAME、CNAME、MX、PTR、SRV、TXTを利用できる。Deno.emit APIを導入、TypeSceriptコンパイラにアクセスするための安定扱いではない3種類のAPI(Deno.transpileOnly、Deno.bundle、 Deno.compile)をリプレースするものとなる。フォーマッタdeno fmtで、マークダウンファイルのフォーマットをサポート、JavaScriptとTypeScriptのコードブロックのフォーマットができる。stdinからコードのフォーマット時にファイル拡張を特定する新しいフラグ–extも加わった。js、jsx、ts、tsx、mdのファイル拡張形式をサポートする。

 このほかにも、非同期ランタイムライブラリTokioの0.2から1.0へのマイグレーション、TLSセッションキャッシュのサポートなど、多数の強化が加わっている。

Deno
https://deno.land