@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()
から以下のオプションが削除されています。
defaultsPath
examplePath
allowEmptyValues
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"
}
}