Skip to content
YAS.SH
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()
FieldTypeRequiredDescription
v1stringYesVersion 1
v2stringYesVersion 2
rangestringNoOptional 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.
اسأل مساعد YAS
🍪 ملفات الارتباط والخصوصية. ملفات ضرورية لتسجيل الدخول واللغة والسمة. قد يستخدم Google AdSense ملفات للإعلانات بعد اختيار «قبول الكل». يعمل reCAPTCHA على صفحات تسجيل الدخول والتواصل. كيفية استخدام Google للبيانات: https://policies.google.com/technologies/partner-sites سياسة الكوكيز · سياسة الخصوصية.
الإعدادات