terminal
Weekly Digest // JS_FRAMEWORKS — Week 17-2026
codeWeekly Report

JavaScriptで本当に新しいもの(そして次に来るもの) — 2026年 第17週 JavaScript

JS frameworks, React/Vue/Svelte, and runtime updates

calendar_todaysummarizeWeek 17-2026
ES仕様

JavaScriptで本当に新しいもの(そして次に来るもの)

ES20252025年6月に正式批准され、ES2026の候補草案も確定しており、待望の言語機能が多数追加されます。最大のハイライトはIterator helperで、Iterator.prototypeに遅延評価方式の.map().filter().take().toArray()が追加され、Array.fromのオーバーヘッドなしに無限シーケンスを処理できます。ES2025にはSetの集合演算メソッド(union、intersection、difference)、同期・非同期のエラーを統一的に扱うPromise.tryRegExp.escapeFloat16Array、JSONのimport attributeが含まれます。ES2026ではShewchukのアルゴリズムを使った高精度浮動小数点合計のMath.sumPreciseUint8Array.toBase64/toHex、クロスrealm対応のError.isErrorIterator.concatMap.getOrInsertArray.fromAsyncJSON.parseのソーステキストリバイバーが追加されます。Temporal2026年3月にStage 4に達しES2027を目標とし、usingキーワードとimport deferはStage 3でブラウザ実装が既に成熟しています。

JavaScriptで本当に新しいもの(そして次に来るもの)
Read Articlearrow_forward
Video · フレームワーク

TanStack StartでSSR/RSCを実現する5つの方法

Jack HerringtonはPokeAPIを使ってTanStack Startで利用できる5つのデータローディングとレンダリング戦略を解説します。5つのモードは次の通りです:(1) CSR — ssr: false、クライアントでローダーが実行される;(2) SSR — ssr: true(デフォルト)、サーバーでデータとHTMLを両方レンダリングしてハイドレーション;(3) データのみSSR — データはサーバー側で取得するがHTMLはクライアントのみでレンダリング、CDNキャッシュを避けるダッシュボードページに有用;(4) renderServerComponentによるRSC — 非同期サーバーコンポーネントと低レベルRSC APIを使用してルートローダーからレンダラブルを返す;(5) createCompositeComponentによるRSC — use clientなしにクライアント側のインタラクティブ要素をサーバーレンダリングレイアウトにスロットで挿入できるTanStack固有のAPI。RSCサポートはViteJS RSCプラグインとTanStack Start Viteプラグインのフラグを追加して有効化します。

AI_INFOGRAPHIC
TanStack StartでSSR/RSCを実現する5つの方法 — infographicWATCH_VIDEOarrow_forward
Article · ランタイムREAD TIME: 16m

Bun v1.3.13

Bun v1.3.13はテストランナーの大幅な改善と広範なパフォーマンス・互換性向上を提供します。新しいbun test --isolateフラグは各テストファイルを単一プロセス内の新鮮なグローバル環境で実行し、--parallelはワークスティーリングスケジューリングでN個のワーカープロセスにファイルを分散します。新しい--shard=M/NフラグはJestやPlaywrightと同じ構文でCIジョブにテストファイルをラウンドロビン分配します。新しいビットパックバイナリ形式でソースマップのメモリがマッピングあたり約20バイトから2.4バイトに削減され、コンパイルバイナリサイズが約1.8 MB縮小されます。zlib-ng 2.3.3へのアップグレードによりgzip圧縮速度が最大5.5倍向上しました。Bun.serve()にRange要求サポート(RFC 9110部分コンテンツ/206レスポンス)が追加され、JavaScriptCoreエンジンは1,316件のWebKitコミットをマージしました。WebCryptoとnode:cryptoにSHA3-224/256/384/512とX25519 deriveBitsが追加されました。

READ_FULL_LOGarrow_forward
Article · フレームワークREAD TIME: 7m

Fresh 2.3:デフォルトZero JS、View Transition、Temporal対応

20名のコントリビューターによる100以上のコミットで作られたFresh 2.3は、フレームワークのゼロJavaScript約束をより精密に実現します。アイランドやパーシャルを使用しないページはスクリプトタグとモジュールプリロードヘッダーなしで0 KBのJavaScriptを提供します(2.2では生14-22 KB / gzip 5-9 KB)。このリリースではbody要素のf-view-transition属性一つでView Transitions APIサポートが追加され、CSSカスタマイズ可能なアニメーションと未対応ブラウザへのフォールバックを提供します。app.ws()ctx.upgrade() APIによるWebSocketのファーストクラスサポートも追加されました。Vite統合では2つのBabelパスが削除され、CJS-to-ESM処理、React互換エイリアシング、Radix UI互換性が修正されました。セキュリティとしてCSPノンスインジェクションミドルウェアとCIDRサポートのIPフィルターミドルウェアが含まれます。8つすべてのTemporalタイプをアイランドpropsとして渡せるようになり、プリコンパイル済みミドルウェアチェーンとOpenTelemetry W3C traceparent伝播も追加されました。

READ_FULL_LOGarrow_forward
Article · バンドラーREAD TIME: 12m

Rspack 2.0を発表

Rspack 2.0は、単なる高速なwebpack互換バンドラーを超え、モダンなJavaScriptのデフォルトを目指す重要な進化です。ビルドパフォーマンスは1.7比で約10%1.0比で最大100%)向上し、永続キャッシュのヒット時はビルド時間が約50%短縮、キャッシュ有効時のメモリ使用量は20%以上削減されます。@rspack/dev-serverの依存パッケージ数は192から1に削減され、インストールサイズは15 MBから1.4 MBへと大幅に縮小しました。出力最適化ではCommonJSの分割代入を考慮したツリーシェイキング、#__NO_SIDE_EFFECTS__コンパイラアノテーション、Module Federationの共有依存関係ツリーシェイキングが追加されました。ESMサポートも刷新され、コアパッケージが純粋なESMへ移行、ESM出力でimport.metaプロパティが保持されます。新機能として実験的なReact Server Componentsサポート、#/サブパスエイリアスインポート、swc-loaderdetectSyntax: autoオプション、ハッシュベースのモジュールIDが含まれます。

READ_FULL_LOGarrow_forward
Article · React内部READ TIME: 7m

ReactがUIを順不同でStreamingしながら秩序を保つ仕組み

Sankalpa Acharyaによるこの記事は、React 18renderToPipeableStreamで導入されたReactの順序を問わないストリーミングの内部メカニズムを解剖します。従来のSSRは最も遅いデータフェッチが完了するまでHTML応答全体をブロックしますが、ReactのSuspenseベースのストリーミングは準備できたコンポーネントを即座に送信し、保留中の各Suspense境界にHTMLコメントマーカー(<!--$?--> / <!--/$-->)とテンプレートプレースホルダーを挿入します。サーバーデータが解決されると、Reactは実際のコンテンツを含む非表示divと$RC(boundaryId, contentId)を呼び出す小さなインラインスクリプトをストリーミングします。$RC関数はテンプレートと解決されたdivを見つけて境界をキュー済み($~)としてマークし、$RV関数でrequestAnimationFrameを使ってDOMスワップをスケジュールします。境界のライフサイクルは$?(保留)→$~(キュー済み)→$(完了)と進行します。

READ_FULL_LOGarrow_forward
Article · ReactコンパイラREAD TIME: 12m

React Compilerの18カ月:軌跡、議論、次に来るもの

Sascha Beckerは、2024年末のReact 19と同時に公開ベータとしてリリースされ、2025年10月1.0としてリリースされたReact Compiler18ヶ月を振り返ります。コンパイラの最大の影響はベンチマーク数値ではなく、見落としたuseCallbackの依存関係やリストでの不要な再レンダリングといったバグカテゴリ全体を廃絶したことです。グリーンフィールドの話は解決済みですが、ブラウンフィールドでの採用は一つのプロジェクトです。コンパイラがReactのルールをビルド時に強制することで、古いステートライブラリやフックの静かな違反が露呈したためです。主な失敗パターンとして、レンダリング中の変更、レンダリングでのref読み取り、クラスコンポーネント(コンパイル不可)、サポートされない構文でのサイレントバイルアウトがあり、react-hooks/unsupported-syntaxのESLintルールで検出できます。今後はより細かいコンパイル制御、RSCシリアライゼーションの最適化、useEventの収束、React NativeへのコンパイラサポートとDevToolsビジュアライザーが期待されます。

READ_FULL_LOGarrow_forward
summarizeDigest_Summary

第17週はJavaScriptエコシステムのリリースと仕様ニュースが目白押しでした。ES2025が正式批准され、ES2026の候補草案も確定し、Iterator.prototypeに遅延評価の.map().filter().take().toArray()を提供するIterator helper、ネイティブSetメソッド(union・intersection・difference)、Promise.tryRegExp.escapeFloat16Array、JSONのimport attributeが追加されます。ES2026にはMath.sumPreciseUint8Array.toBase64/toHexError.isErrorMap.getOrInsertArray.fromAsyncJSON.parseのソーステキストリバイバーが加わります。TemporalはES2027を目標に2026年3月にStage 4に達しました。

ツール面では、Rspack 2.0がwebpack互換バンドラーからモダンJSファーストバンドラーへと転換しました。ビルドパフォーマンスは1.7比で約10%(1.0比で最大100%)向上し、永続キャッシュでビルド時間が約50%短縮、dev-serverのインストールサイズが15 MBから1.4 MBに縮小しました。ESMが主要な出力形式となり、実験的なReact Server Componentsサポートも追加されました。Bun v1.3.13--isolate--parallelフラグ、CI配布のための--shard=M/Nフラグ、コンパイルバイナリサイズを約1.8 MB削減するビットパックソースマップ形式を導入しました。zlib-ng 2.3.3によりgzip圧縮速度が最大5.5倍向上し、WebCryptoにSHA3とX25519 deriveBitsが追加されました。

DenoのFresh 2.3は真のゼロJSページを実現しました(14-22 KBから0 KB)。bodyのf-view-transition属性一つでView Transitions APIサポート、app.ws()ctx.upgrade()によるWebSocketのファーストクラスサポート、アイランドpropsとしての完全なTemporalタイプサポートが追加されました。React Compilerは2025年10月1.0に達し、TanStack Startはcreate CompositeComponent APIを含む5つのSSR/RSCレンダリング戦略をサポートするようになりました。

Key Takeaways
  • ES2025のIterator helperはArray.fromのオーバーヘッドなしに遅延無限シーケンス処理を可能にし、ES2026のMath.sumPreciseは浮動小数点精度の合計を提供します。どちらも現在ブラウザに展開中です。
  • Rspack 2.0はwebpack互換のアイデンティティを捨ててモダンESMデフォルトに転換し、dev-serverのインストールサイズを15 MBから1.4 MBに削減、実験的なReact Server Componentsサポートを追加しました。
  • Fresh 2.3はデフォルトで真のゼロJSを達成し、Bun v1.3.13は--shard=M/N CIテスト分割とバイナリサイズを約1.8 MB削減するビットパックソースマップ形式を導入しました。