لماذا envdiff
- مقارنة منطقية. تُقارن المفاتيح والقيم لا أسطر النص — الترتيب والتعليقات والأسطر الفارغة لا تؤثر.
- أربع صيغ.
.envوJSON وTOML وini؛ وتتحول المفاتيح المتداخلة في JSON/TOML إلى مسارات مثلdb.host. - إخفاء الأسرار. اختياريًا تظهر قيم مفاتيح مثل password وtoken وsecret وkey على شكل
[REDACTED]. - في المتصفح فقط. بلا API: لا تغادر الملفات جهازك. تُشارَك الحالة عبر جزء URL.
كيف تقارن الإعدادات
- اختر الصيغة — وهي نفسها للطرفين.
- الصق نصًا أو ارفع ملفًا في كل لوحة؛ كلتاهما مطلوبة.
- اضغط «قارن» لترى المفاتيح في اليسار فقط وفي اليمين فقط وذات القيم المتغيرة.
- فعّل الإخفاء عند الحاجة، واضغط «مشاركة» لنسخ رابط يحمل الحالة.
المفاتيح والصيغ والأسرار
يقارن envdiff المفاتيح لا الأسطر. لا تُخلط الصيغ: يُسطَّح JSON وTOML المتداخلان إلى مسارات بنقاط، وتصبح أقسام ini على شكل section.key، ويُقرأ .env بصيغة KEY=VALUE.
نصائح:
- تُتجاهل التعليقات والأسطر الفارغة وترتيب المفاتيح.
- تُسطَّح المصفوفات بفهارس، مثل
servers[0].host. - تُقارن القيم كنص: الرقم
5432في JSON يساوي5432في .env. - الإخفاء يغيّر العرض فقط: مفاتيح مثل password وtoken وsecret وkey تظهر [REDACTED].
- لـ YAML استخدم
yamaster، وللبحث عن أسرار مسرّبة استخدمsecret-scanner.
فيمَ يفيد
- مقارنة .env بين dev وstaging وproduction؛
- فحص الإعدادات قبل النشر وبعده؛
- إيجاد المفاتيح الناقصة في إحدى البيئات؛
- مراجعة تغييرات JSON أو TOML أو ini دون ضجيج فرق النصوص؛
- مشاركة المقارنة برابط (دون أسرار حقيقية).
الأسئلة الشائعة
هل يمكن مقارنة صيغ مختلفة؟
لا. تُختار صيغة واحدة للطرفين ولا يُدعم خلط الصيغ.
هل تهم التعليقات والترتيب؟
لا. تُقارن المفاتيح والقيم فقط.
هل تُرفع بياناتي؟
لا. التحليل والمقارنة يتمان في المتصفح ولا يوجد API.
ماذا يفعل الإخفاء؟
تظهر قيم مفاتيح مثل password وsecret وtoken وkey على شكل [REDACTED]؛ أما المقارنة فتستخدم القيم الحقيقية.
كيف تُعرض المفاتيح المتداخلة؟
بنقاط للكائنات والجداول وبفهارس للمصفوفات، مثل db.host أو servers[0].