انتقل إلى المحتوى

عرض إعدادات Pkl

ولّد مخرجات JSON و YAML و PCF من ملفات إعدادات Pkl لاستخدامها في التطبيقات وأدوات النشر و CI.

اقرأ دون اتصالelide help pkl-configuration

في هذه الصفحة

قيّم ملف .pkl أو .pcf مباشرةً وأرسل مخرجاته المعروضة إلى stdout. استخدم هذا لتوليد إعدادات التطبيق، أو لتغذية أدوات النشر، أو لفحص الإعدادات قبل إيداعها. لا يلزم وجود مشروع Elide.

توليد JSON أو YAML

ابدأ بالملف config.pkl:

pkl
service = "api"
port = 8080
utf-8 · pkl · الأسطر: 2

اختر الصيغة التي يستهلكها تطبيقك ووجّه النتيجة إلى ملف:

الطرفية
shell
elide --format=json config.pkl > config.json
elide --format=yaml config.pkl > config.yaml

تحتوي مخرجات JSON على service و port بالقيم والأنواع نفسها. ويعمل الأمر الصريح run أيضًا:

الطرفية
shell
elide run --format json config.pkl

تقبل مدخلات .pkl و .pcf الخيارات نفسها. على سبيل المثال، حوّل إعدادات PCF موجودة إلى ⁦JSON:⁩

الطرفية
shell
elide --format=json config.pcf > config.json

اختيار صيغة المخرجات

الخيارالمخرجاتالاستخدام المعتاد
--format=jsonJSONإعدادات التطبيقات والأدوات التي تستهلك JSON
--format=yamlYAMLإعدادات النشر
--format=pcfPkl Configuration Formatفحص الإعدادات المقيَّمة بترميز Pkl
دون --formatالمخرجات المضبوطة في الوحدة؛ PCF افتراضيًااحترام تعريف المخرجات الخاص بالوحدة

مخرجات TOML غير مدعومة. وتفشل الصيغة غير المدعومة برمز الخروج 2.

مشاركة الإعدادات بين الملفات

تُحلّ الاستيرادات النسبية انطلاقًا من ملف الإدخال، لذا يمكن للإعدادات إعادة استخدام القيم الافتراضية المجاورة حتى عند استدعائها من مجلد آخر. على سبيل المثال، ضع defaults.pkl و config.pkl معًا ضمن config/:

pkl
// defaults.pkl
port = 8080
utf-8 · pkl · الأسطر: 2
pkl
// config.pkl
import "defaults.pkl"

service = "api"
port = defaults.port
utf-8 · pkl · الأسطر: 5

من جذر المستودع، اعرض الإعدادات باستخدام:

الطرفية
shell
elide --format=json config/config.pkl

استخدام المخرجات في السكربتات و CI

لا يحتوي stdout إلا على المستند المعروض؛ وتذهب رسائل التشخيص وأخطاء التقييم إلى stderr. لا حاجة إلى --quiet لإعادة التوجيه أو خطوط الأنابيب. على سبيل المثال، افحص خاصية عند تثبيت jq:

الطرفية
shell
elide --format=json config.pkl | jq '.port'

يُعرض ملف بيان المشروع بالطريقة نفسها، فيُظهر إعداداته المقيَّمة بالكامل بما فيها القيم الافتراضية:

الطرفية
shell
elide --format=json elide.pkl | jq '.dependencies'

يخرج فشل التقييم برمز 1 ولا يكتب أي محتوى معروض إلى stdout. لتحديث ملف بشكل ذرّي، استخدم --out بدلًا من إعادة التوجيه في الصدفة:

الطرفية
shell
elide --format=json --out config.json config.pkl

يكتب --out config.json ملفًا مؤقتًا في مجلد الوجهة ولا يستبدل config.json ذرّيًا إلا بعد نجاح التقييم والكتابة. وتترك حالات الفشل الملف الموجود دون تغيير وتخرج برمز غير صفري. يجب أن يكون مجلد الوجهة موجودًا وأن يدعم الاستبدال الذرّي. وتُحلّ المسارات النسبية انطلاقًا من مجلد العمل.

استخدم --out - لاختيار stdout صراحةً:

الطرفية
shell
elide --format=json --out - config.pkl

يرفض عرض المستندات --sandbox و --limit؛ فضوابط التنفيذ هذه لا تنطبق على هذا الأمر. لكل خيارات الأمر، راجع مرجع CLI. ولقراءة ملف README أو دليل تشغيل في الطرفية نفسها، راجع Markdown في الطرفية.

هل كانت هذه الصفحة مفيدة؟