Cybozu Frontend Monthly #69
イベント概要
サイボウズフロントエンドマンスリー は、サイボウズ社内で行っているフロントエンド情報共有会「フロントエンドウィークリー」の公開版です。
その月に気になったフロントエンドの情報を、サイボウズのフロントエンドエンジニアのメンバーが共有していきます。
このイベントのハッシュタグは #サイボウズフロントエンドマンスリー です。
※フロントエンドウィークリーとは
毎週火曜の 17:00 〜 18:00
で社内向けに行っているフロントエンドの気になる記事を紹介する会です。
2016年3月15日から行われています。
ZennのPublicationにてウィークリーのまとめを投稿していますので、ぜひこちらもご覧ください。 https://zenn.dev/p/cybozu_frontend
開催日
2026年06月30日
イベントページ
https://cybozu.connpass.com/event/397609/
メンバー
コンテンツ
👀 Notable Articles
Modern Web Guidance
- 共有者: @mugi_uno
先日開催された Google I/O 2026 で発表された AI Agent 向けの Skills です。
AI Agent を用いた Web 開発においては、次のような課題が存在しています。
- 学習データに含まれるレガシーな手段を用いてしまう
- AI モデルはカットオフ日より新しい機能を知らない
- クロスブラウザサポート時に Baseline を考慮できず保守的なアプローチを取りやすい
参考:
Modern Web Guidance を使用する理由
https://developer.chrome.com/docs/modern-web-guidance/get-started?hl=ja
これらをクリアするために、Web 開発における最新の機能やユースケース、ベストプラクティス、
ブラウザごとの利用可否などを AI が効率よく取得・参照できる形とし、
それを Agent Skills として公開されたものが Modern Web Guidance です。
パフォーマンス・アクセシビリティ・セキュリティ・UX といったものも含まれ、
幅広い内容をカバーしたガイドになっています。
単純な実装はもちろん、レビューなど多岐に渡って活用できるシチュエーションがありそうです。
なお、リソースとなるドキュメントは 100 以上のものが含まれ、今後も数百のガイドを追加していく予定とのことです。
こういった大量のドキュメントを扱う Skills では、
コンテキストの圧迫など、いかに効率よく情報を参照できるかが難しいポイントですが、
Modern Web Guidance では、Tensorflow.js を用いてローカルで検索が完結する仕組みを取っています。
Skills の作成・提供という観点からも非常に参考になるものでした。
https://github.com/GoogleChrome/modern-web-guidance https://github.com/GoogleChrome/modern-web-guidance-src
/goal コマンドの活用例: Vitest の実行時間を 6 倍高速化した話
- 共有者: @nus3
Claude Code の/goalコマンドを使って、既存のプロジェクトの Vitest の設定をisolate: falseに移行することで、テストの実行時間を 12 分から 2 分にまで短縮した話。
実際に自分が関係するプロジェクトでも、import の時間が大きかったので、/goalコマンドを使ったisolate: falseを試してみました。
Duration 312.84s (transform 60.08s, setup 26.25s, import 475.15s, tests 360.95s, environment 91.25s)
結果として、isolate: falseへの移行完了まではいかなかったんですが、実際に試してみて、特に自分のプロジェクトだと以下の点は学びでした。
/goalでやっている作業内容を都度、マークダウンに残してもらう/goalコマンドでうまくいかなかった場合に、次に活かせるように
/goalでも定期的に、このコマンド使って良いかの許可で止まってしまうことがあったので、DevContainer を使って、--dangerously-skip-permissions渡して、DevContainer 内で Claude さんに全部まかしてしまっても良さそう
JavaScript Pattern Matching with Flow
- 共有者: @sajikix
Flow における match
Flow が新しく match 式を追加しました。以下のように書くことで、他言語にあるようなパターンマッチが簡単に書けるようになります。
const description = match (action) {
{type: 'add', const text} => `Add: ${text}`,
{type: 'toggle', const id} => `Toggle ${id}`,
{type: 'remove', const id} => `Remove ${id}`,
};
似たようなケースで使われる switch 文と違い、このパターンマッチは「式」なので、値を返せる点が非常に便利ですね。
また、値の照合と同時にconst textのような形で変数への抽出もできるので、マッチした値をそのまま使うこともできます。
マッチする部分は'delete' | 'remove'のように or パターンで書くこともできますし、_ でワイルドカードを扱うこともできます。
match (command) {
'delete' | 'remove' => {
data.pop();
}
'add' => {
data.push(1);
}
_ => {
show(data);
}
}
また、ネストされたオブジェクトにマッチさせることもできるようです。
補足 : ECMAScript における pattern matching の提案
現在 ECMAScript 本体でも 「ECMAScript Pattern Matching」として Pattern Matching の提案が進められていますが、2026 年 6 月現在は Stage 1 の状態です。
https://github.com/tc39/proposal-pattern-matching
一方で配列や Object のマッチなどに関しては、Record & Tuple の後続となる Composites との協調も含め検討することは多そうで、今後の動向が気になるところです。
🗓 Monthly Articles
📖 Framework, Library
- Storybook 10.4 — Automatic setup with agents, review filters, TanStack React, and more
- AI エージェントによる Storybook の自動セットアップ、変更検出フィルター、TanStack React の公式サポートなどが追加されたアップデート。
- React Server Components in TanStack
- TanStack Start で RSC を使う方法と、サーバーのみで実行されるコンポーネントによるクライアントバンドルのサイズ削減効果を解説。
- TanStack Table v9: Taking Form
- TanStack Table v9 がリリースされ、内部の状態管理として TanStack Store を採用。
- react-compiler の Rust ポートがコミュニティ公開に近づく
- React Compiler の Rust ポートがコミュニティ公開できる状態になりつつあり、oxc も早期プレビュー版のインテグレーションを公開予定。
- Chromatic for Vitest — Visual Testing Sneak Peek
- Chromatic が Vitest Browser Mode に対応したビジュアルリグレッションテストを提供予定。クラウドスナップショットとチームレビュー機能が統合される。
- microsoft/Webwright
- LLM が Playwright を活用してブラウザ操作をコード化するブラウザエージェントフレームワーク。コード生成と実行を繰り返して Web タスクを完了し、再利用可能なスクリプトが成果として残る。
- Playwright を使った CI の最適化事例 | newmo テックブログ
- Playwright 公式 Docker Image の導入と projects 機能による変更されたサブアプリのみのテスト選択実行で、CI 時間を平均 18% 削減。
- Vitest の isolate: false で実行時間を 12 分から 2 分に短縮する
isolate: falseオプションでワーカー間のモジュール評価を共有し、Vitest の実行時間を 6 倍高速化した事例を紹介。
⚡️ Services
- VoidZero is Joining Cloudflare
- Evan You が VoidZero の Cloudflare への参加を発表。Vite・Vitest・Rolldown・Oxc は MIT ライセンスのオープンソースとして引き続き開発が継続される。
- AI によるウェブ パフォーマンス レポートの自動化 | Chrome for Developers
- LY Corporation が Chrome DevTools for Agents を活用して AI エージェントによるパフォーマンス監査システムを構築し、手動作業を 96〜98% 削減した事例。
- Introducing the MDN MCP server | MDN Blog
- MDN が MCP 対応サーバーを公開。AI ツールや IDE から MDN のドキュメントとブラウザ互換性データに直接アクセスでき、最新のウェブプラットフォーム情報を取得可能。
🖥 Browsers
- 15 updates from Google I/O 2026: Powering the agentic web with new capabilities, tools, and features in Chrome
- Google I/O 2026 で発表された WebMCP・ブラウザ内蔵 AI・Gemini in Chrome など、エージェント型 Web 時代を推進する 15 の新機能を紹介。
- Chrome 150 beta
- CSS
text-fitプロパティや WebGPU 拡張、IndexedDB の SQLite バックエンド化など多数の新機能を含む Chrome 150 beta がリリース。
- CSS
- Faster updates, enterprise-friendly schedule: the new Microsoft Edge release cycle
- Microsoft Edge がバージョン 152(2026 年 8 月予定)以降、2 週間ごとのリリースサイクルへ移行。エンタープライズ向けには 8 週間単位の Extended Stable も継続。
- Web Technology Sessions at WWDC26 | WebKit
- WWDC26 で公開された WebKit 関連の 6 セッション。CSS レイアウト、カスタマイズ可能なフォームコントロール、3D モデル、没入型体験などが対象。
- News from WWDC26: WebKit in Safari 27 beta | WebKit
- Safari 27 beta が 58 の新機能と 525 の修正を含んで発表。カスタマイズ可能な
<select>要素、WebAssembly JavaScript Promise Integration、CSS の:heading疑似クラスなどが追加。
- Safari 27 beta が 58 の新機能と 525 の修正を含んで発表。カスタマイズ可能な
- WebMCP のオリジン トライアルが Chrome 149 から開始
- ウェブアプリと AI エージェントの連携を可能にする WebMCP のオリジン トライアルが Chrome 149 から開始。エージェントがウェブサイト上で構造化されたツールを使いタスクを実行できるように。
💬 Languages
- JavaScript Pattern Matching with Flow
- Flow 型システムに新しい
match式が追加。switch文より強力で、パターンマッチングと値の抽出、網羅性チェックが可能。
- Flow 型システムに新しい
- TSKaigi 2026 発表資料まとめ
- 2026 年 5 月開催の TypeScript 国際会議 TSKaigi 2026 の全 87 セッションの発表資料を一覧にまとめた記事。
🤖 Runtimes
- Deno 2.8
- 6 つの新サブコマンド(
deno audit fix・deno pack・deno transpileなど)を追加し、npm:プレフィックスの省略がデフォルトに。Node.js との互換性が 76.4% に向上。
- 6 つの新サブコマンド(
- Claw Patrol: Open Source MCP Security Firewall | Deno Blog
- Deno が AI エージェント向けオープンソースセキュリティゲートウェイ「Claw Patrol」を MIT ライセンスで公開。エージェントには本物の認証情報を渡さずプレースホルダーで安全に API を呼び出せる仕組み。
- Staged publishing for npm packages
- npm v11.15.0 から
npm stage publishコマンドが追加。パッケージ公開前にメンテナーによる 2FA 承認フローを挟めるようになり、不正リリースを防止。
- npm v11.15.0 から
- Upcoming breaking changes for npm v12
- npm v12(7 月リリース予定)で
allowScriptsがデフォルト無効化。明示的な許可なしに依存関係のインストールスクリプトが実行されなくなる。
- npm v12(7 月リリース予定)で
- RFC: opt-in install scripts (allowScripts)
- npm のインストールスクリプト実行をデフォルト無効化する RFC で、npm v11.16.0 で Phase 1 が実装済み。
allowScriptsフィールドとnpm approve-scripts・npm deny-scriptsコマンドでサプライチェーン攻撃を防ぐ設計。
- npm のインストールスクリプト実行をデフォルト無効化する RFC で、npm v11.16.0 で Phase 1 が実装済み。
- Env variables in repository .npmrc | pnpm Blog
- セキュリティ上の理由で pnpm v10.34.2 以降、リポジトリの
.npmrcファイル内の環境変数展開が停止。認証トークンをユーザー設定や CI 環境変数へ移行する必要がある。
- セキュリティ上の理由で pnpm v10.34.2 以降、リポジトリの
- Plans for npm 12 | nodejs/Release
- npm v12 を次の Node.js LTS v26 だけでなく、現行 LTS v24 にもセキュリティリリースとして含める可能性を議論するイシュー。
- Setup pnpm with runtime | GitHub Marketplace
- pnpm と JS ランタイム(Node.js・Bun・Deno)を 1 ステップでセットアップする GitHub Actions が公開。
pnpm install等もこの Action 内で実行できる。
- pnpm と JS ランタイム(Node.js・Bun・Deno)を 1 ステップでセットアップする GitHub Actions が公開。
- Viteless Vitest: Propose an engine-agnostic API
- Vitest が Vite への依存を排除し、esbuild・Rolldown・Node.js・Deno・Bun など複数のエンジンを選択可能にするアーキテクチャを検討中。
📝 Specifications
- Explicit Resource Management が TC39 Stage 4 に到達
usingキーワードによるリソースの自動クリーンアップを可能にする Explicit Resource Management プロポーザルが Stage 4 になり、JavaScript の正式な標準となった。
🦆 Others
- フロントエンド開発のためのテスト入門 | Gihyo
- TVer のエンジニアによるフロントエンドテスト入門書が技術評論社から刊行。
- react/react
- React の GitHub リポジトリが
facebook/reactからreact/reactに移動。
- React の GitHub リポジトリが