This Week in React #280 キャッチアップ
発行日: 2026-05-06 ソース: TanStack, Remotion, React Router, Remix, Trees, Pracht, shadcn | Expo Go, Ease, Screen Transitions, LegendList, JSI, Gradle, Radon, Baguette, Rozenite, AI | Node.js, Datatype, tsz, Astro
今週の注目ポイント
- TanStackを騙る悪意あるnpmパッケージが発見され、環境変数の窃取を試みる攻撃が報告された
- Remix 3 Betaが公開。React/React Router非依存の新アーキテクチャに移行
- Node.js 26.0がリリース。Temporal APIやMap.getOrInsertなどの新APIが利用可能に
- TanStack StartがRSCを「プロトコル」として再定義し、サーバー主導・クライアント主導の両方の構成を可能に
- tsz: Rust製TypeScriptコンパイラが登場し、高速なコンパイルを実現
React
Malicious npm Package Brand-Squats TanStack to Exfiltrate Environment Variables
- URL: https://socket.dev/blog/tanstack-brandsquat-compromise
- 要約: TanStackを偽装した悪意あるnpmパッケージが発見された。公式組織が所有していない
tanstackパッケージをインストールすると、環境変数が窃取される危険がある。
Who Owns the Tree? RSC as a Protocol, Not an Architecture
- URL: https://tanstack.com/blog/who-owns-the-tree
- 要約: TanStack StartがRSCを「プロトコル」として再定義し、サーバー主導とクライアント主導の両方のコンポジションを可能にする。Next.jsの従来のサーバー駆動アーキテクチャとは対照的なアプローチ。
Introducing TanStack Form
- URL: https://frontendmasters.com/blog/introducing-tanstack-form/
- 要約: TanStack Formの紹介記事。強力な型付けと柔軟なアプローチによるReactアプリケーションのフォーム管理を特徴とする。
Time to Yield - An SSG benchmark across five React frameworks
- URL: https://dev.to/lazarv/time-to-yield-20m8
- 要約: 5つのReactフレームワークにおける静的サイト生成のベンチマーク。ジェネレーターによるルートのyieldで、初回ページレンダリングの高速化を検証している。
Next.js Link as a Button
- URL: https://kittygiraudel.com/2026/05/02/nextjs-link-as-a-button/
- 要約: Next.jsのLinkコンポーネントをボタンとして使用する方法を探る。現在は
legacyBehaviorが必要だが、Fragment Refsによる解決策が今後予定されている。
React Miami 2026
- URL: https://brookslybrand.com/posts/react-miami-2026.html
- 要約: カンファレンスのレポート。React機能への関心の低下や、React RouterとRemixエコシステム間の混乱について議論された。
Remotion 4.0.455 - New <HtmlInCanvas> component
- URL: https://github.com/remotion-dev/remotion/releases/v4.0.455
- 要約: 新しい
<HtmlInCanvas>コンポーネントにより、HTMLとcanvasベースのシェーダーエフェクトを組み合わせたプログラマティック動画作成が可能に。
Remix 3 Beta Preview
- URL: https://remix.run/blog/remix-3-beta-preview
- 要約: Remix 3はReact/React Router依存を排除し、明示的な再レンダートリガー、Frames、アンバンドルアプリなどの新概念を導入するフレームワークとして再構築された。
React Router 7.15
- URL: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7150
- 要約: React Router v8に向けたAPI安定化が進行中。ルートマッチングのパフォーマンス最適化も含まれる。
Trees - File tree UI library
- URL: https://trees.software/
- 要約: パフォーマンスと柔軟性を重視したファイルツリーUIコンポーネントライブラリ。ReactとバニラJavaScriptの両方をサポートしている。
Pracht - Preact framework
- URL: https://pracht.resynapse.dev/
- 要約: Preactベースのフレームワーク。明示的なルーティング制御、ルートごとのレンダーモード設定、クラウドプロバイダーアダプターを提供する。
shadcn CLI 4.7 - Package Imports and Target Aliases
- URL: https://ui.shadcn.com/docs/changelog/2026-05-package-imports-target-aliases
- 要約: shadcn CLIがアップデートされ、パッケージインポートの処理改善とターゲットエイリアスの設定機能が追加された。
その他(JS / CSS / Web全般)
The end of responsive images
- URL: https://piccalil.li/blog/the-end-of-responsive-images/
- 要約: モダンブラウザでは
loading="lazy"とsizes="auto"属性により、適切な画像サイズが自動的に決定されるようになった。手動でのブレークポイント定義が不要に。
Media Queries Range Syntax
- URL: https://ishadeed.com/article/range-syntax/
- 要約:
@media (300px <= width <= 500px)のようなCSSレンジクエリ構文がモダンブラウザで広くサポートされ、明示的なブレークポイント不要で利用可能に。
Why “Trusted Publishing” Can’t Save Us from Social Engineering
- URL: https://adventures.nodeland.dev/archive/why-trusted-publishing-can-t-save-us/
- 要約: npmのTrusted PublishingやProvenance機能は、メンテナー自身が侵害された場合の悪意あるパッケージ公開を防ぐことはできないという問題を指摘。
The O(n^2) Bug That Looked Like Clean Code
- URL: https://dev.to/aralroca/the-on2-bug-that-looked-like-clean-code-3556
- 要約: 一見クリーンに見えるJavaScriptパターンが二次計算量の問題を抱えており、パフォーマンスが大幅に劣化するケースを検証している。
Node.js 26.0
- URL: https://nodejs.org/en/blog/release/v26.0.0
- 要約: メジャーリリース。Temporal APIやMap.getOrInsertなどの新APIが利用可能に。HTTPクライアントのアップグレードも含まれ、偶数/奇数のLTS区分が廃止された。
Datatype - Variable font that turns text into charts
- URL: https://franktisellano.github.io/datatype/
- 要約: リガチャを使用してテキストをインラインチャートとしてレンダリングする可変フォント。グリッドやリスト内での効率的なデータ可視化を実現する。
tsz - TypeScript compiler in Rust
- URL: https://tsz.dev/
- 要約: Rust製のTypeScriptコンパイラ(開発中)。既存のソリューションのドロップイン置き換えとして、より高速なコンパイル速度を提供することを目指す。
Astro 6.2
- URL: https://astro.build/blog/astro-620/
- 要約: SVG最適化と実験的なLogger/フォントAPIが追加された。Vite 8と安定版Rustコンパイラを搭載したAstro v7アルファも利用可能に。