Fork me on GitHub

2025-04-17のJS: Zod 4 beta、Next.js 15.3とRspack、LLMを使ったテストのマイグレーション

Edit on GitHub 編集履歴を見る

JSer.info #732 - Zod 4 betaがリリースされました。

パフォーマンスとBundle Sizeの改善が行われ、Tree Shaking可能なAPIを提供する@zod/mini@zod/coreパッケージが公開されています。また、再帰も可能なオブジェクトの定義をするz.interface() API、メタデータを管理するz.registry() API、JSONスキーマ変換のためのtoJSONSchema() APIなどが追加されています。その他にも文字列のTop Level APIの追加や変更、エラーメッセージをmessageからerrorパラメータへ変更など多くの変更が含まれています。


Next.js 15.3がリリースされ、Rspackをビルドツールとしてサポートするようになりました。

Next.js 15.3では、Turbopackをnext buildでも利用可能になったほか、Rspackのサポート、クライアントサイドの計測を行うinstrumentation-client.{js,ts}のサポート、Navigation Hooksのサポートなどが追加されています。また、useLinkStatusの追加やTypeScript LSPのパフォーマンス改善も行われました。実験的な機能として<Link unstable_dynamicOnHovertrue>のサポートなども含まれています。


AirbnbがEnzymeからReact Testing Libraryへの大規模なテスト移行をLLMを活用して行った事例について紹介されています。

移行プロセスをステップ化し、再試行ループの導入、関連するテストや移行ガイドラインをコンテキストとして追加することで、当初は75%のテストが自動的に移行できました。さらに、失敗したファイルにどのステップでうまくいかなかったかをコメントとして残し、それらのファイルを使って学習することで、最終的には97%まで自動的に移行できるようになったとのことです。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Bun v1.2.9 | Bun Blog

bun.sh/blog/bun-v1.2.9

Bun ReleaseNote

Bun v1.2.9リリース。
RedisクライアントであるBun.redisの追加、require.extensionsのサポート、require.resolvepathsオプションのサポートなど


Introducing Zod 4 | Zod Docs

v4.zod.dev/v4

TypeScript library ReleaseNote

Zod 4 betaリリース。
パフォーマンスの改善、Bundle Sizeの改善、Tree Shaking可能なAPIを提供する@zod/mini@zod/coreパッケージを公開。
再帰も可能なオブジェクトの定義をするz.interface() APIの追加、メタデータを管理 z.registry() API、toJSONSchema() APIの追加。
文字列のTop Level APIの追加や変更、エラーメッセージをmessageからerrorパラメータへ変更など


Next.js 15.3 | Next.js

nextjs.org/blog/next-15-3

Next.js ReleaseNote

Next.js 15.3リリース。
Turbopackをnext buildでも利用可能に、Rspackのサポート、instrumentation-client.{js,ts}のサポート、Navigation Hooksのサポート。
useLinkStatusの追加、TypeScript LSPのパフォーマンス改善。
実験的な機能として<Link unstable_dynamicOnHovertrue>のサポートなど


Release 0.12.0 | StyleX

stylexjs.com/blog/v0.12.0

React css library ReleaseNote

StyleX v0.12.0リリース。
パフォーマンスの改善、ESLintプラグインにno-legacy-media-queriesを追加。
@stylexjs/esbuild-plugin/@stylexjs/nextjs-plugin/@stylexjs/webpack-pluginなどを非推奨に変更など


Shipping Temporal | SpiderMonkey JavaScript/WebAssembly Engine

spidermonkey.dev/blog/2025/04/11/shipping-temporal.html

Firefox JavaScript news

SpinderMonkeyがECMAScript Proposal Stage 3のTemporalの実装がFirefox 139でリリースされる。


Astro 5.7 | Astro

astro.build/blog/astro-570/

astro ReleaseNote

Astro 5.7リリース。
実験的なFont APIの追加、Sessions APIがStableに変更、SVGファイルをコンポーネントとして読み込めるように、astro:configがStableへ変更など


アーティクル


Accelerating Large-Scale Test Migration with LLMs | by Charles Covey-Brandt | The Airbnb Tech Blog | Mar, 2025 | Medium

medium.com/airbnb-engineering/accelerating-large-scale-test-migration-with-llms-9565c208023b

React JavaScript test LanguageModel article

EnzymeからReact Testing Libraryへの移行をLLMを活用してマイグレーションした話。
移行のプロセスのステップ化、再試行ループ、コンテキストに関連するテスト/移行ガイドラインの追加することで75%は移行できた。
そこからどのステップでうまくいっていないかをコメントに残して、そのファイルを使った学習をすることで97%まで自動的に移行ができたという話


Deploy your Next.js app to Cloudflare Workers with the Cloudflare adapter for OpenNext

blog.cloudflare.com/deploying-nextjs-apps-to-cloudflare-workers-with-the-opennext-adapter/

Next.js cloudflare article

Cloudflare WorkersでNext.jsを動かすOpenNextについて。


WebAssembly の歩き方

zenn.dev/canary_techblog/articles/47af6331b4ecfb

WebAssembly article

WebAssemblyとはどういうものかについて。
WebAssemblyが定義しているもの、バイトコード表現とテキスト表現、仕様の実装であるEmbedderについて


Rspack joins the Next.js ecosystem - Rspack

rspack.dev/blog/rspack-next-partner

Next.js rspack article

Next.jsのRspackサポートについて


Advanced React in the Wild

largeapps.dev/case-studies/advanced/

React performance article

Reactで書かれたアプリケーションのパフォーマンス改善の事例集


Default styles for h1 elements are changing | MDN Blog

developer.mozilla.org/en-US/blog/h1-element-styles/

HTML article browser css

セクションに基づいた暗黙的な<h1>要素のデフォルトのスタイル(UAのスタイル)が変更される。
Firefox 138、Chrome 136以降にこの変更が含まれる


サイト、サービス、ドキュメント


goldbergyoni/nodejs-testing-best-practices: Beyond the basics of Node.js testing. Including a super-comprehensive best practices list and an example app (April 2025)

github.com/goldbergyoni/nodejs-testing-best-practices

nodejs test document

Node.jsでのテストについてのドキュメント


lightpanda-io/browser: Lightpanda: the headless browser designed for AI and automation

github.com/lightpanda-io/browser

zig browser software

ZigとV8を使って書かれたヘッドレスブラウザ


Ray-D-Song/lexe: Package your Node.js application into a single executable file, but only 10MB.🔥

github.com/Ray-D-Song/lexe?tab=readme-ov-file

JavaScript Tools

LLRTをRuntimeとして使ったSingle Executable Binaryを作成するツール。
Node.jsの一部に互換のあるAPIを提供し、バイナリサイズが小さいという特徴がある


書籍関係


「型システムのしくみ」発売のお知らせ - まめめも

mametter.hatenablog.com/entry/2025/04/10/063009

TypeScript book program

TypeScriptのサブセットの型チェッカを実装していく型システムについての書籍


この記事へ修正リクエストをする
JSer.info Slackに参加する