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

Deno 2.8 — 2026年 第21週 JavaScript

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

calendar_todaysummarizeWeek 21-2026
ランタイム

Deno 2.8

Deno 2.8はこれまでで最大のマイナーリリースで、deno audit fixdeno bump-versiondeno cideno packdeno transpiledeno why6つの新しいサブコマンドを導入しました。CLIでnpm:プレフィックスが省略可能になり、並列resolution・簡略化packument・tarball展開の改善により、コールドnpmインストールが2.73.66倍高速化されました。Node.js API互換性は約42%から76.4%4,457テスト中3,405件合格)に大幅向上し、Bun 1.3.1436.4%を大きく上回りました。TypeScript 6.0.3バンドル、import defer対応、flamegraphとMarkdown出力付きのCPUプロファイリング、Chrome DevToolsによるネットワーク検査、モノレポ向けcatalog:プロトコル、OffscreenCanvasのstable global化も追加されています。

Deno 2.8
Read Articlearrow_forward
Video · ツール

RustがZigまで置き換えるなんて信じられない

ForrestKnightは、BunのAnthropicによる買収後にAI主導でZigからRustへ書き直された経緯を紹介しています。Jarred Sumnerは、型マッピング・イディオム翻訳・命名規則など約300のルールを含むporting.mdの設計書に従い、Claudeを使用して約1,200のZigファイルをRustに移植しました。マージされたコードは全プラットフォームでBunの既存テストスイートをパスし、複数のメモリリークを修正し、バイナリを3〜8MB縮小し、ベンチマークでニュートラルから高速化を達成しています。uvの73に対して13,000以上のunsafeブロックへの批判がありましたが、動画はBunのC/C++ FFIブリッジが約2,400の不可避なunsafeブロックを説明し、残りはZigの2,500以上の生ポインタ操作を忠実に移植した結果であると解説しています。この書き直しはフェーズAの草案(ロジック忠実、未だイディオマティックでない)で、Zigコードは後続PRで段階的に削除される予定です。

AI_INFOGRAPHIC
RustがZigまで置き換えるなんて信じられない — infographicWATCH_VIDEOarrow_forward
Article · ランタイムREAD TIME: 13m

Node.js 24.16.0(LTS)

コードネームKryptonNode.js 24.16.0は、v24ラインの最新LTSリリースです。最も注目すべき追加機能はcrypto.randomUUIDv7()で、RFC 9562仕様に従い時系列UUIDを生成するsemver-minorの追加です。テストランナーはテスト順序のランダム化、統一されたmockタイムアウトAPI、AbortSignal.timeout向けmock-timersサポートを備えました。fsモジュールはfs.stat()にキャンセル可能なsignalオプションを追加し、statfsfrstimeフィールドを公開します。debuggerはnode inspectを通じた編集不要のランタイム式プローブを取得し、httpモジュールはClientRequestオプションのマージを強化し、IncomingMessagereq.signalを追加しました。

READ_FULL_LOGarrow_forward
Article · セキュリティREAD TIME: 11m

Flight ProtocolがあなたのDoSを私の問題にした

2026年5月6日、ReactとNext.jsは単一のアドバイザリで12件の脆弱性にパッチを当てました。深刻度「高」のCVE-2026-23870は、Flightプロトコルデシリアライザーにおけるサービス拒否脆弱性で、不正なチャンクグラフを持つ単一の未認証HTTPリクエストがNodeワーカーをCPUに固定し、他のリクエストへの応答を停止させます。このバグは19.0.5/19.1.6/19.2.5以前のすべての19.xラインのreact-server-dom-webpackreact-server-dom-parcelreact-server-dom-turbopackに影響し、Server Actionsを直接記述しないNext.js App Routerプロジェクトもすべて対象です。パッチ版の修正はデシリアライザーに構造検証・深さとサイズの上限・型タグ強制を追加します。著者は、Server Actionsを関数呼び出しとして捉えるメンタルモデルが、各use serverディレクティブがFlight形式のバイトを解析する未認証HTTPエンドポイントを作成するという事実を隠していると主張しています。

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

TanStack Virtualが大幅に高速化し、ついにiOS対応

Tanner Linsleyがより TanStack Virtualを徹底的に監査し、数年ぶりの最大規模の単一パフォーマンスリリースを出荷しました。コアの修正はresizeItemに潜んでいたMapのクローンを排除し、10kアイテムリストで5000万回の無駄な操作を解消して、そのシナリオを1.9秒から1.3ミリ秒(1,382倍高速)に削減しました。100kアイテムのコールドマウントは実際のReactで6.1msから4.5msに改善し、Float64Array基盤の遅延VirtualItemプロキシで500kアイテムのマウントが14msから2.7msに低下しました。動的高さリストで長年機能していなかったiOS Safariのモメンタムスクロールが、タッチジェスチャー終了後に一括フラッシュするscrollTop遅延書き込みで解決されました。スクロール方向によるpositionの調整ゲーティングで後退スクロールのジャンクもデフォルトで修正されています。

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

Webpack 5.107

Webpack 5.107はネイティブHTMLモジュールサポートへの第一歩を踏み出しました。experiments.htmlを有効にすると、JavaScriptから.htmlファイルをimportでき、インラインのstyleタグ・scriptタグ・img srclink hrefscript srcの参照がすべて通常のwebpackパイプラインで処理され、html-loaderを置き換えます。別のexperiments.typescriptフラグは、Node.js組み込みのmodule.stripTypeScriptTypesを使用したローダー不要のTypeScriptコンパイルを追加し、TypeScriptのerasableSyntaxOnlyモードと同じ制約が適用されます。CSS ModulesはScopeホイスティング、うっかりグローバルセレクターを検出するpureモードパーサーオプション、@importurl()参照内での@value識別子使用機能を獲得しました。リゾルバーはNode.jsに合わせてconditionNamesmodule-syncを追加しました。

READ_FULL_LOGarrow_forward
Article · セキュリティREAD TIME: 19m

実世界のReDoS:329のJavaScript Repositoryから学ぶRegex DoS

Ko-Hsin LiangはBabelベースのAST検出器を使用して329の公開JavaScriptおよびTypeScriptリポジトリをスキャンし、176リポジトリで9,528件の潜在的なReDoSパターンを発見しました。そのうち9,516件はoverlapping alternativesに分類されました。Node.js v24でのベンチマークは、(a*)*(a|a)*((a+)+)+のようなパターンが指数的バックトラッキングを引き起こすことを確認しました。20文字の入力で150〜244msかかり、40文字以上では安全な同等パターンがサブミリ秒を維持する一方で5秒タイムアウトに達します。各検出結果に最も単純な攻撃入力を生成するフォローアップの動的プローブはタイムアウトを0件しか生成せず、静的スキャンが最終判断ではなく広範なフィルターであることを示しました。この研究はsafe-regexeslint-plugin-regexpre2 npmモジュールの使用を推奨し、意味論的バリデーションには複雑なネストregexよりnew URL()などのパーサーを推奨しています。

READ_FULL_LOGarrow_forward
summarizeDigest_Summary

今週のJavaScriptカテゴリは、主要なランタイムリリースが中心となりました。過去最大のマイナーリリースであるDeno 2.8は、6つの新しいサブコマンド(deno audit fixdeno bump-versiondeno cideno packdeno transpiledeno why)を追加し、コールドnpmインストール速度を3.66倍に高速化し、Node.js API互換性を42%から76.4%まで引き上げ、Bun 1.3.1436.4%を大きく上回りました。Node.js 24.16.0 LTS(コードネームKrypton)はRFC 9562の時系列UUIDを生成するcrypto.randomUUIDv7()、テスト順序のランダム化、fs.stat()のキャンセル可能signalオプションを提供します。Webpack 5.107experiments.htmlによるネイティブHTMLモジュールサポートと、experiments.typescriptによるローダー不要のTypeScriptコンパイルをプレビューとして追加しました。

セキュリティも大きな注目点です。CVE-2026-23870はReactのFlightプロトコルデシリアライザーに存在する深刻度「高」のDoS脆弱性で、19.0.5/19.1.6/19.2.5以前のすべての19.x系のreact-server-dom-webpackreact-server-dom-parcelreact-server-dom-turbopackに影響し、すべてのNext.js App Routerプロジェクトが対象です。329リポジトリをスキャンした実証研究では9,528件の潜在的なReDoSパターンが発見され、safe-regexeslint-plugin-regexpre2 npmモジュールが緩和策として推奨されています。

パフォーマンス面では、TanStack VirtualがresizeItemの隠れたMapクローンを排除することで10kアイテムリストで1,382倍の速度向上を実現し、iOS Safariのモメンタムスクロール問題を遅延scrollTop書き込みで修正しました。一方、BunはClaudeとporting.mdルールブックを使って約1,200ファイルをZigからRustにAI支援で書き直し、フルテストスイートをパスしながらバイナリを3〜8MB縮小しました。

Key Takeaways
  • Deno 2.8はNode.js API互換性を76.4%(Bun比36.4%)まで高め、コールドnpmインストールを3.66倍高速化してNode.jsとの差を大幅に縮めました。
  • CVE-2026-23870はReactのFlightデシリアライザーの深刻度「高」DoS脆弱性で、すべてのNext.js App Routerプロジェクトが影響を受けます。react-server-dom 19.0.5/19.1.6/19.2.5へ直ちにパッチを当ててください。
  • TanStack Virtualの1,382倍のリストレンダリング高速化とiOS Safariモメンタムスクロール修正が単一リリースで提供されます。大規模な仮想化リストを使うプロジェクトは必ず更新してください。