@ts-typesと@ts-self-typesプラグマについて
Denoで@ts-typesと@ts-self-typesというプラグマが実装されていたようです。
@ts-typesについては@deno-typesプラグマと同様に、特定のJavaScriptモジュールに対して型定義を適用したい場合に指定することが想定されているようです。今後は@deno-typesではなく@ts-typesの方の使用が推奨されるようです。
// @ts-types="./add.d.ts"
import { add } from "./add.js";
@ts-self-typesについても、JavaScriptで書かれたモジュールに型を適用するための機能のようですが、実質的に/// <reference types="..." />と同様に動作するようです。基本的にJavaScriptモジュールに対して型を適用したい場合を除いて、/// <reference types="..." />の方の使用が推奨されるようです。
// @ts-self-types="./globals.d.ts"
- feat(unstable): add @ts-types and clean up @deno-types (denoland/deno_graph#444)
- feat(unstable): add support for @ts-self-types pragma (denoland/deno_graph#445)
deno_stdのリリース
deno_stdがリリースされています。
@std/async@1.0.0
@std/async@1.0.0がリリースされています。
@std/cli@1.0.0
@std/cli@1.0.0がリリースされています。
@std/text@1.0.0
@std/text@1.0.0がリリースされています。
このリリースに合わせて@std/text/caseが削除されています。代わりに@std/text/caseで提供されていた各APIは@std/text/to-camel-caseや@std/text/to-kebab-caseなどのファイルへ移行されています。
@std/ulid@1.0.0
@std/ulid@1.0.0がリリースされています。
@std/csv@1.0.0-rc.4
@std/csv@1.0.0-rc.4がリリースされています。
ParseErrorが削除されています (今後はSyntaxErrorがthrowされます)
@std/yaml@1.0.0-rc.4
@std/yaml@1.0.0-rc.4がリリースされています。
stringify()やparse()で利用されていたYamlErrorが削除されています。今後はstringify()からはTypeError, parse()からはSyntaxErrorがthrowされます。
@std/expect@1.0.0-rc.3
@std/expect@1.0.0-rc.3がリリースされています。
expect.extend()との併用を想定して、expect()に型引数が追加されています。
@std/semver@1.0.0-rc.3
@std/semver@1.0.0-rc.3がリリースされています。
@std/semver/increment:
increment()のprereleaseとbuildmetadata引数が削除されています。代わりにoptions引数が追加されており、そこでprereleaseやbuildオプションを指定できます。
@std/dotenv@0.225.0
@std/dotenv@0.225.0がリリースされています。
load()から以下のオプションが削除されています。
defaultsPathexamplePathallowEmptyValues
Hono v4.5.0
Hono v4.5.0がリリースされています。
新しいミドルウェア
以下のモジュールが追加されています。
- @hono/hono/ip-restriction - IP制限用のミドルウェア
- @hono/hono/combine - ミドルウェアの合成用のユーティリティ (
some/every/except) - @hono/hono/request-id - リクエストごとに一意なIDを割り振ってくれるミドルウェア
hono/jsx
React v19に関連して、hono/jsx/domに以下のフックが追加されています。
useActionState()useFormStatus()useOptimistic()
また、jsxRendererで<head>内にレンダリングされた<title>や<meta>などのタグを認識してくれるように改善されているようです。
hono/jsxとReactの互換パッケージ
@hono/react-compatというhono/jsxをreactやreact-domのエイリアスとして利用するためのパッケージが公開されています。
Denoから使う際はdeno.jsonでImport Mapsを定義しておくとよさそうです。
{
"imports": {
"react": "npm:@hono/react-compat@0.0.1",
"react-dom": "npm:@hono/react-compat@0.0.1"
}
}