Fresh v1.3
Fresh v1.3がリリースされました。
以下に内容をまとめたため、よろしければそちらを参照いただければと思います。
Deno v1.35.2
Deno v1.35.2がリリースされました。
Node.js互換性の改善
npm:経由で読み込まれたパッケージと通常のDenoコードで異なるglobalThisの実体が参照されるように変更されました。(#19307)- npmパッケージ内からDenoで書かれた
.tsファイルをimport()で読もうとすると、エラーが発生する問題が修正されました。 node:process:dlopenが実装されています。(flags引数は未サポート)node:stream/promises:finished/pipelineがexportされていなかった問題が修正されています。
TypeScript
--unstableをつけずにunstable APIを使おうとした際のエラーメッセージが改善されています。
v1.35.2:
error: TS2551 [ERROR]: Property 'openKv' does not exist on type 'typeof Deno'. Did you mean 'open'? 'Deno.openKv' is an unstable API. Did you forget to run with the '--unstable' flag, or did you mean 'open'? If not, try changing the 'lib' compiler option to include 'deno.unstable' or add a triple-slash directive to your entrypoint: /// <reference lib="deno.unstable" />
v1.35.1:
error: TS2551 [ERROR]: Property 'openKv' does not exist on type 'typeof Deno'. Did you mean 'open'?
deno vendor
deno.jsonでcompilerOptions.jsxImportSourceが指定されているもののjsxファイルが一つも存在しない場合に、deno vendorが失敗する問題が修正されています。
deno_std v0.195.0
deno_std v0.195.0がリリースされました。
std/testing/asserts.ts (破壊的変更)
std/testing/asserts.tsがstd/assertへ移動されました。
// v0.194.0
import { assertEquals } from "https://deno.land/std@0.194.0/testing/asserts.ts";
// v0.195.0
import { assertEquals } from "https://deno.land/std@0.195.0/assert/mod.ts";
また、この移動に合わせて各APIごとにファイルの分割も行われており、以下のように必要なAPIのみを読み込むことも可能です。
import { assertEquals } from "https://deno.land/std@0.195.0/assert/assert_equals.ts";
std/testing/assertsは非推奨化されており、v1で削除される予定のようです。
std/streams/readable_stream_from_iterable.ts (破壊的変更)
Deno本体にReadableStream.fromが実装されたため、readableStreamFromIterableが非推奨化されました。
v0.196.0で削除される予定のようです。
std/async/delay.ts
abort済みのAbortSignalをsignalオプションに渡した際に、DOMExceptionではなくAbortSignal.reasonプロパティに設定されたエラーが投げられるように挙動が修正されました。
Fresh v1.4について
Fresh v1.4の開発計画が公開されています。
以下の内容などが検討されているようです。
- Islandコンポーネントの事前ビルド
- Next.jsのRoute Groups相当の機能
- Layouts
- Preact Actions
- Allow putting islands + routes + components in the same folder
- Simplify Fresh Server
- Route/Middlewareなどを動的に追加できるようにすることが検討されているようです。