Prisma ORMのEdgeサポートなど : Cybozu Frontend Weekly (2024-03-19号)
こんにちは! サイボウズ株式会社フロントエンドエンジニアの Saji (@sajikix) です。
はじめに
サイボウズでは毎週火曜日に Frontend Weekly という「一週間にあったフロントエンドニュースを共有する会」を社内で開催しています。
今回は、2024/03/19 の Frontend Weekly で取り上げた記事や話題を紹介します。
取り上げた記事・話題
Prisma ORM support for Edge functions is now in Preview
Prisma が Preview の機能として Edge ランタイムサポートを発表しました。Vercel や Cloudflare Worker でのサポートを発表しており、これらのサービスでは Prisma を使用しているアプリをデプロイするだけで動かせるようになります。
#57465 Infer type predicates from function bodies using control flow analysis
「真偽値を返す関数に対してその引数の型の絞り込みを関数の中を見て行う」という機能が TypeScript の main ブランチにマージされました。問題がなければ次にリリースされる v5.5 に入る予定です。
具体的にこの改善が嬉しいユースケースとして「配列の filter メソッドの返り値が callback の処理によって適切に絞り込まる」というものがあります。今まではユーザー定義型ガードを利用して明示的に推論させるしかなかったため嬉しい改善となりそうです。ただし arr.filter(Boolean);
のような書き方は推論の対象外となっているので注意しましょう。
この PR については以下の記事でも取り上げられているので合わせて参考にすると良さそうです。
実践 Next.js ——App Router で進化する Web アプリ開発
Takepepe さん が書かれた「実践 Next.js」が発売されました。AppRouter を利用する上での知見や複雑な Cache の挙動についても解説されており、これから Next.js に入門する方には良い一冊となりそうです。
nlux | The Open-Source Javascript Library To Build Conversational AI Interfaces | nlux
会話型 AI アプリ作成に特化したライブラリ nlux
が公開されました。chat 形式の UI 構築に必要な Component はもちろんのこと、ChatGPT などの AI バックエンドへの疎通や、独自のカスタムアダプター構築もサポートしています。
pnpm supports package.yaml and package.json5
記事公開時点で公式ドキュメントにはないですが、pnpm ではパッケージファイルとして yaml と json5 をサポートしているというツイートです。
Server Actions 時代の form ライブラリ conform
Remix や Next.js などのフレームワークをサポートした React の form ライブラリ、conform
の紹介記事です。同じ React の form ライブラリとして有名な react-hook-form は現在 Server Actions 対応を進めている最中ですが、conform
はすでに対応しているとのことで Form ライブラリの新しい選択肢となるかもしれません。
MistCSS
CSS から JSX 要素を生成するという面白いアプローチをとるライブラリ MistCSS が公開されました。@scope
構文を利用した CSS の情報から Props や Element の構造を推論して生成するという仕組みで Tailwind CSS もサポートしています。
Discussion