البدء السريع
متطلبات البيئة
Section titled “متطلبات البيئة”- Node.js
>= 22.12(موقع التوثيق يستخدم Astro 7، وهو شرط إلزامي) - pnpm
10.x(المستودع مُقفل علىpnpm@10.34.5)
التثبيت
Section titled “التثبيت”pnpm installلا يوجد أي تبعية في وقت التشغيل في هذا المستودع (قيمة dependencies فارغة)، وكل ما يُثبَّت هو سلسلة أدوات وقت البناء (tsx، ajv، handlebars، vitest، astro وغيرها).
تشغيل codegen مرة واحدة
Section titled “تشغيل codegen مرة واحدة”pnpm codegenينفّذ هذا الأمر tsx codegen/src/index.ts، والعملية الكاملة هي:
- قراءة رقم الإصدار من
package.json - تحميل
tokens/*.jsonوالتحقق منها (تحقق هيكلي عبر Ajv) - تحليل المراجع (ref)، ودمج الوضع الداكن (تحقق دلالي: مطابقة الأنواع، سلامة المراجع، الكشف عن الحلقات)
- تحميل
specs/*.jsonوcases/*.jsonوالتحقق منهما - حذف مجلد
dist/بالكامل وإعادة بنائه - تنفيذ 5 أهداف بالترتيب (android ← ios ← harmony ← c ← docs)
تكون المخرجات في dist/:
[android] android/top/lhgb/ui/tokens/LhTokens.kt [android] android/top/lhgb/ui/tokens/LhDarkTokens.kt ...اكتمل codegen: 5 أهداف، N ملفًا، الإصدار v0.0.1يتغير عدد الملفات باختلاف محتوى الرموز (عند وجود رموز ظلال يظهر ملف حامل ظل إضافي لكل من ios / harmony)، لذا يُرجَّح الرجوع إلى المخرجات الفعلية.
التحقق
Section titled “التحقق”pnpm verify # = pnpm verify:tokens && pnpm verify:specsverify:tokens: التحقق من schema الرموز + سلامة المراجع + تباين النص الأساسي مع لون الخلفية للعناصر الحرجة ≥4.5:1 (WCAG AA) + فحص الصياغة الخاصة بالمنصات (var()/rem/sp/dp)، والإبلاغ عن المسارات الداكنة اليتيمة (مفاتيح مُعلَنة في ملف الوضع الداكن لكنها غير موجودة في مجموعة الأوضاع الفاتحة) والمفاتيح الداكنة التي تفتقر إلى النوع.verify:specs: التحقق من اتساق المواصفات (specs) مع الحالات (cases) (مثل: هل الـ prop / الحدث الذي تشير إليه الحالة موجودًا في المواصفات أم لا).
الاختبار
Section titled “الاختبار”pnpm testتعكس اختبارات اللقطات (snapshot) جميع منتجات dist/. بعد تعديل الرموز أو القوالب ستفشل اللقطات، وبعد التأكد من صحة التغييرات تُحدَّث عبر pnpm test -- -u.
موقع التوثيق
Section titled “موقع التوثيق”pnpm docs:dev # معاينة محلية http://localhost:5185/lhui/core/pnpm docs:build # بناء للإنتاج (base هو /lhui/core/)pnpm docs:preview # معاينة بناء الإنتاجتقرأ الصفحات المرجعية الثلاث في موقع التوثيق (الرموز / العقود / الحالات) المصادر الأصلية tokens/ وspecs/ وcases/ مباشرةً في وقت البناء، ولا تحتاج إلى تشغيل codegen مسبقًا.
تركيبات شائعة
Section titled “تركيبات شائعة”| السيناريو | الأمر |
|---|---|
| عُدِّلت الرموز، وتُريد المنتجات | pnpm codegen |
| عُدِّلت الرموز، وتُريد المنتجات + التحقق | pnpm build (= codegen + verify) |
| عُدِّلت القوالب، وتُريد المنتجات + اللقطات | pnpm codegen && pnpm test -- -u |
| الاطلاع فقط على جدول المرجع السريع للرموز | بعد pnpm codegen، راجع dist/docs/tokens.md |
أين تُستهلك المنتجات
Section titled “أين تُستهلك المنتجات”يستهلك كل طرف أصلي المنتجات الخاصة بمنصته تحت dist/:
- Android: ملفات Kotlin تحت
dist/android/ - iOS: ملفات Swift تحت
dist/ios/ - HarmonyOS: ملفات ArkTS تحت
dist/harmony/ - Windows: ملفات C# تحت
dist/windows/
آلية الربط المحلي (تعديل الرموز مع مفعول فوري دون إصدار نسخة) موضحة في الربط المحلي.
Copyright © 2024-2026 FengMo WenXue