ForHosting KIT · 開発者向けツール

バージョンが SemVer 範囲を満たすか確認

バージョンが範囲に収まるかを一度で確認できます。1.5.2 は >=1.0.0 <2.0.0 を満たしますが、1.5.0-beta.1 は満たしません。広い範囲に不安定な版がうっかり入り込むことはありません。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日

パッケージマネージャーを導入したり文字列比較に頼ったりせず、パッケージのバージョンがセマンティックバージョン範囲に適合するかを確認できます。この機能は厳密な Semantic Versioning 2.0.0 のバージョンを検証し、指定された制約を解析して、真偽値を直接返します。完全一致、不等号比較、caret と tilde の互換範囲、空白で区切る積集合、二重縦線による選択肢に対応しています。不正なバージョンや範囲式は入力エラーとなるため、リリースツール、依存関係監査、デプロイ方針、対話的な問題調査に安心してご利用いただけます。

互換性方針に合う範囲の書式をお選びください

範囲は単にバージョン表記に似た文字列ではなく、ソフトウェアが実際に受け入れられるリリースを示す必要があります。まず 1.4.7 のような完全なセマンティックバージョンを入力し、対応する制約形式をお選びください。1.4.7 のような完全一致範囲は、SemVer の優先順位が同じバージョンだけを受け入れます。

>=1.0.0、<2.0.0、<=3.5.1 などの比較演算子では明示的な境界を設定できます。>=1.0.0 <2.0.0 のように各項を空白で区切ると、すべての条件を満たす必要があります。^1.8.0 || ^2.2.0 のように二重縦線を使うと、複数の選択肢を許可できます。

ビルドメタデータは SemVer に従って検証されますが、優先順位には影響しません。入力には major、minor、patch の各番号が必要であり、省略形や曖昧な形式は推測せず拒否します。返される satisfies は条件式で直接使える真偽値です。

また、応答には入力したバージョンと範囲も含まれるため、ログや画面で評価対象の方針を正確に確認できます。

caret、tilde、プレリリースの動作をご確認ください

caret と tilde の範囲は、よく使われる二つの互換性方針を表します。caret 範囲は通常、左端にあるゼロ以外の要素を変えない更新を許可します。そのため ^1.2.3 は 1.2.3 以上 2.0.0 未満を受け入れます。

major がゼロの場合は範囲が狭くなり、^0.2.3 は 0.3.0 未満、^0.0.3 は 0.0.4 未満です。tilde 範囲は指定した minor 系列内の patch 更新を許可するため、~1.2.3 は 1.2.3 以上 1.3.0 未満となります。

一般的な広い範囲が不安定なビルドを誤って許可しないよう、プレリリースには特別な規則があります。プレリリース版が比較条件一式を満たすには、同じ major、minor、patch を持つプレリリース比較対象がその条件内に必要です。

たとえば 2.0.0-beta.2 は >=2.0.0-beta.1 <2.0.0 を満たせますが、1.5.0-beta.1 は >=1.0.0 <2.0.0 を満たしません。これは一般的なパッケージマネージャーの安全な動作に沿いながら、プレリリース識別子間の厳密な SemVer 優先順位を保ちます。

リリースと依存関係の処理で決定的な確認をご活用ください

バージョン方針を再現可能な判断に変える必要がある場面で、この確認機能が役立ちます。継続的インテグレーションでは、テスト開始前にランタイムのバージョンがパッケージ要件を満たすか確認できます。デプロイサービスでは、承認済みのリリース系列から外れる成果物を拒否できます。

依存関係の台帳では記録済みバージョンを移行目標と照合でき、サポート担当者は議論になった互換性結果をブラウザーで再現できます。実装はネットワーク通信、時刻の参照、乱数生成を行わないため、同じ入力からは常に同じ出力が得られます。数値要素は JavaScript の数値へ変換せず数字列として比較し、安全な整数の上限を超えても正しい結果を維持します。

ランタイム要件を適用します

ビルドやデプロイを続ける前に、検出されたランタイムまたはツールのバージョンを対応範囲と照合できます。

パッケージ互換性を監査します

パッケージマネージャーを実行せず、導入済み依存関係のバージョンを宣言された互換性方針と照合できます。

リリース選択を調査します

caret、tilde、比較演算子、プレリリースに関する判断を、明確な真偽値で再現できます。

どの範囲演算子に対応していますか?

完全一致、<、<=、>、>=、=、caret、tilde、空白区切りの AND 条件、二重縦線による OR 選択肢に対応しています。

ビルドメタデータは結果に影響しますか?

影響しません。 検証は行いますが、SemVer ではバージョンの優先順位から除外されます。

広い範囲でもプレリリースが不一致になるのはなぜですか?

同じ major、minor、patch を持つプレリリース比較対象が条件一式に含まれる場合だけ、プレリリース版を許可するためです。

省略版やワイルドカード範囲を使用できますか?

使用できません。 バージョンには major、minor、patch が必要で、未対応の省略形式やワイルドカード形式は入力エラーになります。

^1.2.3 のようなキャレット範囲はどこまで含みますか?

1.2.3から、2.0.0の手前までです。メジャー番号が0なら範囲は狭くなり、^0.2.3 は0.3.0の手前、^0.0.3 は0.0.4の手前で止まります。~1.2.3 のようなチルダ範囲は1.3.0の手前までです。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/dev2/package-version-range-check

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/dev2/package-version-range-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"version":"1.5.2","range":">=1.0.0 <2.0.0"}'
{
  "version": "1.5.2",
  "range": ">=1.0.0 <2.0.0"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.package_version_range_check",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_chars_per_input2048
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

リリースと依存関係の処理で決定的な確認をご活用ください

不正な範囲構文は false ではなく invalid_input エラーになります。この違いは重要です。 false は有効な方針がバージョンを拒否したことを示し、エラーは方針自体の修正が必要であることを示します。簡単な確認には対話型実行画面を、判断を自動化へ組み込む場合は $0.002 の API をご利用ください。

範囲の形式が不正な場合はどうなりますか?

不正な方針を一致しない有効範囲として扱わず、invalid_input エラーを返します。

KITの完全なドキュメントを見る →