Health レポート
Health スコアは、分析結果に存在するカテゴリ全体のプロジェクトの総合的な品質を要約した 0〜100 の単一の数値です。CI パイプラインをゲートするために --min-health フラグで使用されます。
スコアの計算方法
Section titled “スコアの計算方法”Health は 2 段階で計算されます:
1. カテゴリスコア
Section titled “1. カテゴリスコア”アクティブな各カテゴリ(SEO、パフォーマンス)に対して、svelte-vitals は独立したスコアを計算します:
- すべてのルートは 100 から始まります。
- 各失敗した検出結果は重大度に基づいてポイントを差し引きます:
critical→ ルートごとに −15warning→ ルートごとに −5info→ ルートごとに −1
- 差し引きは(ルート、ルール)ペアごとに一度だけ行われます — 重複は合計ではなく最大の差し引きを取ります。
- ルートスコアを平均してカテゴリの見出しスコアを算出します。
- クリティカルな検出結果が存在する場合、見出しスコアは 79 にキャップされます。
2. 重み付き Health
Section titled “2. 重み付き Health”Health はカテゴリごとの重みを使用してカテゴリスコアを平均します。デフォルトでは存在する各カテゴリに等しい重み(1)が設定されます。例えば SEO とパフォーマンスだけが存在する場合:
Health = (SEO_score × w_seo + Performance_score × w_perf) / (w_seo + w_perf)この式は簡潔にするため2カテゴリで示していますが、実際には結果に存在するすべてのカテゴリ(最大5つ:SEO、Performance、Correctness、Security、Architecture)にわたって同じ加重平均が計算されます。
重みは --weights フラグまたは設定ファイルの weights フィールドで指定します — 両方の詳細は 設定ファイル を参照してください。例えば SEO を2倍にするには:
svelte-vitals --weights seo=2結果に存在するカテゴリのみが含まれます。 プロジェクトに画像がない場合、パフォーマンスルールは発火せず、パフォーマンスカテゴリは結果を生成せず、Health は SEO のみに基づいて算出されます。パフォーマンスは、プロジェクトにパフォーマンスルールをトリガーする画像がある場合にのみ表示されます。
結果は最も近い整数に丸められます。
--min-health ゲート
Section titled “--min-health ゲート”Health スコアが閾値を下回った場合に実行を失敗させます(終了コード 1):
svelte-vitals --min-health 80これは --fail-on とは別の CI ゲートとして便利です:
--fail-onは個々の検出結果の重大度に反応します。--min-healthは集約された重み付きスコアに反応します。
両方を一緒に使用することもできます。
Health: 85 (SEO: 90 · Performance: 75)SEO ルールのみが発火した場合:
Health: 90 (SEO: 90)ルートごとの内訳
Section titled “ルートごとの内訳”--by-route を追加すると、サイト全体の Health と並んで各ルートのスコアを確認できます:
svelte-vitals --by-route