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技術を用いてデスクトップアプリを開発できるようにすることを目指しているようです。