フレームワークNext.js 16.2
Next.js 16.2は、next devの起動時間が約87%短縮され、サーバーレンダリング速度が25〜60%向上するなど、全体的に大きなパフォーマンス改善をもたらします。レンダリング速度の向上はReactへの貢献によるもので、キーバリューペアごとにC++/JavaScript V8境界を越えるJSON.parse reviverコールバックを、プレーンなJSON.parseと純粋なJavaScript再帰ウォークの2ステップ方式に置き換えたものです。その他の主な変更点として、開発ターミナルでのServer Functionログ出力、+Client/-Serverの凡例でミスマッチを明示するHydration Diff Indicator、2〜20倍高速化したImageResponseが挙げられます。LinkコンポーネントにはView Transitions用のtransitionTypesプロップが追加され、Adapters APIが安定版となりました。実験的機能としては、コンポーネントレベルのエラー境界用unstable_catchError()と、セグメントごとのprefetchリクエストを1つに統合するprefetchInliningが導入されました。
Read Articlearrow_forward Video · ツールチェーン
新しいVite+はかなり大きな出来事
ErikによるこのウォークスルーはVoidZeroがリリースした統合JavaScriptツールチェーンVite+を紹介しています。Vite+はVite 8、Vitest、Oxlint、Oxfmt、Rolldown、tsdownを単一のvpバイナリに統合します。ErikはcurlでVite+をインストールし、vp createでVueプロジェクトをスキャフォールドして、単一のvite.config.tsファイルがフォーマッター、リンター、テストランナーの設定ファイルを置き換える仕組みを実演します。fmtオプションによるリアルタイムのOxfmtフォーマット、保存時の自動importソート、個別ツールをインストールせずにCIパイプラインでvp testを実行する方法を示します。また現在の制限として、NuxtプロジェクトがVite+と互換性がないことを指摘しています。Nuxtはvite.config.tsを無視するため、将来のアップデートで解決されるまではVite+の使用は推奨されません。vp migrateコマンドは既存のViteプロジェクトをVite+に統合したいチームへのマイグレーションパスを提供します。
AI_INFOGRAPHICWATCH_VIDEOarrow_forwardArticle · ランタイムREAD TIME: 13m
Bun v1.3.11
Bun v1.3.11では、2つの主要な新APIと大規模なバグ修正が含まれています。Bun.cronはLinuxではcrontab、macOSではlaunchd、WindowsではTask Schedulerを使用してOSレベルのcronジョブを登録し、Cloudflare Workers Cron Triggers APIの規約に従います。Bun.cron.parseは@dailyなどの名前付きショートカットを含むあらゆるcron式の次の実行日時を返します。新しいBun.sliceAnsiはslice-ansiとcli-truncateのnpmパッケージを置き換え、純粋なASCII入力にはSIMD ASCIIの高速パスを使用しながら、ANSI SGRコードとグラフィームクラスター境界を保持したままターミナル文字列を列幅でスライスします。Bun.markdown.renderのlistItemコールバックはindex、depth、ordered、startのメタデータを受け取るようになり、正規表現後処理なしにネストされた番号付け方式を実装できます。バグ修正はmacOSのdgram UDPソケット、WindowsのネイティブARM64シム、fs/crypto/HTTP2のNode.js互換性改善に及びます。
READ_FULL_LOGarrow_forwardArticle · ツールチェーンREAD TIME: 4m
VoidZero 3月Launch Week振り返り
VoidZeroの3月ローンチウィークでは、JavaScriptツールチェーン全体にわたる大規模なアップデートが公開されました。目玉はVite 8で、RustベースのロールダウンバンドラーがesbuildとRollupの両方を置き換え、Rollup比で10〜30倍高速化しています。LinearはビルドタイムをRamp比57%、Beehiivは64%削減したと報告しました。OxlintはJS Plugins Alphaで既存ESLintプラグインとほぼ100%の互換性を実現し、最大100倍高速なリンティングを提供します。Vitest 4.1にはVite 8サポート、テストタグ、非同期リーク検出、GitHub Actionsレポーターが追加されました。新しいVite+ CLIはVite、Vitest、Oxlint、Oxfmt、Rolldown、tsdownを単一のvpバイナリとひとつのvite.config.tsに統合します。さらにEvan YouがViteアプリケーション専用のデプロイプラットフォームVoidを発表しました。
READ_FULL_LOGarrow_forwardArticle · ESMREAD TIME: 4m
Native JSON Modulesがついに現実に
長年にわたり、JavaScriptでのJSONファイルのimportはネイティブのように見えていましたが、実際にはビルド時にバンドラーが処理していました。import attributes提案がブラウザ、Node.js、Deno、Bunでサポートされたことで、JSONをランタイムのファーストクラスモジュールとして直接importできるようになりました: import config from './config.json' with { type: 'json' }。明示的なwith { type: 'json' }句により、エンジンがファイルを実行するかパースするかを推測する必要がなくなり、標準ESMキャッシングのセマンティクスと一致します。つまり同じモジュールは一度だけパースされ、すべてのimportポイントで共有されます。バンドラーベースのimportと異なり、ネイティブJSONモジュールはランタイムにfetchされ、通常のCORSとContent-Typeのルールに従います。バンドラーはインライン化、アセットハッシュ、コード分割で依然として価値を持ちますが、純粋なJSONのimportについてはプラットフォームがツールに追いつきました。
READ_FULL_LOGarrow_forwardArticle · ベンチマークREAD TIME: 11m
React SSR Framework Benchmark:TanStack Start、React Router、Next.js
Platformaticは、カード10,000枚、出品50,000件規模のトレーディングカードマーケットプレイスアプリをTanStack Start、React Router、Next.jsの3フレームワークで同一実装し、AWS EKSで1,000 req/sの負荷テストを実施しました。TanStack Start(v1.157.16、最適化後)は平均レイテンシ13ms、成功率100%で明確なトップとなりました。以前のバージョンではp95リクエストが10秒タイムアウトの上限に達し成功率が75%でしたが、7マイナーバージョンで252倍の改善を達成しました。React Routerは失敗なく安定して負荷を処理しました。Next.js 15.5.5は平均レスポンスタイム8〜11秒、約40%のリクエストが失敗しましたが、v16.2.0-canary.66へのアップグレード後はスループットが2倍以上になり、平均レイテンシが6分の1に減少しました。重要な知見として、フレームワークチームとflamegraphを共有することで、ReactのRSCデシリアライズにおけるJSON.parse reviverの削除が実現し、全React Server Componentsユーザーに75%の速度向上をもたらしました。
READ_FULL_LOGarrow_forwardArticle · パフォーマンスREAD TIME: 7m
SSR Throughput 5倍:TanStack StartのSSR Hot Pathをプロファイル
TanStackチームは@platformatic/flame CPUプロファイリングとautocannon負荷テストを活用し、20以上のPRでTanStack StartのSSRスループットを改善した体系的なプロセスを詳述しています。最も高い効果をもたらした3つのパターンは次の通りです: 一般的な内部パスでWHATWG URL全体のパースをスキップする安価なisSafeInternal述語で無条件のnew URL()生成を置き換え、isServerビルド時定数でリアクティブなストア購読をゲーティングしてサーバーが状態変更の購読ではなくプレーンなスナップショットを使用するように変更、そしてV8 HiddenClassの遷移による辞書モードのプロパティアクセスを防ぐためにホットパスオブジェクトでdeleteの代わりにundefinedの代入を使用。links-100ベンチマーク(同時接続100)の最終結果: スループットが477から1,041 req/sに増加し、平均レイテンシが3,171msから13.7msに、p90が10,001msから23msに低下し、成功率が75.5%から100%に向上しました。
READ_FULL_LOGarrow_forwardsummarizeDigest_Summary
第12週は、JavaScriptエコシステム全体で大規模なパフォーマンス革新が際立った1週間でした。Next.js 16.2はdev起動時間が約87%短縮され、サーバーレンダリング速度が25〜60%向上しました。これはJSON.parseのreviverコールバックを純粋なJavaScriptの2ステップ方式に置き換え、C++/V8境界コストを排除した結果です。PlatformaticがAWS EKSで1,000 req/sでTanStack Start・React Router・Next.jsを比較したSSRベンチマークで発見されたこの修正は、すべてのReact Server Componentsユーザーに75%の速度向上をもたらします。TanStack Startは20以上のPRを通じてV8 HiddenClass遷移・ホットパスURL解析・リアクティブストア購読を最適化し、成功率が75.5%から100%に向上しました。
VoidZeroの3月ローンチウィークはフロントエンドツールチェーン全体を統合しました。Vite 8はesbuildとRollupの両方を置き換えるRolldownを搭載し10〜30倍の速度を実現、OxlintはJS Plugins Alphaで既存ESLintプラグインとほぼ100%の互換性を保ちながら最大100倍高速なリンティングを提供します。新しいVite+ CLI(vpバイナリ)はVite・Vitest・Oxlint・Oxfmt・Rolldown・tsdownをひとつのvite.config.tsに統合します。実チームはビルド時間を64〜85%削減したと報告しています。Bun v1.3.11はOSレベルのcronスケジューリング(Bun.cron)とネイティブのターミナル文字列スライサー(Bun.sliceAnsi)を追加しました。一方、import attributes(with { type: 'json' })によるネイティブJSONモジュールがブラウザ・Node.js・Deno・Bun全体でランタイムのファーストクラス機能としてサポートされ、JSONのimportに標準ESMキャッシングのセマンティクスが初めて適用されます。
Key Takeaways- PlatformaticのベンチマークflamegraphによりReactのRSCデシリアライズのJSON.parse reviver削除が実現し、すべてのReact Server Componentsユーザーにサーバーレンダリング速度75%向上をもたらしました。
- VoidZeroのVite+(vpバイナリ)はVite 8・Vitest・Oxlint・Oxfmt・Rolldown・tsdownをひとつの設定ファイルに統合し、LinearとBeehiivはそれぞれビルド時間を85%・64%削減したと報告しています。
- import attributes(with { type: 'json' })によるネイティブJSONモジュールがブラウザ・Node.js・Deno・Bunでネイティブにサポートされ、バンドラーの回避策なしにJSONのimportへ標準ESMキャッシングのセマンティクスが適用されます。