Deno DeployでNode.jsアプリが実行可能に、Node.jsビルトインモジュールのサポートで
今回は「Deno DeployでNode.jsアプリが実行可能に、Node.jsビルトインモジュールのサポートで」についてご紹介します。
関連ワード (下記、環境、開発元等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
オープンソースのJavaScript/TyeScriptランタイム「Deno」の開発元であるDeno Landは、同社が提供しているDenoの分散ホスティングサービス「Deno Deploy」がNode.jsビルトインモジュールをサポートしたことで、Node.jsのアプリケーションがそのまま実行可能になったことを明らかにしました。
Announcing Node.js built-ins support in Deno Deploy
Starting today, all Node.js built-in modules like `fs`, `path`, and `http` can be imported and used on Deno Deploy.
This means: you can now run Node.js programs at the edge.
https://t.co/ub5nCheMLW
— Deno (@deno_land) May 26, 2023
Node.jsにはビルトインモジュールとしてHTTPサーバ機能を提供する「http」、ファイルシステムを扱う「fs」、ファイルのパスを扱う「path」など、よくアプリケーションで使われる機能が用意されています。
今回の発表は、このビルトインモジュールがDeno Deployでサポートされたことです。下記はDenoのブログ「Node.js built-ins on Deno Deploy」で示されたコードの例(上記ツイートの図の左側)。
Node.jsのビルトインモジュールは47種類あり、そのどれもがサポートされますが、Deno Deployはサンドボックス化された環境で実行されるため、プロセスの生成などに関連する「child_process」「worker_threads」「vm」については機能制限されていると説明されています。