News bits
一覧を見る → ESLint v10.0.0がリリースされ、eslintrc機能が完全に削除
ESLint v10.0.0がリリースされ、eslintrc機能が完全に削除
ESLint v10.0.0リリース。
主な変更点:
- 新しい設定ファイルルックアップ: 各ファイルのディレクトリを基準に設定ファイルを検索するため、複数の設定ファイルを一度に実行可能
- eslint:recommendedの更新:
no-unassigned-vars,no-useless-assignment,preserve-caught-errorがデフォルトで有効に - eslintrc機能の削除: 従来の
.eslintrc*設定ファイルや関連機能の撤廃
他にも破壊的な変更がいくつか行われている。公式は、「ほとんどのユーザーはビルドを変更することなくアップグレードできる」と述べているが、いくつかのpluginなどエコシステムが追従できていないため、アップグレードは慎重に行う必要がある。移行ガイド及び各プラグインの対応状況を参照のこと。
DevinがScheduled Sessions機能やReview機能の改善をリリース
DevinがScheduled Sessions機能やReview機能の改善をリリース
DevinがScheduled Sessions機能やReview機能の改善を含むアップデートをリリース。
- Scheduled Devins: 設定ページから頻度(毎時・毎日・毎週)、プロンプト、Playbookを指定し、Devinセッションを定期的に自動実行可能。Agentは標準のDevin以外に、データ分析に特化した「Data Analyst」やPlaybook用の「Advanced」が選択可能。結果のメール通知は「常に」「失敗時のみ」「なし」から設定可能。
- Devin Reviewの改善: Draft PRに対して「Ready for review」ボタンが追加され、Review画面から直接ステータス変更が可能。また、ファイルヘッダーメニューからのファイルレベルコメントや、既存コメント編集時の@mentionに対応。
MicrosoftがMicrosoft 365に接続するWork IQ MCP Serverを公開
MicrosoftがMicrosoft 365に接続するWork IQ MCP Serverを公開
Microsoftは、GitHub CopilotにMicrosoft 365のデータ(メール、会議、ドキュメントなど)を接続するための「Work IQ MCP Server」をPublic Previewとして公開した。
これはCopilot CLIのプラグインやスタンドアロンのMCPサーバーとして動作し、開発者は「前回の会議での決定事項は?」や「このコードの所有者は誰か?」といったコンテキストを問う質問が可能になる。
主なユースケースとして以下が挙げられている:
- コミット履歴や会議情報に基づいたコード所有者の特定
- 会議の記録からアーキテクチャ図のドラフトを作成
- 実装と設計ドキュメントの差異を確認
利用にはGitHub CopilotとMicrosoft 365 Copilotのサブスクリプションが必要。
出展:Bringing work context to your code in GitHub Copilot, GitHub - microsoft/work-iq-mcp
MCP AppsがMCPの公式拡張として正式リリース
MCP AppsがMCPの公式拡張として正式リリース
Model Context Protocol (MCP) の公式拡張として「MCP Apps」が公開された。これはMCP-UIとOpenAI Apps SDKの成果を基盤としており、MCPツールがリッチなインタラクティブUI(ダッシュボード、フォーム、可視化など)を直接会話内でレンダリングできるようにするものである。
これにより、モデルとユーザーのコンテキストギャップを埋め、データ探索や設定ウィザードなどをチャットインターフェース内で完結させることが可能になる。Claude、Goose、VS Code、ChatGPTなど主要なクライアントですでにサポートが開始されている。
出展:MCP Apps - Bringing UI Capabilities To MCP Clients | Model Context Protocol Blog
投稿一覧
CSSのみで実装する指向性ヘッダーアニメーション
JavaScriptによるスクロール位置の監視が必須であった複雑なヘッダーアニメーションも、Scroll State Queriesを使えばCSSのみで実装することが出来る。
GTM + iframe + クロスドメインにpostMessageで対応する
公式でも紹介されるリンカー設定だが、計測が不安定になる可能性が拭えず、設定が複雑になるケースが多いため、postMessageを利用したイベント委譲型の計測が有効な場合がある。
Scroll Container内の絶対配置またはAG Gridのバグ
Scroll Containerが包含ブロックでない場合、内部の隔離されていない絶対配置された要素はScroll Containerの外側に配置されるため、ページの高さが大きくなるといった意図しない挙動を引き起こす。
Slackのsubteam IDとchannel IDをまとめて取得する
Slackをブラウザで開き、次のスクリプトを検証ツールのConsoleで実行すれば、現在表示されているグループメンションのsubteam IDをまとめて取得できる。
Agent Skillsを簡単に作成して共有する
Agent SkillsのSkill Creatorを利用した作成、add-skillを利用したインストール、Skillのチーム内共有のすすめ
RenovateでGitHub ActionsのSHA Pinningを手軽に行う
GitHub Actionsでサードパーティのアクションを利用する際、バージョンをタグで指定しているケースをよく見かけるが、セキュリティの観点からは推奨されない。GitHub公式ドキュメントでは、アクションを不変なリリースとして利用する唯一の方法として、SHA Pining、つまりコミットSHAにピン留めすることを推奨している。
VitestのカバレッジレポートをGithub Actionsで添付する実装例
davelosert/vitest-coverage-report-actionを利用することで簡単にVitestのカバレッジレポートを添付することが出来る。
npmパッケージ公開のOIDC Trusted publishingへの移行
OIDC Trusted publishingを用いたnpmパッケージの公開方法およびTrusted publishingのメリットと制約について。
RenovateとDependabotのレビュワーを一元管理する
RenovateとDependabotを併用する場合、CODEOWNERSファイルを活用することでレビュワー設定を一元管理できる。
GitHub releases APIを用いたXR Animatorの自動更新
GitHub Releasesにある最新のリリース情報は固定のURLから取得できる。これを使って自動更新やUI上から更新をサポートしていないXR Animatorの自動更新をサポートする。
GASにサービスアカウントは利用できない
Google Apps Script (GAS)には、コードをリポジトリで管理しCI/CDで自動的に同期したい需要が強くある。 さらにチーム開発であれば、個人アカウントに依存しないWorkload Identityやサービスアカウントを利用したい需要も発生する。
GASのproject keyからscript idを取得する
Google Apps Scriptのログを見ると、なぜかscript idを含まず非推奨であるproject key含んでいる。他にもdeployment idやprocess id、user keyなどを含んでいるが、これらからログがどのScriptと紐づいているか特定することは困難に思える。
VercelでSubdomain Takeover出来るのか
少なくとも現在はVercelでSubdomain Takeoverを行うことは難しい。
ModalとDialogの分類
ModalとDialogは混同されることがあるが、そもそもレイヤーの異なる概念である。 ここでは混同の解消を目的に、これら及び関連用語の大まかな説明を行い、より正しい分類を示す。
Warudoブループリント集
Warudoハンズオンを実施する際に、サンプルとして作成したブループリント集。随時追加予定。