Deno v2.0.4

Deno v2.0.4がリリースされています。

deno lsp

typescript.preferences.preferTypeOnlyAutoImports

deno lspの設定項目としてtypescript.preferences.preferTypeOnlyAutoImportsがサポートされています。このオプションにtrueを設定すると、TypeScriptの型がAuto importされる際にimport typeが挿入されるようです。

このオプションに合わせて、以前に導入されたAuto importに関する振る舞いがデフォルトで無効化されているため、以前の振る舞いに戻したい場合は、typescript.preferences.preferTypeOnlyAutoImportstrueを設定する必要があります。


(Windows) deno upgradeでのdeno lspの自動停止

Winodwsでdeno upgradeを実行した際に、実行中のdeno lspを自動で停止する機能が導入されています。


deno compile

リダイレクトに関する取り扱いの修正

リダイレクトが発生するサードパーティモジュール(例: https://deno.land/std/http/mod.tsなど)に依存している場合、deno compileで生成した実行可能ファイルでエラーが発生する問題が修正されています。


deno check

compilerOptions.jsxImportSourceに関する修正

ソースコード中でJSXが使用されていない場合、compilerOptions.jsxImportSourceが解決されないよう挙動が改善されています。


deno add/deno install

\r\nの取り扱いの修正

deno.jsonなどの設定ファイルに\r\nが含まれている場合、deno add/deno installが失敗する問題が修正されています。


deno serve

--watchサポートの改善

deno serve--watchオプションに、エントリーポイントで指定されたモジュール以外のファイルも指定できるよう機能が改善されています。


Node.js互換性の改善

node:process: nextTick()のエラーハンドリングに関する改善

process.nextTick()で発生した例外がprocess.on("uncaughtException")で補足できない問題が修正されています。


.npmrc

npmレジストリに送信されるAuthorizationヘッダーの生成方法がnpmと一致するよう挙動が修正されています。


deno_stdのリリース

deno_stdがリリースされています (release-2024.11.01)

@std/expect@1.0.7

@std/expect@1.0.7がリリースされています。

Asymmetric Matchers

以下のAPIが実装されています:

  • expect.not.arrayContaining()
  • expect.not.objectContaining()
  • expect.not.stringContaining()
  • expect.not.stringMatching()

また、expect().toMatchObject()の実装が改善され、 expect.any()などのAsymmetric Matchersのサポートなどが行われています。

expect.assertions()のサポート

expect.assertions()が実装されています。

@std/testing@1.0.4

@std/testing@1.0.4がリリースされています。

@std/testing/unstable-stub

stub()でオブジェクトのプロパティーのスタブがサポートされています:

import { stub } from "jsr:@std/testing@1.0.4/unstable-stub";

const obj = {
  doSomething: () => 1,
};
const s = stub(obj, "doSomething", () => 2);
obj.doSomething(); // => 2

IsMutuallyAssignable

IsMutuallyAssignable (@std/testing/unstable-types)が追加されています。assertType (@std/testing/types)との併用が想定されており、指定された2つの型がお互いに代入可能であることを検証できます。

Wasmモジュールのサポートについて

Wasmモジュール(.wasm)をサポートするPRが公開されています:

まだドラフト状態のようですが、.wasmファイルをimportすると、default exportとしてWebAssembly.Instanceのインスタンスが設定される想定のようです。


package-manager-detectorにおけるDenoサポートとdeno updateコマンドについて

package-manager-detectorにDenoのサポートを追加するPRが作成されています:

このPRに含まれる変更内容にはdeno updateというまだDenoには存在しないコマンドが参照されており、今後、実装が検討されているようです。

Build an Astro site with Deno

Denoの公式ブログでAstroのチュートリアルが公開されています: