Frontend Weekly 2025-06-20
Cloudflare Workers Builds で Git 情報が環境変数として利用可能に
日付:2025 年 6 月 10 日
Cloudflare Workers Builds で Git commit SHA とブランチ名にアクセス可能な環境変数が追加。CI/CD パイプラインの柔軟性向上を目的とし、Cloudflare Pages プロジェクトと同様のデフォルト環境変数を自動注入。
デプロイメントコンテキストに基づいて build プロセスをカスタマイズ可能。提供される環境変数はCI
、WORKERS_CI
、WORKERS_CI_BUILD_UUID
、WORKERS_CI_COMMIT_SHA
、WORKERS_CI_BRANCH
の 5 種類。
Commit ID を Sentry などのエラー報告に渡したり、production ブランチでデバッグログを無効化するなどの用途で活用可能。カスタム環境変数の追加や既定値の上書きは、Worker 設定の Environment variables から実行。
出展:Access git commit sha and branch name as environment variables in Workers Builds
GitHub Team プランでも Organization での Ruleset が利用可能に
日付:2025 年 6 月 16 日
GitHub Team プランで組織レベル Ruleset の設定が可能に。従来は Enterprise プランに限定されていたガバナンス機能が Team プランで利用可能。
複数リポジトリにわたってブランチとタグ保護のスケールが容易になった。管理者は組織レベルでルールを定義し、一貫した強制実行が可能。プルリクエスト必須化、GitHub Actions ワークフロー必須化など組織全体での要件強制により手動設定と設定ドリフトのリスクを削減。
組織 Ruleset を利用して Copilot code review の全リポジトリ展開が可能。UI、REST API、GraphQL API から管理可能で、ruleset-recipes リポジトリから事前作成された Ruleset のインポートも可能。
出展:Organization rulesets now available for GitHub Team plans
Biome v2 リリース
日付:2025 年 6 月 17 日
TypeScript コンパイラに依存しない型推論を提供する初の JavaScript と TypeScript リンター、Biome v2 がリリース。TypeScript パッケージをインストールせずに型推論ベースの lint rules を利用可能。
次のコマンドでインストールまたマイグレーションが可能。
npm install --save-dev --save-exact @biomejs/biomenpx @biomejs/biome migrate --write
Multi-file analysis と type inference
v2.0 以前は Biome の lint ルールは 1 つのファイルずつしか操作できなかった。v2 では他のファイルからの情報を必要とするより複雑なルールが可能に。
file scanner がプロジェクト内の全ファイルをスキャンしてインデックス化。noFloatingPromises rule は typescript-eslint の約 75%のケースを検出可能で、パフォーマンスへの影響は大幅に軽減。
file scanner は opt-in のため、v1 から v2 への移行時のパフォーマンスへの影響は最小限。デフォルトではネストした設定ファイルの発見にのみ使用され、フルスキャンはプロジェクトルールが有効な場合のみ実行。
Monorepo Support
package.json ファイルから適切なパッケージ情報を取得し、ネストした設定ファイルをサポート。プロジェクトルートに単一の biome.json または biome.jsonc を持ちつつ、サブディレクトリに任意の数の設定ファイルを配置可能。
ネストした設定ファイルの定義方法:
{ "root": false}
または、ルート設定からの継承:
{ "extends": "//"}
Import Organizer Revamp
同一モジュールからの import のマージ、カスタム順序の設定、export 文の整理が可能。従来の制限が解除され、より柔軟な整理が実現。
// Beforeimport { util1 } from "./utils.js";import { util2 } from "./utils.js";
// Afterimport { util1, util2 } from "./utils.js";
カスタム順序での整理例:
import { open } from "node:fs";
import { internalLib1 } from "@company/library1";import { internalLib2 } from "@company/library2";
import { lib1 } from "library1";
Plugins
Linter Plugins の初期実装により、コードスニペットのマッチングと診断レポートが可能。プラグインはソースコードの構造検索を実行するためのクエリ言語であるGritQLで記述。現在はスコープが限定されているが、将来的な拡張の基盤を提供。
Assists
診断なしでのアクション実行を提供する Biome Assist を導入。Import Organizer が assist として再実装され、useSortedKeys によるオブジェクトリテラルのキーソート、useSortedAttributes による JSX 属性のソートが可能。
Improved suppressions
従来の// biome-ignore コメントに加えて、ファイル全体での lint ルールや formatter の抑制を行う// biome-ignore-all をサポート。
範囲指定での抑制も可能:
// biome-ignore-start// 抑制したいコード// biome-ignore-end
HTML formatter
.html ファイルのフォーマットが可能な実験的実装。Vue、Svelte、Astro などの HTML テンプレート言語への対応準備が進行中。
現在は Prettier の HTML テストスイートの 46/124 を正しくフォーマット可能。デフォルトでは無効のため、手動での有効化が必要:
{ "html": { "formatter": { "enabled": true } }}