Cybozu Frontend Monthly #71

イベント概要
サイボウズフロントエンドマンスリーは、サイボウズ社内で行っているフロントエンド情報共有会「フロントエンドウィークリー」の公開版です。
その月に気になったフロントエンドの情報を、サイボウズのフロントエンドエンジニアのメンバーが共有していきます。
このイベントのハッシュタグは #サイボウズフロントエンドマンスリー です。
※フロントエンドウィークリーとは
毎週火曜の 17:00 〜 18:00 で社内向けに行っているフロントエンドの気になる記事を紹介する会です。
2016年3月15日から行われています。
ZennのPublicationにてウィークリーのまとめを投稿していますので、ぜひこちらもご覧ください。https://zenn.dev/p/cybozu_frontend
開催日
2026年09月29日
イベントページ
https://cybozu.connpass.com/event/405580/
メンバー
コンテンツ
👀 Notable Articles
pnpm 12.4
- 共有者: @mugi_uno
9/10 に pnpm 12.4 がリリースされました。
ここでの大きい変更として、従来の npm パッケージに加えて、Python、Cargo (Rust) のパッケージもサポートされました。
pnpm-workspace.yaml に
cargo:
enabled: true
python:
enabled: true
などと書いておくだけで、 pnpm add crate:serde pnpm add pypi:httpx などとして依存パッケージをインストールできるようになります。
これに対して、「なぜ Rust と Python をサポートするのか?」という疑問が Discussion に起票されています。
メンテナからの回答があり、要約すると次のような内容でした。
- コードの転送やバージョン管理に関係するものは全て pnpm の対象範囲
- そもそも pnpm の説明には長年 “Fast, disk space efficient package manager” とあるが、JavaScript/Node.js のパッケージマネージャとは明記されておらず、当初から計画されていたもの
- JavaScript のパッケージ管理が一番難しかっただけ
- pnpm 自体が 12.4 で Rust に書き直されており、そこで使いたいのもある
- 現代では、リポジトリにフロントエンドに加えて多言語が混在することが一般的
- 将来的にはさらに多くの言語をサポートするかもしれない
正直私も pnpm = npm のパッケージマネージャという認識だったので「そうだったの!?」という感じでした。
複数言語の管理となると、mise などが利用されるケースも多いですが、 pnpm が今後拡張されていくと、そのあたり単体でカバーされるようになるのかもしれませんね。
(ただ、“pnpm” と名前の一部に “npm” が入ってるのはいいのでしょうか)
Vitest 5.0 is out!
- 共有者: @nus3
Vitest 5.0 がリリースされました。
5.0 ではパフォーマンス改善にフォーカスしていたようですが、そのほかにもいくつか新しい機能や変更があります。
パフォーマンス改善
- vitest-dev/benchmarksというベンチマーク用のリポジトリを作った
- Fable で作ったものを Vitest チームがレビューしたもの
- シンプルな単体テストから 1300 モジュールあるプロジェクトまで、さまざまな条件でのベンチマークをしている
- プールと環境を跨いで実行される
- このベンチマークの結果、以前のバージョンと比べ、15〜25%ほど実行時間が速くなった
- テスト実行時の内訳がパーセント表示されるように
Duration 3.76s (environment 79%, import 13%, transform 6%, tests 1%, setup 1%)
vitest doctorコマンドで、他の設定時にどれくらいパフォーマンスが診断してくれるように
機能追加や変更
- Trace View がビルトイン
- Playwright など provider に依存せずとも使えるように
- 関数の引数ごとに異なる返り値を定義する
vi.whenが追加 clearMocksがデフォルト true に- 次のテストにモックの呼び出しが引き継がれないように
- 実行順序に依存する問題の原因の解決策
- Fake timers のモック対象に Temporal API も追加
--repeatsオプションが追加。結果に関わらず指定した回数だけテストを繰り返し実行する
Zod のバリデーションが速くなりそう
- 共有者: @sajikix
Zod 4.5 と Zod 4.6 に入った変更でバリデーションの高速化が図られています。
z.compile() - v4.5
新しくz.compile()というメソッドが追加されました。このz.compile()でschemaをwrapすると、実行時にスキーマを 1 回走査し以降はなるべくループなしのフラットな JS を new Function で生成するようになります。
ベンチマークではオブジェクトや配列、unionで3~9倍程度の高速化が実現されたそうで、複雑なschemaで何度もチェックしてる部分ではこの最適化が効いてきそうです。
ただし、注意点としてバンドルサイズが少し増えることや、失敗時はエラーを組み立てるために従来のパーサーにフォールバックするので高速化の恩恵を受けられるのは基本的に正常系だけ、といった点があります。
z.validate() - v4.6
新しくz.validate()というメソッドが4.6からサポートされました。このz.validate()はZodError を作らず boolean だけ返す型ガードです。ZodErrorを作らないためこれまでの.safeParse().successで判定結果を受け取るよりも大幅に高速化されるのがメリットです。
v4.5のcompileと組み合わせた上で不正な入力を弾くケースでは、.safeParse().successと比べて最大で35倍速くなった例もあるそうです。compileが苦手だった失敗系をちょうど埋めてくれる形になっています。
まとめ
今回の2バージョンで入った変更によって「多くの場合正常系のデータがくる&正誤判定しか使わない」ようなユースケースでは大幅な高速化が見込まれます。チームでZodを利用している人はぜひ書き換えを検討してみてはどうでしょうか?
🗓 Monthly Articles
📖 Framework, Library
- Type-Aware Linting Stable
- oxlint の型情報を使った lint (tsgolint v7) が stable になった。typescript-eslint の 61 ルール中 59 に対応し、ESLint + typescript-eslint と比べて 12〜18 倍高速。TypeScript のリリースに連動したバージョニングや、ルールごとの実行時間診断も追加されている。
- API Conventions · facebook/astryx Wiki
- Meta が社内で利用してきた React 19 + StyleX ベースのデザインシステム「Astryx」の API 設計規約ドキュメント。コンポーネントや props の命名規則、アクセシビリティ要件、テーマ拡張のための module augmentation などが定義されている。
- pnpm/update
- pnpm 公式の依存関係更新用 GitHub Action。ピン留めした pnpm (
packageManager) と Node.js (devEngines.runtime) のバージョンもメジャー内で更新し、ロックファイルを毎回作り直すため推移的依存も刷新される。ワークフロー内でピン留めした GitHub Actions の更新にも対応。
- pnpm 公式の依存関係更新用 GitHub Action。ピン留めした pnpm (
- We Stopped Using RSC on TanStack.com
- TanStack がドキュメントサイトから React Server Components を取り除いた話。元々は重い markdown / シンタックスハイライト依存をクライアントに送らないための採用だったが、@tanstack/markdown と @tanstack/highlight という軽量な自前ライブラリを用意した結果、RSC の複雑さに見合わなくなり通常の SSR で十分になった。
- TanStack Charts
- D3 プリミティブを土台にした、レスポンシブ・アクセシブル・SSR 対応の軽量なグラフ文法ライブラリ。データモデルを変えずに標準的なグラフからプロダクト固有の意匠まで作れ、React / Vue / Solid / Svelte から tree-shakeable な API として利用できる。
- 新しいグラフライブラリ TanStack Charts の設計思想と使い方
- TanStack Charts の設計思想と React での実装例を解説した記事。mark・channel・scale を組み合わせて複数のデータ配列を同じ座標上に描画する方法を示しつつ、「グラフを完成品としてではなくアプリケーション機能の一部として組み込む」という思想を紹介している。
- Component testing | Playwright
- Playwright v1.62.0 でコンポーネントテストが story ファイルと gallery ページを使う方式に刷新された。コンポーネントの隣に置いた
.story.tsxに名前付き export でシナリオを書き、自前の dev サーバーでレンダリングしたものをmount()フィクスチャで操作する。experimental-ct パッケージが不要になり、既存のビルド設定やプラグイン・CSS をそのまま使える。
- Playwright v1.62.0 でコンポーネントテストが story ファイルと gallery ページを使う方式に刷新された。コンポーネントの隣に置いた
- Component testing has a new story #42139
- 上記の新しいコンポーネントテストについてフィードバックを募集している issue。Node.js とブラウザ環境の境界が曖昧だった問題を解消し任意のフレームワークに対応する狙いだが、Storybook との住み分けを含めて mount API や移行体験の議論が続いている。
- React Compiler Support
- Oxc が React Compiler を正式にサポート。oxlint 側に 22 個のルールが入り、変換は
oxc-transform-reactとして提供される。表現を変換せず Oxc の AST 上で直接動作するため、Babel 実装と比べて 10 倍以上高速でバイナリサイズも小さい。
- Oxc が React Compiler を正式にサポート。oxlint 側に 22 個のルールが入り、変換は
- ☂ JS Plugins #11420
- Biome に JavaScript で独自ルールを書けるプラグイン機構を入れるためのトラッキング issue。現状の GritQL プラグインに加えて、Rust 製 JS エンジンの Boa 上で手続き的な JS を評価する方式が提案されている。
- feat: enable markdown #11394
- Biome が Markdown のフォーマッター・リンターをデフォルトで有効化する PR。CLI オプションやテストも含めて整備され、エコシステム検証でもほとんどのプロジェクトで性能影響は小さいことが確認されている。
- useReactCompiler (JavaScript)
- React Compiler を lint モードで実行し、条件付きのフック呼び出しや外部変数の再代入といった違反を報告する Biome のルール。React 19 以降のプロジェクトでのみ有効になる。
- Turborepo
- Turborepo のサイトが刷新され、“the build system for coding agents” を掲げる AI フレンドリーな構成に。セマンティックな sitemap やドキュメントコーパスが整備され、サイト上でタスクパイプラインやリモートキャッシュの設定について質問できるようになっている。
- Solid 2.0 RC: The Big <Reveal>
- 非同期をリアクティブグラフそのものの性質として扱う Solid 2.0 が RC に到達。memo が Promise を返せるようになったことで
createResource・batch・startTransition・createMutableなどが不要になり、学習すべき API が大きく減った。コンパイラは Oxc ベースの Rust 実装になり Babel 版比 23〜355 倍高速で、SolidStart は@solidjs/vite-pluginのstart: trueモードとして統合された。
- 非同期をリアクティブグラフそのものの性質として扱う Solid 2.0 が RC に到達。memo が Promise を返せるようになったことで
- The Cloudflare Blog – Brought to you by EmDash
- Cloudflare のブログが、Astro と Cloudflare の連携を前提にした CMS「EmDash」へ移行した。ダークモード対応と UI 刷新に加え、Workers を使った段階的なトラフィック切り替えと多層キャッシュによってレイテンシを平準化している。
- pnpm 12.0
- pnpm が Rust で書き直された。v11 との後方互換を保ちつつ、git 依存が転送方法によらず HTTPS URL で一貫して解決されるように、循環依存を含むロックファイルが決定的に、さらに shell hook なしで Node.js / Deno / Bun のピン留めバージョンを実行できる project-aware global bins が追加された。
- pnpm 12.4 リリース、Rust と Python の依存関係もまとめてインストール可能に
- pnpm 12.4 で JavaScript に加えて Rust・Python の依存関係も同一ワークスペースで並行してインストールできる実験的機能が追加された。ロックファイルを変更せずに依存をインストールしてタスクを実行し、出力をキャッシュする
pnpm pipelineコマンドも入っている。
- pnpm 12.4 で JavaScript に加えて Rust・Python の依存関係も同一ワークスペースで並行してインストールできる実験的機能が追加された。ロックファイルを変更せずに依存をインストールしてタスクを実行し、出力をキャッシュする
- feat: New JavaScript/TypeScript parsing toolkit #153
- ESLint が TypeScript パッケージに依存しない自前のパース基盤
@eslint/jskit(TypeScript 実装 + 任意の Rust ネイティブ実装) を導入する RFC のドラフト。typescript-eslint のメンテナから「RFC が自分たちの成果を正しく表していない」「事前の協調がない」「クロスファイル lint という本質的な要望に応えていない」といった反論が集まり、議論が紛糾している。
- ESLint が TypeScript パッケージに依存しない自前のパース基盤
- Tales from the Void: August 2026 Recap
- VoidZero の 8 月まとめ。Vite 8 が Oxc 経由で React Compiler に対応し Babel 比 15 倍高速になったこと、Vitest 5 の RC 入り、Rolldown のプロパティ mangling 対応などが紹介されている。
- NestJS v12 is Now Available
- NestJS v12 がリリース。コアパッケージの ESM 化 (CJS も後方互換)、Zod や Valibot を使える Standard Schema サポート、ライフサイクルに直結した
@nestjs/observeSDK による計装、モノレポのデフォルトバンドラの Rspack 化などが入った。
- NestJS v12 がリリース。コアパッケージの ESM 化 (CJS も後方互換)、Zod や Valibot を使える Standard Schema サポート、ライフサイクルに直結した
- Remix 3 Release Candidate
- Remix v3 の最初の RC。DB 管理・スキーマ検証・型安全なルーター・新しい UI ランタイムを含み、Remix 一つの依存でフルスタックアプリを構築できる (React にも依存しない) 一方、個別の差し替えも可能な構成になっている。正式リリースは 10/2 の Remix Jam を予定。
- Zod の z.compile() でバリデーションを高速化する
- Zod 4.5 で追加された
z.compile()はスキーマから最適化済みの JavaScript 関数を生成し、バリデーションを約 3〜7 倍高速化する。通常の API とエラー詳細を保ったまま、無効な入力では従来のパーサーへフォールバックするが、ブラウザではバンドルサイズが約 7KB gzip 増える点に注意が必要。
- Zod 4.5 で追加された
- Announcing Rslib 1.0
- Rsbuild をベースにしたライブラリ開発ツール Rslib が 1.0 に到達。bundle / bundleless の両モードに対応し、v0.7 と比べてキャッシュなしビルドが 24.3%、キャッシュありビルドが 56.7% 高速化している。
- React 19.3
- View Transition API を使って UI の変化をアニメーションさせる View Transitions、ラッパー要素なしで兄弟 DOM ノードをまとめて扱える Fragment Refs、ブラウザ専用 API に依存するコンポーネントを SSR から外す
browser()が追加された。Trusted Types のサポートや、Server Components から Context を直接レンダリングできる変更も入っている。
- View Transition API を使って UI の変化をアニメーションさせる View Transitions、ラッパー要素なしで兄弟 DOM ノードをまとめて扱える Fragment Refs、ブラウザ専用 API に依存するコンポーネントを SSR から外す
- TanStack Highlight
- Web で使う言語に絞ったシンタックスハイライトライブラリ。利用する言語を登録して同期的にハイライトし、テーマ適用用の安定した CSS クラスを持つコンパクトな HTML を出力する。
- TanStack Markdown
- Markdown を検査・キャッシュ・インデックス可能なプレーンで直列化可能なツリーへパースし、HTML や React など任意の形にレンダリングできるライブラリ。一度パースした AST を使い回せるため、特定のレンダラーに縛られない。
- TanStack Hotkeys
- scope・シーケンス・長押し・記録・衝突検出・プラットフォーム別の表示に対応したキーボードショートカットライブラリ。単なるキーリスナーではなく、型付きのコマンド体系としてショートカットを管理できる。
- Zod 4.6
- 真偽値だけを高速に返す
.validate()(.safeParse().success比で最大 35 倍)、プロトタイプを保ったままインスタンスのプロパティを検証するz.instanceof().properties()、fromJSONSchema()の対応キーワード追加などが入った。
- 真偽値だけを高速に返す
- How Turbopack chunks your JavaScript
- Turbopack のチャンク分割の考え方を解説した記事。同じ chunk group 内のチャンクのみをマージし、1 ページで離脱するケースと 2 ページ以上遷移するケースの確率を重み付けしてマージの損得を計算している。Next.js 16.3 では未マージ版のチャンクも出力して実際のキャッシュ状況に応じて選ぶ機能や、アナリティクスに基づくチューニング、CJS の tree-shaking などが実験的に追加された。
- Vitest 5.0 is out!
- 設定と規模に応じて 8〜53% の高速化に加え、テスト構成を診断してより速くなる設定を提案する
vitest doctorと experimental diagnostics が追加された。Browser Mode のビルトイン Trace View、引数ごとに返り値を変えられるvi.when、clearMocksのデフォルト true 化なども入っている。
- 設定と規模に応じて 8〜53% の高速化に加え、テスト構成を診断してより速くなる設定を提案する
- react-aria v1.20.0
- ホバー・フォーカス・長押しで Popover を表示する PreviewTrigger と、オートコンプリートと自動トークン化に対応したインライントークン入力の TokenField (alpha) が追加。MenuTrigger の
trigger="contextMenu"によるアクセシブルなコンテキストメニューや、Table 行内でのインタラクティブなコンポーネント利用もサポートされた。
- ホバー・フォーカス・長押しで Popover を表示する PreviewTrigger と、オートコンプリートと自動トークン化に対応したインライントークン入力の TokenField (alpha) が追加。MenuTrigger の
- slack.com が rspack v2 でビルドされている
- slack.com のページが rspack v2 を採用しているという話。
⚡️ Services
- cloudflare-demos
- Hono の Workers で書かれた Cloudflare 各プロダクトの最小デモ集。Workers KV や D1、AI 推論、画像処理まで 1 プロダクト 1 デモで構成されており、サンドボックス上でそのまま動かせるものも多い。
- npm publish-time malware scanning and dual-use metadata
- npm がパッケージの公開時に自動でマルウェアスキャンを行うようになり、インストール可能になるまで通常 5 分程度 (混雑時は 15 分以上) の遅延が入る。dual-use なパッケージは package.json の
contentPolicyと DISCLOSURE ファイルの記載、および 2FA 必須の公開方法が求められる。
- npm がパッケージの公開時に自動でマルウェアスキャンを行うようになり、インストール可能になるまで通常 5 分程度 (混雑時は 15 分以上) の遅延が入る。dual-use なパッケージは package.json の
- Disrupting supply chain attacks on npm and GitHub Actions
- 過去 1 年間頻発したリポジトリや CI/CD を標的とするサプライチェーン攻撃に対する、npm・GitHub Actions 側の対応をまとめた記事。初期侵害 (アカウント保護・ワークフローの安全なデフォルト)、認証情報の窃取 (trusted publishing・ネットワーク監視)、拡散 (install script の制限・バージョン更新の cooldown) という 3 つのフェーズごとに対策が整理されている。
- Multiple trusted publishing configurations for npm
- npm の trusted publishing (OIDC) をパッケージごとに複数設定できるようになった。stable と prerelease など複数チャンネルを持つパッケージで、これまで GitHub Actions 側で行っていたワークアラウンドが不要になる。マルウェアスキャンの完了を確認してから公開される挙動も併せて導入された。
- GitHub にスタック型プルリクエストが登場。gh stack で PR を分割して積み上げよう
- GitHub 公式のスタック型プルリクエスト機能の解説記事。大きな変更を順序付きの小さな PR に分割して積み上げる仕組みで、
gh stackコマンドから管理でき、gh stack syncによってスタック全体への変更の追従を自動化できる。
- GitHub 公式のスタック型プルリクエスト機能の解説記事。大きな変更を順序付きの小さな PR に分割して積み上げる仕組みで、
- GitHub CLI: Media in issues, pull requests, and comments
- gh v2.99.0 で
--attachフラグが追加され、issue・PR・コメントの作成や編集時にローカルの画像や動画をコマンドラインから添付できるようになった。PNG / JPEG / GIF / WebP / SVG / MP4 / MOV / WebM に対応している。
- gh v2.99.0 で
- Cloudflare Workers and Containers now support inbound TCP connections and gRPC
- Workers と Containers が Spectrum 経由で inbound TCP 接続を受け付けられるようになり、Durable Objects や Containers にルーティングして全二重の gRPC アプリケーションを動かせるようになった。Workers 自体を gRPC のクライアント・サーバーにすることもでき、gRPC と gRPC-web の相互変換も自動で行われる (現在は private beta)。
- Run CI/CD for millions of repos — on your platform, on Cloudflare
- Workflows と CI SDK を組み合わせた Cloudflare 上の CI/CD。パイプラインを YAML ではなく TypeScript で記述でき、依存キャッシュやステップの並列実行、リトライ、失敗したビルドを AI が自動修復する仕組みなどを備える。
- Introducing Kitesurf: The agent-first browser that runs in V8 isolates on Cloudflare Workers
- Cloudflare Workers 上で動作する AI エージェント向けブラウザ。HTML/DOM のパースに Blitz、CSS に Firefox の Stylo、ラスタライズに blitz-paint、JavaScript の eval に Boa という Rust 実装を組み合わせており、Chromium と比べてメモリ・CPU 効率が 3〜7 倍良い。Web Platform Tests は 21.5 万件以上通るが、動画・WebGL・永続状態には未対応。
- Agents Week 2026 で行った発表内容の全て
- Cloudflare が 8/3〜8/7 に開催した Agents Week 2026 の発表まとめ。エージェント向け実行環境の
@cloudflare/computerや Cloudflare Wallets など、20 以上の新製品・機能が発表された。
- Cloudflare が 8/3〜8/7 に開催した Agents Week 2026 の発表まとめ。エージェント向け実行環境の
- Deploy larger Workers — up to 64 MiB for both free and paid plans
- Cloudflare Workers のデプロイ上限が、圧縮後サイズ基準 (free で 3MB、有料プランで 10MB) から非圧縮 64MiB の一律上限に変更された。
- Deprecation of Node 20 on GitHub Actions runners
- GitHub Actions ランナーの Node 20 サポートが 9/23 に完全に終了する。6/16 からランナーのデフォルトは Node 24 になっており、それまでに action と workflow の更新が必要。
🖥 Browsers
- Designing Firefox for the future
- Project Nova というプロジェクト名で進められていた Firefox のデザイン刷新。角の丸いコンポーネントやアイコン・余白の統一といったデザインシステムの更新に加え、compact mode の復活やページ読み込みの 9% 高速化も含まれている。
- Intent to Ship: PerformanceSoftNavigation and InteractionContentfulPaint performance entry
- オリジントライアルだった Soft Navigation API が Chrome 151 から正式に使えるようになる。SPA の JavaScript 駆動なページ遷移の読み込みパフォーマンスを、LCP や INP と同じ performance timeline 上で計測できるようになる。
- Smart Window: Finish what you start online
- Firefox 154 から使える、プライバシー重視の AI ブラウジング機能 Smart Window。Exa との連携による出典付きの最新情報取得、関連タブの自動グループ化、閲覧履歴のビジュアルプレビューが柱で、米国・カナダ (および今回追加されたフランス) の英語ユーザー向けに提供される。
- Ready for developer testing: Single-axis scroll containers
overflow: auto clipのように、片方の軸だけをスクロールコンテナにできる CSS 機能。これまでブラウザが両軸を強制的にスクロール可能にしていたため実現できなかった、ヘッダーを固定したまま表の中身を横スクロールするといった挙動が書けるようになる。Chrome 153 の Beta / Dev / Canary で試せ、互換性に関するフィードバックを募集している。
- Get features faster with Chrome’s two-week release cycle
- Chrome のリリースサイクルが 4 週間から 2 週間に短縮された。9/8 の Chrome 153 stable から全プラットフォームで適用される。リリースは頻繁になるが 1 回あたりの変更が小さくなるため影響は抑えられるとしており、企業向けの Extended Stable (8 週間) は変更なし。
- Submit your proposals for Interop 2027
- Interop 2027 の提案募集が 9/23 まで行われている。仕様が安定していて、ブラウザベンダーの支持とテストスイートが揃っている Web プラットフォーム機能が対象。
💬 Languages
- 角丸をいい感じにレスポンシブにする CSS の tips
- 要素のサイズに応じて角丸の半径を変化させ、レスポンシブに見た目を保つための CSS のテクニック。
🤖 Runtimes
- scriptc | TypeScript-to-Native Compiler
- vercel-labs 製の、TypeScript をそのままネイティブバイナリへコンパイルするコンパイラ。tsc で型チェックしつつ、構文ごとに静的コンパイル可能かを判定する 3 層構成になっており、必要な場合だけ約 620KB の JS エンジンを埋め込む。hello world は約 320KB・起動 4ms 程度で、JS ランタイムを同梱せずに済む。
- Bun 1.4
- Zig から Rust への全面書き換えに加えて機能追加も非常に多いメジャーリリース。
Bun.Image・Bun.WebView・Bun.markdownなどの API が追加され、アイドル時 CPU 使用率が 1/5、HTTP サーバーのメモリ使用量が最大 48% 削減、起動時間が 2〜2.5 倍高速になった。
- Zig から Rust への全面書き換えに加えて機能追加も非常に多いメジャーリリース。
- bun test –timings によるテスト分割の最適化
- Bun の次バージョンで
bun test --timingsが追加され、テストファイルごとの実行時間を記録できるようになる。記録した時間を元に--shardと--parallelの分割をファイル数ではなく実行時間で行い、遅いファイルから先に実行する。
- Bun の次バージョンで
- lib: implement node:logger
- Node.js に構造化ログを出力する
node:loggerを追加する PR。create()でロガーを作り、ConsoleProvider や EventProvider、DiagnosticsProvider などの provider 側が実際の出力を担当する provider ベースの設計になっている。
- Node.js に構造化ログを出力する
📝 Specifications
- tc39/proposal-await-dictionary
- Promise を値に持つオブジェクトをキーを保ったまま await できる
Promise.allKeyedの提案が Stage 3 に到達。逐次 await によるウォーターフォールを避けつつ、Promise.allのような配列の順序依存ではなく名前で結果を受け取れる。
- Promise を値に持つオブジェクトをキーを保ったまま await できる
- The Future of CSS: Target Multiple Classes with the Class Prefix Selector
.prefix-*という構文で、同じハイフン区切りのプレフィックスを持つ複数のクラスをまとめて指定できるセレクタの提案。属性セレクタのパフォーマンス上の制約を避けつつ、ユーティリティクラスやデザインシステムのスタイリングを簡潔に書ける。ステータスは Selectors Level 5 の Editor’s Draft。
🦆 Others
- Fake Corepack Site Distributes Infostealer and Proxyware to Developers
- Node.js の Corepack を騙る corepack[.]org が、インフォスティーラーと帯域共有プロキシを仕込んだ実行ファイルを配布していた。Node.js 25 で Corepack の同梱が終了し、入手方法を検索する開発者が増えたことを突いた手口で、Corepack に公式サイトは存在せず npm から入れるのが正しい。
- Stepping Back from Open Source (Mostly)
- typescript-eslint などをメンテしてきた Josh Goldberg 氏が、OSS 活動の大半から一旦離れることを表明した。多くのプロジェクトはセキュリティ対応のみのモードへ移し、他のメンテナへ引き継いだ上で、共同メンテナのいる typescript-eslint や Mocha には最小限関わり続けるとしている。
- State of CSS 2026
- CSS の利用状況に関するサーベイ State of CSS の 2026 年版の結果。ブラウザサポートが限られるにもかかわらず Anchor Positioning が「好きな新機能」の 1 位になった一方、相互運用性の問題から「使いづらい機能」にも挙げられている。AI 生成コードへの抵抗は根強く、本番の CSS のうち AI 由来のものは中央値で 13% にとどまった。
- ソフトウェアエンジニア人生サバイバルガイド / Software Engineers Survival Guide 202604 Edition
- t_wada さんによる毎年のリクルート新人研修の資料。技術の急速な変化と可処分時間の減少という 2 つの現実に対し、技術の多様化・技術トレンドを見極める目・学習効率の改善・AI の活用という 4 つの戦略を提案している。
- AI 時代の UI はどこへ行く?その 2!
- AI 時代の UI のあり方を扱った発表資料 (ふろぺち 2026)。MCP Apps や Generative UI を整理した上で、制御された設計とオープンな生成を組み合わせる「Dynamic」というパターンを提案している。
- Tailwind Labs is joining Shopify
- Tailwind Labs が Shopify に参加。週 1.1 億ユーザーの Tailwind CSS を長期的にメンテナンスするための体制づくりで、OSS は MIT ライセンスのまま変更はない。一方で商用プロダクトの新規申し込みは停止し、リソースを Tailwind CSS に集中するとしている。
- TanStack + Vercel Partnership
- Vercel が TanStack の Gold パートナーとして OSS 開発を支援することになった。TanStack Start の Vercel へのデプロイ、TanStack AI と Vercel AI Gateway の連携、Vercel の managed microVM 上での AI エージェント実行という 3 つの統合が提供される。
- A compilation of W3C in Japan’s 30th anniversary events
- W3C の日本での活動 30 周年を記念したイベントのまとめ。9/4 に開催された「Web Together」には 160 名が参加し、Web の進化・XHTML の教訓・健康データのプライバシー・サステナビリティに関する LT とパネルディスカッションが行われた。
- Homebrew 7.0.0
- 並列処理によるインストールの高速化、サンドボックス化と脆弱性チェックによるセキュリティ強化、macOS ネイティブの GUI アプリの追加などが入ったメジャーリリース。macOS 10.15 のサポートは終了し、Intel Mac は tier 3 (サポート対象外) に移された。
- フロントエンドカンファレンス福岡 2026 公開資料・X アカウントリンクまとめ
- 9/12 に福岡で開催されたフロントエンドカンファレンスの登壇資料とスピーカーの SNS アカウントをまとめた記事。「React の設計論」「JavaScript の高速化」「AI 時代の Web フレームワーク」など計 18 セッション分の資料とセッション動画へのリンクが掲載されている。
- フロントエンドカンファレンス福岡 2026 お疲れ様でした!
- 森建 (petamoriken) さんによる、フロントエンドカンファレンス福岡 2026 の参加レポート。


