TL;DR

Ryan Dahl が Node.js の反省を踏まえて作った、JavaScript / TypeScript のランタイム。WebAssembly も実行できる。

仕組み

.ts ファイルを、tsc やビルド手順、設定なしでそのまま実行できる。

デフォルトで安全に動くよう設計されている。コードはサンドボックスの中で動き、許可を与えるまでファイル、ネットワーク、環境変数にアクセスできない。

HTTP サーバは Deno.serve で立て、Web 標準の Request と Response を使う。フォーマッタ(deno fmt)、リンタ(deno lint)、テストランナー(deno test)、タスクランナー(deno task)なども本体に含まれており、追加のパッケージを入れる必要がない。

package.json と node_modules を持つ Node.js のプロジェクトもそのまま動かせる。npm: での import と ES Modules を混ぜられるので、少しずつ移行できる。

関連

出典