ما يفعله منسق GraphQL هذا
- يستخدم محلل Prettier لـ GraphQL لتطبيق تنسيق متسق وفقًا لمعايير المجتمع
- يدعم الاستعلامات، الطفرات، الاشتراكات، الأجزاء ومخطط SDL الكامل (الأنواع، الواجهات، الاتحادات، التعدادات، المدخلات، التوجيهات)
- مسافات بادئة قابلة للتعديل: اختر مسافات أو علامات تبويب وتهيئة حجم المسافة البادئة (1–8)
- تحكم اختياري في طول السطر / الالتفاف عبر عرض عمود قابل للتكوين
- يحتفظ بالوصوف (`"""…"""`) والتعليقات المضمنة سليمة أثناء توحيد تخطيطها
- يتحقق من هيكل مستند GraphQL الخاص بك كجزء من التنسيق؛ سيظهر بناء الجملة غير الصالح أخطاء بدلاً من تشويه الكود بصمت
- تنفيذ هجين: يشغل Prettier في المتصفح عند التوفر ويعود إلى منسق الخادم إذا لزم الأمر
- الصق أو ارفع ملفات `.graphql` / `.gql`، ثم معاينة، نسخ أو تحميل النتيجة المنسقة
📝 كيفية تنسيق GraphQL عبر الإنترنت for graphql-formatter
الصق أو ارفع مخطط GraphQL الخاص بك
الصق مخطط GraphQL أو استعلاماتك في المحرر، أو أسقط ملف `.graphql` / `.gql`. يعمل المُنسق على كل من مستندات SDL والمستندات التشغيلية.
اضبط خيارات التنسيق
اختر المسافات أو علامات الجدولة، وحدد حجم المسافة البادئة، وضبط الطول المفضل للسطر. يتم تمرير هذه الخيارات إلى مُنسق GraphQL في Prettier.
نسق، راجع وصدّر
انقر على تنسيق لتطبيق التغييرات. راجع النتيجة في لوحة المعاينة، ثم انسخها مرة أخرى إلى محررك أو حمّل الملف المنسق.
المواصفات الفنية
المدخلات المدعومة
مصمم لمستندات مخطط وعمليات GraphQL القياسية.
| النوع | أمثلة | ملاحظات |
|---|---|---|
| مخطط SDL | schema.graphql, schema.gql | الأنواع، الواجهات، الاتحادات، التعدادات، المدخلات، التوجيهات، تعريف المخطط |
| العمليات | queries.graphql, app.gql | الاستعلامات، الطفرات، الاشتراكات والمقاطع |
| الامتدادات | امتدادات المخطط في ملفات منفصلة | مثل، كتل `extend type Query { … }` |
محرك التنسيق
يتم إجراء التنسيق باستخدام دعم GraphQL في Prettier. في معظم الحالات، يعمل Prettier في المتصفح عبر بيئة تشغيل خفيفة الوزن. إذا لم يمكن حل إضافة GraphQL في البيئة الحالية، فإن المُنسق يتراجع تلقائيًا إلى عامل Prettier على الخادم.
الخيارات المتاحة (مُعينة على Prettier)
| الخيار | السلوك | القيم النموذجية |
|---|---|---|
| نمط المسافة البادئة | اختر بين المسافات وعلامات الجدولة | مسافة (افتراضي) أو علامة جدولة |
| حجم المسافة البادئة | عدد المسافات لكل مستوى مسافة بادئة (عند استخدام المسافات) | 1–8، افتراضي: 2 |
| طول السطر | العمود المستهدف لطي/كسر الاختيارات الطويلة | 0–120 (0 ≈ يعني عمليًا عدم وجود طي) |
الحدود والأداء
تم ضبط الأداة لمخططات GraphQL النموذجية وملفات العمليات. الطلبات حول بضع مئات من الكيلوبايت إلى ~2 ميغابايت آمنة بشكل عام؛ قد تواجه المستندات الكبيرة جدًا مهلات زمنية أو حدود حجم.
الخصوصية والأمان
يتم تنسيق مستندات GraphQL إما في متصفحك أو في خادم التنسيق الخلفي لـ encode64. لا يتم تنفيذها أو إرسالها إلى خدمات الطرف الثالث. للمخططات الحساسة، يمكنك تكرار نفس الإعدادات محليًا باستخدام Prettier.
مكافئ سطر الأوامر (Prettier)
إذا كان لديك Node.js وPrettier مثبتين مسبقًا، يمكنك إعادة هذا السلوك محليًا.
Node.js (جميع المنصات)
تنسيق ملف مخطط GraphQL في مكانه
npx prettier --write schema.graphqlيكتشف Prettier تلقائيًا GraphQL بناءً على امتداد الملف.
التنسيق مع مسافة بادئة مخصصة وطول سطر
npx prettier --write schema.graphql --tab-width 2 --use-tabs false --print-width 80يعكس خيارات المسافة البادئة والتفاف المعروضة في الأداة عبر الإنترنت.
التنسيق من stdin (مثل الأنابيب من أداة أخرى)
cat input.graphql | npx prettier --stdin-filepath input.graphqlمفيد في نصوص shell، خطوط أنابيب CI أو خطاطات Git.
حالات الاستخدام الشائعة لمُنسق GraphQL
تطوير مخطط API
- الحفاظ على ملفات المخططات الكبيرة مُنسقة بشكل متسق لسهولة التنقل
- تقليل الاختلافات المزعجة في المسافات البيضاء في طلبات سحب المخططات
- إعداد SDL نظيف لأدوات توليد الكود
# قبل
type User{ id:ID! name:String!}
# بعد
type User {
id: ID!
name: String!
}عمليات ومقتطفات الواجهة الأمامية
- توحيد الاستعلامات المشتركة عبر تطبيقات أو حزم متعددة
- جعل التحديدات المتداخلة أسهل للمسح أثناء التصحيح
- الحفاظ على مقاطع الوثائق والأمثلة في الملعب مُنسقة بشكل جيد
الاختبارات، البيانات الثابتة والأدوات
- توحيد بيانات GraphQL الثابتة المستخدمة في اختبارات اللقطات
- دمج التنسيق في خطاطات ما قبل الالتزام أو وظائف CI
- تغذية مستندات نظيفة في أدوات التحقق من الصحة أو مقارنة المخططات
❓ Frequently Asked Questions
ماذا يغير مُنسق GraphQL فعليًا؟
هل يدعم كلًا من العمليات ومخطط SDL؟
هل يتم الحفاظ على التعليقات وسلاسل الوصف؟
هل يتم تنفيذ كود GraphQL الخاص بي؟
أين يتم التنسيق: على العميل أم الخادم؟
هل هذا مجاني الاستخدام؟
Pro Tips
استخدم هذا المُنسق لتوحيد المخططات القديمة قبل إضافة التدقيق أو التغييرات الكاسحة؛ مما يجعل الاختلافات اللاحقة أسهل للمراجعة.
قم بمحاذاة إعدادات الأداة عبر الإنترنت (حجم المسافة البادئة وطول السطر) مع تكوين Prettier الخاص بمشروعك للحفاظ على تطابق التنسيق المحلي والويب.
استخرج سلاسل GraphQL المضمنة الطويلة من الكود إلى ملفات `.graphql` حتى يمكن تنسيقها بشكل موحد وإعادة استخدامها.
اقرن التنسيق بالتدقيق (مثل GraphQL ESLint) لاكتشاف مشاكل المخطط والاستعلام التي تتجاوز المسافات البيضاء والتفاف النص.
Additional Resources
Other Tools
- محسن CSS
- محسن HTML
- محسن Javascript
- محسن PHP
- منتقي الألوان
- مستخرج Sprite
- فك تشفير Base64
- تشفير Base64
- منسق Csharp
- منسق CSV
- Dockerfile Formatter
- منسق Elm
- منسق ENV
- منسق Go
- منسق Hcl
- منسق INI
- منسق JSON
- منسق Latex
- منسق Markdown
- منسق Objectivec
- Php Formatter
- منسق Proto
- منسق Python
- منسق Ruby
- منسق Rust
- منسق Scala
- منسق سكريبت Shell
- منسق SQL
- منسق SVG
- منسق Swift
- منسق TOML
- Typescript Formatter
- منسق XML
- منسق YAML
- منسق Yarn
- مختصر CSS
- Html Minifier
- Javascript Minifier
- مختصر JSON
- مصغر XML
- عارض رؤوس HTTP
- PDF إلى نص
- مختبر Regex
- مدقق ترتيب SERP
- بحث Whois