Deno v1.25.3

Deno v1.25.3がリリースされました。

npmパッケージサポートの改善

  • esm形式のモジュールからcjs形式のモジュールをimportする際の挙動のNode.jsとの互換性が向上しています。
  • deno run --unstable npm:<package>@version/subpath.js形式または拡張子なしのファイルを実行できるようになりました。
    • typescript/tscを実行できない問題があったようです。
  • パッケージのサブパスにpackage.jsonがあれば、その定義内容を元にエントリポイントが解決されるようになりました。
  • --unstableが指定されたときは、NODE_DEBUGNODE_OPTIONS環境変数に対して--allow-envのチェックがスキップされるように変更されました。

Flash(Deno.serve)の改善

同時に一つのリクエストしか処理できなかった問題が解消されています。


https://github.com/denoland/deno/releases/tag/v1.25.3

deno_std v0.156.0

deno_std v0.156.0がリリースされました。

std/node

Deno本体のnpmパッケージサポートの改善に合わせて、バグ修正などが実施されています。

今回のリリースによってcpy-cliなどが動かせるようになったようです。

変更点:

  • fs: ReadStreamWriteStreamnewなしで作成できるようになりました。
  • process: "FOO" in process.envなどでprocess.envを利用した際に、全パーミッションが要求される問題が解消されています。(内部的にDeno.env.toObject()が使用されないように修正されています)
  • process: process.execPathが書き込み可能なプロパティに変更されました。(pnpmなどの書き込みを行うパッケージが存在したため)

std/fs

すでにシンボリックリンクが存在する場合にensureSymlinkが失敗しないように改善されています。

std/http/file_server

serveFileにディレクトリのパスが指定された場合、404エラーが返却されるように修正されました。 (今までは200が返却されるものの、ボディを読もうとするとエラーが発生していたようです)


https://github.com/denoland/deno_std/releases/tag/0.156.0

Mongooseサポートに向けたunstable APIの安定化について

Mongooseのサポートに向けて、下記のAPIの安定化が検討されています。

Deno.consoleSize()Deno.hostname()についてはすでにPRが作成されており、次のv1.26あたりで安定化される可能性がありそうです。

Ultra v2.0.0-beta.6

Island Architectureのサポートなどが追加されています。


https://github.com/exhibitionist-digital/ultra/releases/tag/v2.0.0-beta.6

deno-sqlite v3.5.0

PreparedQuery.first().firstEntry()が追加されています。

その影響で既存の.one().oneEntry()は非推奨化されています。

const query = db.prepareQuery("SELECT * FROM users WHERE id = ?");
const found = query.first([123]);
if (!found) console.warn("Not found");

https://github.com/dyedgreen/deno-sqlite/releases/tag/v3.5.0

Showcase by deno-ja

Denoで作られたものを紹介するためのページが公開されました。

下記のいずれかから閲覧できます。


https://github.com/deno-ja/showcase