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

Astro 6ベータ — 2026年 第3週 JavaScript

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

calendar_todaysummarizeWeek 3-2026
リリース

Astro 6ベータ

Astro 6 Betaがリリースされました。最大の目玉はViteのEnvironment APIを活用して開発サーバーとプロダクションのコードパスを統合した、完全に再設計されたastro devです。Cloudflare Workersのファーストクラスサポートが実現し、astro devがプロダクションと同じオープンソースランタイムであるworkerd上で動作するため、Durable Objects、KV Namespaces、R2 Storage、HMRをシミュレーションなしでローカルから直接利用できます。リアルタイムデータソース向けのLive Collectionsと、最多リクエストだったContent Security Policy(CSP)サポートが安定版に昇格しました。Astro 6はNode 18・20のサポートを終了してNode 22以上を必須とし、Zod 4へアップグレードするとともに、Astro.glob()やレガシーViewTransitionsコンポーネントなどの旧APIを削除します。

Astro 6ベータ
Read Articlearrow_forward
Video · TypeScript55:05

TypeScriptを壊した男

SyntaxポッドキャストがTypeScriptの型システムだけでDoomゲームエンジンを完全実装した開発者Dmitri Metropolisをインタビューします。JavaScriptは一行も使わず、.d.tsファイルさえ存在しない純粋な型システムのみによる実装です。最終的な型チェックの実行は地下室のPCでTSCをループ実行して11.5日間かかり、プロジェクト全体は1年半に及びました。MetropolisはグレースケールのASCIIアートレンダリングの仕組みと、DoomのコンパイルされたWASMを実行するためにTypeScript型だけでWebAssemblyランタイムを構築した方法を解説します。インタビューでは彼の新しいTauriベースのデスクトップツールTypes Slayerも紹介され、TypeScriptコンパイラの内部を可視化して最大のunion型、@ts-ignoreで隠された過剰深度再帰エラー、コンパイル時ホットスポットを表示します。AIエージェント時代においてTypeScriptのパフォーマンスがますます重要になる理由も深く議論されています。

AI_INFOGRAPHIC
TypeScriptを壊した男 — infographicWATCH_VIDEOarrow_forward
Article · フレームワークREAD TIME: 9m

Angular 21.1:主要機能と改善点

Angular 21.1がリリースされ、テンプレート、ルーティング、フォームにわたる開発者体験の改善が多数追加されました。テンプレートでは@switchブロックのfall-through複数@caseマッチング、関数呼び出しへのrest引数、配列リテラルへのspread要素、オブジェクトリテラルへのspread式など、完全なスプレッド演算子構文をサポートします。Signal Formsの実験的APIでは[field]ディレクティブが[formField]に改名され、readonly配列サポートや非同期バリデーションのクリーンアップが強化されました。RouterはNavigation API統合(実験的)、非アクティブなルートのEnvironmentInjectorを自動クリーンアップするwithExperimentalAutoCleanupInjectors()、そしてRouter.isActive()を非推奨にするSignal<boolean>を返す独立関数isActive()を追加しました。アプリが9秒以内に安定しない場合に待機中タスクをコンソールへ記録するprovideStabilityDebugging()ユーティリティも新たに導入されています。

READ_FULL_LOGarrow_forward
Article · ランタイムREAD TIME: 12m

Bun v1.3.6

Bun v1.3.6がリリースされ、新しいAPIと大規模なパフォーマンス改善が追加されました。新機能としてtar/gzip アーカイブの作成・展開用のBun.Archivetsconfig.jsonのようなコメント付きJSONをパースするBun.JSONC.parse()、そしてesbuildのバンドル分析ツールと互換性のあるBun.build()metafileオプションが追加されています。パフォーマンス面では、Response.json()がJavaScriptCoreのSIMD最適化FastStringifierにより3.5倍高速化async/await15%Promise.race()30%向上し、Buffer.indexOf/includesはSIMDで2倍、大容量メッセージのクロスプロセスJSON IPCは9倍Bun.hash.crc32はハードウェア加速命令で20倍高速化されました。主なバグ修正として、jest.useFakeTimers()@testing-library/reactで正常動作するようになり、sql() INSERTヘルパーがundefined値を適切に省略してデータベースのDEFAULT列が正しく機能するようになりました。

READ_FULL_LOGarrow_forward
Article · LintingREAD TIME: 8m

ESLintの2025年振り返り

ESLintの2025年回顧録は、急成長と主要なアーキテクチャ上のマイルストーンに満ちた一年を振り返ります。週間npmダウンロード数は年初の4,270万回から年末の7,070万回65%増加し、v9.xは週間3,600万回以上に達しました。チームは@eslint/cssによる公式CSSサポートを提供し、html-eslintを公式言語プラグインとして迎え入れてウェブの「ビッグスリー」を完成させました。v9.34.0で導入されたマルチスレッドlintingは大規模プロジェクトで30〜300%のパフォーマンス向上をもたらします。ESLintはGitHub Copilotコードレビューに統合され、AIモデル連携用の@eslint/mcpもリリースされました。現在リリース候補段階のESLint v10.0.0Node 20.19.0未満のサポートを終了し、レガシーeslintrc設定システムを完全に削除します。2025年の収入$204,451に対し支出は$262,150で、AutomatticとAirbnbが各$24,000でトップスポンサーとなりました。

READ_FULL_LOGarrow_forward
Article · パフォーマンスREAD TIME: 4m

何でも配列にするのはやめよう:代わりにIterator Helpersを使う

JavaScriptのネイティブIterator Helpersが現代のブラウザとNode 22以上で安定的にサポートされ、おなじみの.map().filter().slice()チェーンに対するlazy(遅延)な代替手段を提供します。配列メソッドの問題は、数千件の中から10件だけ必要な場合でも、常に中間配列を生成してすべての要素を処理してしまう点です。.filter().map().take().drop().flatMap()などのIterator helpersは、.values().keys()、またはgeneratorで取得したiteratorオブジェクト上でチェーン可能で、必要なときだけ値を取り出し、結果が揃い次第すぐに停止します。仮想リスト、無限スクロール、非同期ページネーションAPIなど、不要な処理を完全に避けたいシーンで実用的な恩恵をもたらします。注意点として、iteratorは使い捨て(再利用不可)、遅延実行により副作用が消えたように見える場合がある、そしてitems[5]のようなランダムアクセスはサポートされません。

READ_FULL_LOGarrow_forward
Article · パフォーマンスREAD TIME: 7m

Next.jsワークロードで露呈したBunのレイテンシ問題

PlatformaticがAWS EKS(m5.2xlarge、CPU 6コア)上でNext.js 15.5をNode.js、Bun、Deno、Platformatic Wattの4ランタイムで、Grafana k6を使って1,000リクエスト/秒・120秒の負荷テストとして比較しました。結果は3つの明確なレイテンシー層に分かれました:DenoとWattが平均11〜14ms、Node.jsが約20ms、そしてBunは平均246ms・p99が974msと大幅に遅れました4ランタイムすべてが1回あたり約120,000リクエスト100%の成功率を達成しました。SO_REUSEPORTベースのマルチスレッドを採用するWattは標準偏差±1.03msで最も高い安定性を示しました。ベンチマークではNext.jsのshebangを上書きしてBunランタイムを強制するためにbun run --bun next startを使用し、全ベンチマークインフラはGitHubでオープンソースとして公開されています。

READ_FULL_LOGarrow_forward
summarizeDigest_Summary

3週目のJavaScriptイシューは、純粋なスピードと現実的な制約のあいだの緊張感によって特徴づけられます。注目リリースのAstro 6 BetaはViteのEnvironment APIをベースに完全再設計された開発サーバーを提供し、workerdによるCloudflare Workersのファーストクラスサポートが最大の目玉です。ローカル開発がプロダクションと同一のオープンソースランタイム上で動作するようになりました。Live CollectionsとCSPサポートが安定版に昇格し、Node 18/20のサポートが終了してNode 22+とZod 4が必須となります。Angular 21.1はテンプレートへの完全なスプレッド演算子構文、Signal Formsの[formField]ディレクティブへの改名、安定化の遅延診断用provideStabilityDebugging()など、DXの着実な改善をもたらします。

Bun v1.3.6Response.json()3.5倍高速化async/await15%向上Bun.hash.crc3220倍高速化など大規模なパフォーマンス改善に加え、Bun.ArchiveBun.JSONC.parse()の新APIを追加しています。しかしPlatformaticのNext.jsベンチマークが冷静な反論を示します。1,000リクエスト/秒の継続負荷でBunは平均246msのレイテンシーを記録した一方、DenoとWattは1114msにとどまりました。高並列SSRでBunを採用する前に慎重な検討が必要です。ESLint 2025年レビューはダウンロード数65%急増v9.34.0のマルチスレッドlinting(30〜300%高速化)、そしてレガシーeslintrc設定システムを完全削除するv10.0.0を伝えます。

言語の最前線では、安定版となった.filter().map().take().drop()などのIterator Helpersによるlazy評価が仮想リストや無限スクロールで配列チェーンより優れることを示す実践的な記事が注目されます。またSyntaxによるDmitri Metropolisのインタビューは、18ヶ月かけてTypeScript型システムだけでDoomを実装した驚異のPoCであり、AIエージェントワークフローにおいてTypeScriptのコンパイルパフォーマンスが真のボトルネックになり得るという真剣な洞察も含んでいます。

Key Takeaways
  • Astro 6 Betaの新開発サーバーはworkerd上で動作し、Durable ObjectsやKVなどをシミュレーションなしでローカルから直接利用できます。
  • Bun v1.3.6は注目のパフォーマンス改善を提供しますが、PlatformaticのNext.jsベンチマークでは継続負荷時にBunの平均レイテンシーが約246msとなり、Deno/Wattの1114msに大きく遅れを取りました。
  • ESLint v10.0.0(RC)はレガシーeslintrc設定システムを完全に削除し、大規模コードベースで30300%の性能向上をもたらすマルチスレッドlintingを追加します。