🌲

Prisma ORMのEdgeサポートなど : Cybozu Frontend Weekly (2024-03-19号)

2024/03/22に公開

こんにちは! サイボウズ株式会社フロントエンドエンジニアの Saji (@sajikix) です。

はじめに

サイボウズでは毎週火曜日に Frontend Weekly という「一週間にあったフロントエンドニュースを共有する会」を社内で開催しています。

今回は、2024/03/19 の Frontend Weekly で取り上げた記事や話題を紹介します。

取り上げた記事・話題

Prisma ORM support for Edge functions is now in Preview

https://www.prisma.io/blog/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

https://github.com/microsoft/TypeScript/pull/57465

「真偽値を返す関数に対してその引数の型の絞り込みを関数の中を見て行う」という機能が TypeScript の main ブランチにマージされました。問題がなければ次にリリースされる v5.5 に入る予定です。

具体的にこの改善が嬉しいユースケースとして「配列の filter メソッドの返り値が callback の処理によって適切に絞り込まる」というものがあります。今まではユーザー定義型ガードを利用して明示的に推論させるしかなかったため嬉しい改善となりそうです。ただし arr.filter(Boolean); のような書き方は推論の対象外となっているので注意しましょう。

この PR については以下の記事でも取り上げられているので合わせて参考にすると良さそうです。

https://www.totaltypescript.com/type-predicate-inference

実践 Next.js ——App Router で進化する Web アプリ開発

https://gihyo.jp/book/2024/978-4-297-14061-8

Takepepe さん が書かれた「実践 Next.js」が発売されました。AppRouter を利用する上での知見や複雑な Cache の挙動についても解説されており、これから Next.js に入門する方には良い一冊となりそうです。

nlux | The Open-Source Javascript Library To Build Conversational AI Interfaces | nlux

https://nlux.dev/

会話型 AI アプリ作成に特化したライブラリ nlux が公開されました。chat 形式の UI 構築に必要な Component はもちろんのこと、ChatGPT などの AI バックエンドへの疎通や、独自のカスタムアダプター構築もサポートしています。

pnpm supports package.yaml and package.json5

https://twitter.com/__sosukesuzuki/status/1769934982976520329

記事公開時点で公式ドキュメントにはないですが、pnpm ではパッケージファイルとして yaml と json5 をサポートしているというツイートです。

Server Actions 時代の form ライブラリ conform

https://zenn.dev/akfm/articles/server-actions-with-conform

Remix や Next.js などのフレームワークをサポートした React の form ライブラリ、conform の紹介記事です。同じ React の form ライブラリとして有名な react-hook-form は現在 Server Actions 対応を進めている最中ですが、conform はすでに対応しているとのことで Form ライブラリの新しい選択肢となるかもしれません。

MistCSS

https://typicode.github.io/mistcss/

CSS から JSX 要素を生成するという面白いアプローチをとるライブラリ MistCSS が公開されました。@scope 構文を利用した CSS の情報から Props や Element の構造を推論して生成するという仕組みで Tailwind CSS もサポートしています。

サイボウズ フロントエンド

Discussion