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

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

このサイトは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

Vercel Geist Pixel発表

Vercel Geist Pixel発表。

Geist Sans/Monoの基盤を継承しつつ、厳格なピクセルグリッドに基づいて再構築されたビットマップ風書体。モダンなデジタルプロダクト向けに設計されており、12px/400 weightの組み合わせで完璧なレンダリングを実現。

  • Geist Mono との互換性を持ち、同じメトリクスを共有するため、容易に置換可能。
  • SIL Open Font License 1.1 で公開され、無料で使用可能。

出展:Introducing Geist Pixel

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

v0の新バージョン公開

Vercelは、AIコーディングツールであるv0の新バージョンを公開。 これまでのプロトタイピング中心の利用から、本番環境向けのアプリケーション開発に利用可能なエンタープライズグレードのツールへと進化。

主な変更点は以下の通り。

  • Gitワークフローの統合: v0から直接Gitブランチを作成し、PRを作成可能。エンジニア以外もGitフローに参加可能。
  • 既存コードベースのインポート: GitHubリポジトリをインポートし、既存のプロジェクトに対してAIがコードを生成可能。
  • データ連携: SnowflakeやAWSなどのデータソースとセキュアに連携し、内部ツールやレポート作成が可能。
  • セキュリティ: エンタープライズレベルのセキュリティ標準に準拠。

出展:Introducing the new v0

投稿一覧

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