عن المشروع
SwiftLint هو أداة مفتوحة المصدر شائعة لفرض أسلوب شفرة Swift واتفاقياتها، وهي مستندة تقريبًا إلى دليل أسلوب Swift على GitHub المؤرشف الآن. وهو يفرض قواعد مقبولة عمومًا من مجتمع Swift، كما هو موضح في أدلة الأسلوب الشائعة مثل دليل أسلوب Swift الخاص بـ Kodeco.
تتضمن الأداة أكثر من 200 قاعدة، معظمها يعتمد على SwiftSyntax، مع بعض القواعد التي ترتبط بـ Clang وSourceKit للحصول على معلومات الأنواع. يمكن تكوين القواعد عبر ملف .swiftlint.yml، ويمكن تعطيل القواعد الفردية داخل الكود باستخدام التعليقات (مثل: // swiftlint:disable rule_name). القواعد الاختيارية (Opt-in) معطلة افتراضيًا ويجب تمكينها صراحةً.
يدعم SwiftLint طرق تثبيت متعددة: Swift Package Manager (كإضافة أوامر أو إضافة أداة بناء)، وتبعية حزم Xcode، وHomebrew، وCocoaPods، وMint، وBazel، ومثبّت .pkg الجاهز، والبناء من المصدر. كما يوفر صورة Docker للاستخدام في الحاويات.
تشمل خيارات التكامل إضافات أدوات البناء في Xcode ومراحل تشغيل البرامج النصية في البناء (Run Script Build Phases)، وVisual Studio Code عبر إضافة vscode-swiftlint، وإجراء swiftlint في Fastlane، وخطافات Git قبل الالتزام (pre-commit)، وMegaLinter لتجميع CI. يمكن تشغيل الأداة من سطر الأوامر بأوامر فرعية للفحص والتحليل وتوليد التوثيق وسرد القواعد وعمليات خط الأساس.
يرتبط SwiftLint بـ SourceKit، مما يسمح له بالعمل عبر إصدارات Swift دون تضمين مترجم كامل. وهو يدعم سلاسل أدوات Swift متعددة عبر متغيرات البيئة وتجاوزات سلاسل أدوات Xcode. المشروع نشط الصيانة، ويُشجع على المساهمات عبر طلبات السحب (Pull Requests)، ويلتزم بمدونة قواعد السلوك Contributor Covenant.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.