メインコンテンツへスキップ

現在このサイトは大規模工事中...

このサイトはChromeブラウザの最新機能を多用しているため、最新のChromeでの動作以外を保証しません。

ESLint v10.0.0がリリースされ、eslintrc機能が完全に削除

ESLint v10.0.0リリース。

主な変更点:

  • 新しい設定ファイルルックアップ: 各ファイルのディレクトリを基準に設定ファイルを検索するため、複数の設定ファイルを一度に実行可能
  • eslint:recommendedの更新: no-unassigned-vars, no-useless-assignment, preserve-caught-errorがデフォルトで有効に
  • eslintrc機能の削除: 従来の .eslintrc* 設定ファイルや関連機能の撤廃

他にも破壊的な変更がいくつか行われている。公式は、「ほとんどのユーザーはビルドを変更することなくアップグレードできる」と述べているが、いくつかのpluginなどエコシステムが追従できていないため、アップグレードは慎重に行う必要がある。移行ガイド及び各プラグインの対応状況を参照のこと。

出展:ESLint v10.0.0 released

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に対応。

出展:Release NotesScheduled Sessions Guide

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の公式拡張として正式リリース

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ハンズオンを実施する際に、サンプルとして作成したブループリント集。随時追加予定。