JavaScriptランタイム「Bun v0.5」登場。MySQLやPostgreSQLのデータベース接続対応、新機能「Workspaces」、Bun.dnsなど搭載

今回は「JavaScriptランタイム「Bun v0.5」登場。MySQLやPostgreSQLのデータベース接続対応、新機能「Workspaces」、Bun.dnsなど搭載」についてご紹介します。

関連ワード (互換性、最初、追加等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


サーバサイドで実行可能なJavaScriptランタイム「Bun」の最新バージョン「Bun v0.5」がリリースされました。

Introducing Bun v0.5

– bun install workspaces && bun install bugfixes
– postgres, mysql, redis & more DB-related npm pkgs work in bun now
– Bun.dns && some of node:dns, node:net, & node:tls
– new WebSocket supports headers
– HTTP client proxy supporthttps://t.co/TMoXr781QP

— Jarred Sumner (@jarredsumner) January 18, 2023

BunはNode.jsやDenoといったJavaScriptランタイムの競合と位置づけられているオープンソースのソフトウェアです。

JavaScriptエンジンにはSafariに搭載されているJavaScriptCoreを採用。Node.jsとの互換性を実現するためにNode.jsの主要なAPIやNode.jsのモジュール依存関係解決アルゴリズムも実装し、内蔵するnpmクライアントにより高速にnpmパッケージを読み込んで利用できるようになっています。

さらにバンドラ、トランスパイラ、タスクランナーなどの機能が最初から統合されており、TypeScript/JSXトランスパイラによってTypeScriptファイルをそのまま読み込んで実行できるなど、JavaScriptランタイムとして先行するNode.jsのエコシステムやDenoの利点を取り込みつつ、さらに機能を発展させています。

その上で、開発言語としてZigを採用し、メモリ管理などを含む低レイヤでの実装を実現することで、他のJavaScriptランタイムと比較して高速な動作を実現していると説明されています。

PostgreSQLやMySQLとの接続もサポート

Bun v0.5では「node:dns」や「node:tls」などによるソケット通信をサポート。これによりNode.jsとの互換性が向上し、npmとして実装されたデータベースドライバなどが動作するようになりました。

具体的にはPostgres.jsによるPostgreSQLとの接続やmysql2によるMySQLとの接続、Node.js clientによるRedisとの接続などが可能になっています。

複雑なソフトウェアを簡単にする新機能Workspaces

新機能として、package.jsonのなかでWorkspacesと呼ばれる機能が使えるようになりました。

「Workspaces make it easy to develop complex software as a monorepo consisting of several independent packages. 」(ワークスペースを利用することで、複雑なソフトウェアを複数の独立したパッケージからなるモノレポとして簡単に開発することができます)と説明されており、コードを複数の部品に分解できること、そして依存性の重複を避けることなどが可能になるとのことです。

Workspacesには今後、名前を付けられるようになる予定。

またドメイン名を解決するBun.dnsおよびNode.jsとの互換性のためのnode:dnsなどの機能も追加されています。

その他詳しい情報については「Bun v0.5」をご覧ください。また、Bun v0.5のリリースの2日後にはBun v0.5.1が早くも登場しています。

Bun v0.5.1

– bun install now supports aliasing package.json dependencies
– fixed buffer encoding regression
– fetch() wasn't wired up to $HTTP_PROXY, now it is
– const f = require; f("a") didn't work
+ couple more bugfixeshttps://t.co/1NIBbdnXvV

— Jarred Sumner (@jarredsumner) January 20, 2023

COMMENTS


Recommended

TITLE
CATEGORY
DATE
美しいが作りづらい「ゼリーの中に咲く花」、フード3Dプリンタで手軽に 東大、「Flower Jelly Printer」開発 :Innovative Tech(1/2 ページ)
イラスト・デザイン
2021-08-13 18:13
週休3日制をテストする組織が増加–新しい働き方の可能性と課題
IT関連
2022-05-14 17:34
ビットコインを筆頭に暗号資産市場が急降下
ブロックチェーン
2021-04-25 04:44
TikTokと東宝がタッグ 「“縦型動画”にまだ開拓の余地がある」──映画祭でクリエイター発掘狙う
企業・業界動向
2021-04-09 14:04
アップルがiPhoneエミュレーションソフトメーカーCorelliumへの訴訟を取り下げ
ソフトウェア
2021-08-13 12:06
ペンタゴンとシリコンバレーのパートナーシップを再起動
IT関連
2022-03-19 12:41
NEC、印西データセンターに「Microsoft Azure ExpressRoute」への接続拠点開設
IT関連
2022-06-08 03:37
日清紡マイクロデバイス、オラクルのクラウドアプリケーション基盤を採用
IT関連
2023-02-08 15:54
「Microsoft Edge」ブラウザー、「Adobe Acrobat」のPDF機能を統合へ
IT関連
2023-02-15 02:25
ポケモンGOで“ガラルポニータ”不具合の補填始まる 今度こそ色違いチャンス
くらテク
2021-06-02 19:46
マイクロソフト、もしもCopilotの利用者が著作権侵害で訴えられたら、賠償金を代わりに支払うと約束。「Copilot Copyright Commitment」を発表
Microsoft
2023-09-14 22:23
不正アクセスでペイメントアプリ改ざん 「柿安オンラインショップ」カード情報集出、不正利用も
セキュリティ
2021-01-21 00:14
TwitterがiOSアプリのタイムラインで直接YouTubeの動画を視聴できる機能をテスト開始
ネットサービス
2021-03-20 16:50
英国が子どものためのオンライン安全法案の草案を発表
パブリック / ダイバーシティ
2021-05-25 23:25