Utilities🔒 المتصفح (محلي)متاح عبر API📴 يعمل بدون اتصالbeginner
مقارن ومطابق الإصدارات SemVer
يقارن إصدارات SemVer 2.0.0 ويقيّم نطاقات npm (^ و ~ و >=) ويرتّب المصفوفات.
البيانات تبقى في متصفحك ولا تُرسل لأي سيرفر
جاهز للاستخدام الفوريمعالجة فورية فائقة السرعة
النتيجة
—إيه اللي الأداة دي بتعمله؟
يقارن إصدارات SemVer 2.0.0 ويقيّم نطاقات npm (^ و ~ و >=) ويرتّب المصفوفات.
إمتى أستخدمها؟
- تحل تعارضات الاعتماديات.
- تريد معرفة إن كان 1.3.1 يحقق ^1.2.0.
- تؤتمت وسوم الإصدار في CI.
مثال واقعي
الإدخال
v1: 1.2.3، v2: 1.3.0، النطاق: ^1.2.0
الناتج
المقارنة: 1.2.3 < 1.3.0 · الفرق: minor · يحقق النطاق: نعم
يدعم الوسوم المسبقة وبيانات البناء.
إدخال → معالجة → ناتج → الخطوة التالية
- الإدخال
- أدخل إصدارين ونطاقاً اختيارياً.
- المعالجة
- يحلّل major.minor.patch وفق SemVer 2.0.0.
- الناتج
- حكم المقارنة ونوع الفرق ومطابقة النطاق.
- الخطوة التالية
- ثبّت القيد في package.json.
أخطاء شائعة
- افتراض أن 1.2.0-beta يحقق ^1.2.0.
- الخلط بين ^ و ~.
- الاعتماد على حرف v في المواصفات الصارمة.
يعني إيه النتيجة
ترتيب رياضي وتوافق بين إصدارات البرمجيات.
الخصوصية والأمان
Your input is processed entirely in your browser and never sent to a YAS server.
API
Endpoint
POST https://yas.sh/api/v1/tools/semver-comparator
Request Header
Content-Type: application/json
cURL
curl -X POST "https://yas.sh/api/v1/tools/semver-comparator" \
-H "Content-Type: application/json" \
-d '{"v1":"1.2.3","v2":"1.3.0","range":"^1.2.0"}'JavaScript
const res = await fetch("https://yas.sh/api/v1/tools/semver-comparator", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"v1": "1.2.3",
"v2": "1.3.0",
"range": "^1.2.0"
}),
});
const data = await res.json();Python
import requests
r = requests.post("https://yas.sh/api/v1/tools/semver-comparator", json={"v1":"1.2.3","v2":"1.3.0","range":"^1.2.0"})
data = r.json()| Field | Type | Required | Description |
|---|---|---|---|
| v1 | string | Yes | Version 1 |
| v2 | string | Yes | Version 2 |
| range | string | No | Optional range spec e.g. ^1.0.0 |
Success response
{ "slug": "semver-comparator", "comparison": "less", "satisfies": true }Compare semantic versions and evaluate npm range specs.
Error responses
400 VALIDATION_ERROR— invalid input or unsupported option.413 PAYLOAD_TOO_LARGE— input exceeds the 64 KB limit.429 RATE_LIMIT_EXCEEDED— rate limit exceeded (60 req/min).
Limits
- Maximum input: 64 KB per request.
- Rate limit: 60 requests/min per IP address.
- Authenticated accounts benefit from higher tier quotas.
أدوات مرتبطة