مطور / الإصدارات

حاسبة Semver ومدقّق النطاقات

تحقق من توافق إصدار مع نطاق Semver مثل ^1.2.0 أو ~2.3، وتعرّف إلى معنى النطاق، وقارن بين إصدارين، واحسب الإصدار الرئيسي أو الثانوي أو التصحيحي أو التجريبي التالي.

حاسبة Semver ومدقّق النطاقات: تتبع الإصدارات قاعدة Semantic Versioning 2.0.0: MAJOR.MINOR.PATCH، مع إصدار تجريبي اختياري مثل -beta.1 يُرتَّب قبل الإصدار النهائي، وبيانات بناء يجري تجاهلها. تستخدم النطاقات صيغة npm: يعني ^1.2.0 الإصدار 1.2.0 على الأقل، ولكن أقل من 2.0.0، ويعني ~1.2.0 إصدارًا أقل من 1.3.0، ويعني 1.x أي إصدار 1.y.z، كما يمكن دمج نطاقات الواصلة والعامل ||. جرى التحقق من النتائج بمقارنتها بحزمة semver الخاصة بـ npm على آلاف النطاقات العشوائية. يعمل 100% محليًا في المتصفح، من دون رفع أي ملفات إلى الخادم.

مرات التشغيل
في المتصفح
التكلفة
مجاني · بلا تسجيل
التوفر
جاهز للاستخدام
حاسبة Semverمعالجة محلية

تعمل بالكامل في المتصفح

يستوفي 1.4.2 الشرط ^1.2.0

يعني النطاق: >=1.2.0 <2.0.0-0

الإصدارات التالية

major2.0.0
minor1.5.0
patch1.4.3
premajor2.0.0-beta.0
preminor1.5.0-beta.0
prepatch1.4.3-beta.0
prerelease1.4.3-beta.0

1.4.2 < 1.10.0

تتبع النطاقات صيغة npm: يتيح ^ تغييرات لا تمس الرقم غير الصفري الأيسر، ويتيح ~ تغييرات التصحيح، ويمثل x أي رقم، بينما يربط || البدائل. لا تتطابق الإصدارات التمهيدية إلا مع النطاقات التي تذكر إصدارًا تمهيديًا من الإصدار نفسه.

متى تغيّر كل رقم

زد MAJOR عند إجراء تغييرات تكسر استخدامات المستخدمين الحاليين، وMINOR عند إضافة ميزات جديدة تحافظ على التوافق، وPATCH عند إصلاح الأخطاء. الإصدارات الأقدم من 1.0.0 مخصصة للتطوير الأولي، حيث يمكن أن يتغير أي شيء، ولذلك لا يسمح ^0.2.3 إلا بتحديثات PATCH.

لمقارنة ملفي package.json، استخدم مدقّق الفروقات.

ملفات القفل

يسمح النطاق في package.json بإصدارات عديدة؛ أما ملف القفل فيسجل الإصدارات المثبتة بدقة، حتى يحصل الجميع على الاعتماديات نفسها. أدرج ملف القفل في المستودع، وحدّث النطاقات عن قصد.

طريقة الاستخدام

  1. أدخل إصدارًا مثل 1.4.2 ونطاقًا مثل ^1.2.0.
  2. تحقق من توافق الإصدار مع النطاق، وشاهد الإصدار الذي يتوسع إليه النطاق.
  3. اطّلع على الإصدار التالي لكل نوع من الإصدارات، أو قارن بين إصدارين.

الخصوصية والقيود

تُجرى عملية الحساب في المتصفح.

أدوات ذات صلة

الأسئلة الشائعة

ما الفرق بين ^ و ~؟

يسمح الرمز ^ بأي تغيير لا يبدّل الرقم غير الصفري الواقع في أقصى اليسار: يسمح ^1.2.3 بـ 1.9.0، لكنه لا يسمح بـ 2.0.0، ويسمح ^0.2.3 بـ 0.2.9، لكنه لا يسمح بـ 0.3.0. أما الرمز ~ فلا يسمح إلا بتغييرات الإصدار التصحيحي: يسمح ~1.2.3 بـ 1.2.9، لكنه لا يسمح بـ 1.3.0.

لماذا لا يتوافق 1.3.0-beta مع >=1.2.0؟

لا يسمح npm للإصدارات التجريبية بالتوافق مع نطاق إلا إذا ذكر إصدارًا تجريبيًا من الإصدار نفسه، حتى لا تُثبَّت الإصدارات غير المستقرة عن طريق الخطأ.

أيهما أحدث، 1.0.0-alpha أم 1.0.0-alpha.1؟

1.0.0-alpha.1: يُرتَّب الإصدار التجريبي الأطول، الذي يبدأ بالقيمة نفسها، بعد الإصدار الأقصر؛ وأي إصدار تجريبي يُرتَّب قبل الإصدار النهائي نفسه.

أداة مجانية · عدد مرات الاستخدام في المتصفح · لا يتطلب حسابًا