import modules from "./modules.json" assert { type: "json" };
Object.keys(modules);
現在はJSON modulesのみがサポートされています。
Deno.test
のシグネチャの向上// オプションを第2引数、テスト関数を第3引数で指定
Deno.test("foo", { permissions: { read: false } }, () => {
Deno.cwd();
});
// オプションを第1引数、テスト関数を第2引数で指定
Deno.test({
name: "bar",
ignore: Deno.build.os === "windows",
}, async () => {
//
});
Deno.refTimer
とDeno.unrefTimer
が実装const timerID = setTimeout(() => {
console.log("Hello");
}, 3000);
Deno.unrefTimer(timerID);
--location
オプションの省略時にglobalThis.location
がundefined
に設定されるように修正Deno.connectTls
とDeno.startTls
にALPNサポートが追加--watch
で外部ファイルの監視がサポートAbortSignal#throwIfAborted
が実装deno lsp
の新しいレジストリ補完プロトコルの実装http/server_legacy.ts
が削除ws
モジュールが削除collections
モジュールからfindLast
とfindLastIndex
が削除signals
モジュールからonSignal
が削除testing/asserts
モジュールからassertThrowsAsync
が削除具体的には、直近では下記の機能などに注力していきたいとのこと。
DenoのAPIドキュメンテーションサイトであるdoc.deno.landがリニューアルされました。
kitson氏により、Denoの設定ファイル(--config
)にタスク管理の仕組みを追加することが提案されています。
{
"tasks": {
"run": "./mod.ts",
"build": "--allow-read --allow-write ./build.ts",
"test": {
"args": "--unstable"
}
},
"permissions": {
"allow-read": "./src",
"allow-write": "./dist"
}
}
$ deno run --config deno.jsonc build
JSConf JPでのkt3kさんのDenoに関する発表資料が公開されました。
Denoの概要や作られた背景、今後のロードマップなどについて解説されています。
app.fetchEventHandler()
が削除addEventListener("fetch", app.fetchEventHandler());
元々、Deno Deployのために用意されていた機能です。
Deno DeployでDeno.listen
やDeno.serveHttp
がサポートされたため、削除されました。
今後はDeno Deployでもapp.listen()
が利用できます。
Context.params
の型推論が強化パスのパターンを元に、Context.params
の型が自動で推論されます。
const router = new Router();
router.get("/users/:name", (context) => {
context.response.body = `Hello ${context.params.name}`;
});
DDos攻撃への対策のため、リクエストボディのサイズがデフォルトで10Mibまでに制限されました。
制限を無効化したいときは、以下のようにlimit
オプションに0
またはInfinity
を指定する必要があります。
context.request.body({ type: "json", limit: 0 });
DenoまたはNode.jsを使用してデスクトップアプリなどを開発するためのプラットフォーム
まだ開発途中の段階のようですが、Electronなどと同様にHTML/CSSなどのWeb技術を用いてデスクトップアプリを開発できるようにすることを目指しているようです。