Deno Deploy EA におけるデータベースのサポートについて
Deno Deploy EAアプリケーションからのPostgreSQLへの接続サポートが追加されているようです:
あらかじめ Deno Deploy のダッシュボードから登録しておいたデータベースを Deno Deploy アプリケーションに割り当てることが出来るようです。
Deno Deploy は本番やプレビューなどの各環境ごとに自動でデータベースを作成し、各環境のアプリケーションに対してPGHOST
/PGPORT
/PGDATABASE
などの環境変数を自動で割り当ててくれるため、特に設定をせずともnode-postgresなどのパッケージによって適切なデータベースへ接続が出来る仕組みのようです。
現時点ではPostgreSQLのみがサポートされており、今後、MySQLやMongoDB, Redisなどのサポートも検討されているようです (Supported Database Engines)
Fresh v2 に関する直近でのアップデート
まだFresh v2は正式リリースされたわけではないですが、直近でいくつか大きな変更が実施されているため、紹介します。
Tailwind CSS v4のサポート
@fresh/plugin-tailwind@0.0.1-alpha.8がリリースされています。このリリースではTailwind CSS v4がサポートされています (#3054)
@fresh/plugin-tailwind-v3というパッケージも追加されており、Tailwind CSS v3についてはこのパッケージからサポートが提供されます (#3135)
公式ミドルウェアの拡充
CORS (#3013) や CSRF (#3018) 向けのミドルウェアがFreshの公式リポジトリに追加されています。これらは@fresh/coreパッケージから提供されています。
ユーザーコードをimport
せずにビルドできるようにする変更
今まで、ビルドを実行する際にユーザーコードをimport
していた関係で、一部のケースにおいてFreshのビルドが終了しなくなってしまう問題の修正が行われています (#3122)
この変更の影響として、ファイルベースの Route の登録方法が変更されています。ファイルベースの Route を有効化したい場合、fsRoutes()
ではなくApp#fsRoutes
を実行する必要があるようです。(ファイルベースの Route はBuilder
によって処理されるよう挙動が変更されているようです)
この変更によって、deno.com
におけるDeno Deployアプリケーションのコールドスタートが30%程高速化されたようです。
今回の変更にあわせて、本番サーバーの起動コマンドがdeno run
からdeno serve
へ変更されているようです。
コミットメッセージによると、将来的にはViteへの移行も考慮に入れられているようで、今回の変更はそれに向けた意味合いもあるようです。
deno_std
のリリース
deno_std
のリリースが実施されています (release-2025.07.22)
@std/cli@1.0.21
@std/cli@1.0.21がリリースされています。
@std/cli/unstable-prompt-select
と@std/cli/unstable-prompt-multiple-select
の改善
選択肢のラベルと値の分離がサポート
promptSelect()
(@std/cli/unstable-prompt-select
) とpromptMultipleSelect()
(@std/cli/unstable-prompt-multiple-select
) において、選択肢のラベルと選択された際に返却される値を分離できるようにする改善が実施されています (#6742)
import { promptSelect } from "jsr:@std/cli@1.0.21/unstable-prompt-select";
interface User {
id: number;
name: string;
}
const user = promptSelect<User>("Please select a user", [
{ label: "foo", value: { id: 1, name: "foo" } },
{ label: "bar", value: { id: 2, name: "bar" } },
{ label: "baz", value: { id: 3, name: "baz" } },
]);
選択肢の絞り込みがサポート
promptSelect()
(@std/cli/unstable-prompt-select
) と promptMultipleSelect()
(@std/cli/unstable-prompt-multiple-select
) で選択肢の絞り込みがサポートされています (#6741)
選択を促している際にユーザーがキー入力を行うと、入力された値にマッチする選択肢が自動で絞り込まれます。
promptMultipleSelect()
- visibleLines
オプションとindicator
オプションが追加
visibleLines
オプションは画面に表示される最大行数を指定したい場合に使用でき、indicator
オプション (デフォルト: ❯
) では現在の要素に対して表示されるマークをカスタマイズすることが出来ます (#6699)
@std/cli/unstable-progress-bar
- fmt
オプションのリネーム
ProgressBar
のfmt
オプションがformatter
へリネームされています (#6707)
@std/cli/unstable-ansi
が追加
このモジュールではANSIエスケープシーケンスに関する定数やユーティリティーなどが提供されています (#6756)
@std/testing@1.0.15
@std/testing@1.0.15がリリースされています。
@std/testing/unstable-stub-property
が追加
このモジュールではstubProperty()
が提供されます (#6761)
置き換え対象のプロパティーに設定されていた Property Descriptor を可能な限り維持しつつプロパティを置き換えてくれるのが特徴のようです。戻り値としてSymbol.dispose
を実装したオブジェクトを返却してくれるため、using
と併用することでプロパティーを置き換える前の状態へ復元することが可能です。
@std/data-structures@1.0.9
@std/data-structures@1.0.9がリリースされています。
@std/data-structures/unstable-2d-array
が追加
このモジュールでは二次元配列を表現するD2Array
が提供されています (#6754)