عن المشروع
commitlint هي أداة مفتوحة المصدر لفحص رسائل الانتقالات (commit messages). تتحقق من أن الرسائل تتوافق مع صيغة Conventional Commits، التي تُكتب عادةً بالشكل `type(scope?): subject`، حيث يكون النطاق (scope) اختياريًا ويُدعم نطاقات متعددة بفواصل مثل `/` و`\` و`,` . تشمل الأنواع الشائعة build و chore و ci و docs و feat و fix و perf و refactor و revert و style و test، ويمكن تخصيص هذه الأنواع من خلال الإعدادات.
يوفر المشروع واجهة سطر أوامر رئيسية مثبتة باسم `@commitlint/cli`، وواجهة برمجية (API). يتم التقاط الإعدادات تلقائيًا من ملفات مثل `.commitlintrc` و`.commitlintrc.json` و`.commitlintrc.yaml` و`.commitlintrc.yml` و`.commitlintrc.js` و`.commitlintrc.cjs` و`.commitlintrc.mjs` و`.commitlintrc.ts` و`.commitlintrc.cts` و`.commitlintrc.mts` و`commitlint.config.js` و`commitlint.config.cjs` و`commitlint.config.mjs` و`commitlint.config.ts` و`commitlint.config.cts` و`commitlint.config.mts`، أو من حقل `commitlint` في `package.json` أو `package.yaml`.
يمكن تثبيت الإعدادات المشتركة وتوسيعها، بما في ذلك @commitlint/config-angular و@commitlint/config-conventional و@commitlint/config-lerna-scopes و@commitlint/config-nx-scopes و@commitlint/config-patternplate و@commitlint/config-workspace-scopes. يجب أن تتبع الإعدادات المشتركة المخصصة نمط التسمية `commitlint-config-*` بحيث يمكن الإشارة إليها بالاسم المختصر في حقل `extends`.
تتضمن حزم API كلًا من format وlint وload وread، مما يسمح بفحص رسائل الانتقالات برمجيًا وتحميل الإعدادات وقراءة الرسائل من نطاق محدد أو من آخر تعديل. تشمل الأدوات الإضافية محول commitizen وواجهة سطر أوامر تفاعلية (prompt CLI).
تغطي أدلة البدء الإعداد المحلي، حيث يتم فحص الرسائل عند الانتقال باستخدام husky، وإعداد CI، حيث يتم فحص الرسائل أثناء بناءات CI. يُطوَّر المشروع كـ monorepo ويتطلب Node.js LTS >= 22.12.0 و git >= 2.13.2. وهو مُصدَر بموجب رخصة MIT. تشمل المشاريع ذات الصلة conventional-changelog وcommitizen وcreate-semantic-module.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.