1051 文字
5 分

Frontend Weekly 2025-06-20

Cloudflare Workers Builds で Git 情報が環境変数として利用可能に#

日付:2025 年 6 月 10 日

Cloudflare Workers Builds で Git commit SHA とブランチ名にアクセス可能な環境変数が追加。CI/CD パイプラインの柔軟性向上を目的とし、Cloudflare Pages プロジェクトと同様のデフォルト環境変数を自動注入。

デプロイメントコンテキストに基づいて build プロセスをカスタマイズ可能。提供される環境変数はCIWORKERS_CIWORKERS_CI_BUILD_UUIDWORKERS_CI_COMMIT_SHAWORKERS_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 を利用可能。

次のコマンドでインストールまたマイグレーションが可能。

Terminal window
npm install --save-dev --save-exact @biomejs/biome
npx @biomejs/biome migrate --write

出展:Biome v2—codename: Biotype

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 文の整理が可能。従来の制限が解除され、より柔軟な整理が実現。

// Before
import { util1 } from "./utils.js";
import { util2 } from "./utils.js";
// After
import { 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で記述。現在はスコープが限定されているが、将来的な拡張の基盤を提供。

参考:Linter Plugins | Biome 参考:GritQL | Biome

Assists#

診断なしでのアクション実行を提供する Biome Assist を導入。Import Organizer が assist として再実装され、useSortedKeys によるオブジェクトリテラルのキーソート、useSortedAttributes による JSX 属性のソートが可能。

参考:Assist | Biome

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
}
}
}
Frontend Weekly 2025-06-20
https://blog.ohirunewani.com/series/frontend-weekly/2025-06-20/
作者
hrdtbs
公開日
2025-06-20
ライセンス
CC BY-NC-SA 4.0