podexit
أيّ pods ستتوقف عن تلقّي التحديثات عندما يصبح CocoaPods trunk للقراءة فقط (read-only)، وأيّها يوفّر بالفعل حزمة Swift.
الترخيص: MIT
يصبح CocoaPods trunk للقراءة فقط في 2 ديسمبر 2026. تستمر عمليات البناء (builds) في العمل، لكن الـ pods المنشورة فيه لا تحصل على إصدارات جديدة. تقرأ podexit ملف Podfile.lock الموجود لديك بالفعل وتقدّم تقريرًا لكل pod حول ما إذا كان مجمَّدًا (frozen) على trunk، أو مُقيَّدًا سابقًا من ناشره (Firebase 12.x)، أو غير متأثر، وما إذا كان مستودعه الأصلي (upstream) يحتوي على Package.swift، عند HEAD وعند الوسم (tag) المقفل. تتعرّف على مشاريع iOS الأصلية (native) وFlutter وReact Native وExpo وتربطها بدليل الترحيل (migration guide) المناسب. لا يُثبَّت أي شيء في المشروع.
الميزات
- إجابتان لكل pod: حالة التحديث (مجمَّد على trunk، مُقيَّد من الناشر، غير متأثر، غير معروف) وحالة حزمة Swift
- تفحص Package.swift عند الوسم المقفل أيضًا وتذكر الحالات التي توجد فيها حزمة Swift فقط في إصدارات أحدث
- pods فايربيز Firebase المدرجة البالغ عددها 20، المُقيَّدة عند 12.x مع اعتمادياتها الفرعية، من ملف بيانات يذكر مصدره
- تجد ملف Podfile.lock في تخطيطات (layouts) native وFlutter app وFlutter plugin وReact Native وExpo وتربطه بالدليل المناسب
- جدول في الـ terminal، أو Markdown لـ pull requests، أو JSON للسكريبتات
- الإجابات مخزَّنة في cache لمدة 24 ساعة؛ ويستخدم --offline الـ cache فقط
- تُعطَّل محارف التحكم (control characters) وصياغة Markdown الواردة من lockfile أو من سجلات (registries) في كل مخرَجات (output)
- واجهة برمجية (API): analyzeLockfile وbuildReport وrender واللبنات الأساسية (building blocks) التي خلفها
البدء السريع
1npx @mcamdali/podexitالتثبيت
npx (no install)
1npx @mcamdali/podexitnpm (project)
1npm install --save-dev @mcamdali/podexit2npx @mcamdali/podexitnpm (global)
1npm i -g @mcamdali/podexit2podexitHomebrew
1brew install muhittincamdali/tap/podexitلقطات الشاشة
الجدول الزمني
افتُتح المستودع؛ صدر 0.1.0 بمحلِّل lockfile، وعمليات البحث (lookups) في trunk وGitHub، وتقييد Firebase، وثلاثة صيغ تقارير، وخمس fixtures مسجَّلة
0.1.1: تُعطَّل محارف التحكم وصياغة Markdown الواردة من lockfiles غير موثوقة في كل صيغة تقرير وفي stderr
0.1.2: نُشرت على npm باسم @mcamdali/podexit؛ ولا يزال الأمر هو podexit