Deno v1.22
Deno v1.22がリリースされました。
変更点については以下の記事にまとめたため、詳しくはこちらを参照いただければと思います。
deno_std v0.140.0
deno_std v0.140.0がリリースされました。
http
serve
関数などにonListen
オプションが追加されています。
このオプションに関数を設定しておくと、サーバ起動時にそれが呼ばれます。
import { serve } from "https://deno.land/std@0.140.0/http/server.ts";
serve(() => Response.json({ message: "hello" }), {
onListen({ port }) {
console.log(`Listening on port ${port}`);
},
});
collections/deep_merge
deepMerge
関数で、循環参照のあるオブジェクトなどで無限ループが発生する問題が修正されています。
testing/asserts
assertRejects()
に渡した関数が同期的に例外を投げた場合に成功と扱われてしまう問題が修正されました。
await assertRejects(() => {
throw new Error("foo");
}); // => rejectされたPromiseが返されていないため、エラー
https://github.com/denoland/deno_std/releases/tag/0.140.0
SQLバイディング
Deno本体でSQLバインディングを公開するPRが作成されています。
まだ実際にリリースされるかどうかは不明ですが、今のところ、下記のようにしてクエリを発行できる想定のようです。
const { Connection } = Deno.sqlite;
const conn = new Connection("sqlite.db");
const stmt = conn.prepare(`SELECT * FROM users WHERE id = ?`);
stmt.query(123);
https://github.com/denoland/deno/pull/14627
deno_blog
deno_blogという、Deno Deploy上で動作するブログを作成できるモジュールが公式からリリースされました。
import blog from "https://deno.land/x/blog@0.0.1/blog.tsx";
blog(import.meta.url, {
title: "My first blog",
author: "uki00a",
header: "Hello world!",
style: "body { padding: 8rem 0; background-color: #f0f0f0; }",
});
RemixでのDenoの公式サポートについて
Remix v1.5.0がリリースされました。
このリリースに合わせて、Denoの公式サポートが発表されています。(今まで、RemixでのDenoのサポートは実験的という位置づけでした) また、下記ドキュメントでDenoプロジェクトにおけるnpmパッケージの管理について詳しく解説されています。
https://github.com/remix-run/remix/releases/tag/v1.5.0
Aleph.js v1.0.0-alpha.47
Aleph.js v1.0.0-alpha.47がリリースされました。
このリリースに合わせて、RustのフロントエンドフレームワークであるYewの使用例が追加されています。
https://github.com/alephjs/aleph.js/releases/tag/1.0.0-alpha.47
dangodb
dangoDBというDeno向けのMongoDB ODMが公開されました。