dmosk / envdiff

.env, JSON, TOML और ini की कुंजियों से तुलना

फ़ॉर्मैट चुनें, दो कॉन्फ़िग चिपकाएँ या अपलोड करें और देखें कि कौन-सी कुंजियाँ केवल बाएँ, केवल दाएँ हैं या जिनके मान अलग हैं। सब कुछ ब्राउज़र में चलता है।

दोनों तरफ़ एक ही फ़ॉर्मैट लागू होता है। “साझा करें” लिंक दोनों टेक्स्ट को URL के # हिस्से में रखता है — यह सर्वर को नहीं भेजा जाता, पर असली गुप्त जानकारी हो तो लिंक साझा न करें।

बायाँ

दायाँ

envdiff क्यों

  • तार्किक तुलना। पंक्तियों की नहीं, कुंजियों और मानों की तुलना होती है — क्रम, टिप्पणियाँ और खाली पंक्तियाँ मायने नहीं रखतीं।
  • चार फ़ॉर्मैट। .env, JSON, TOML और ini; JSON/TOML की नेस्टेड कुंजियाँ db.host जैसे पथ बन जाती हैं।
  • गुप्त मान छिपाना। वैकल्पिक रूप से password, token, secret, key जैसी कुंजियों के मान [REDACTED] दिखते हैं।
  • केवल ब्राउज़र। कोई API नहीं: फ़ाइलें आपके डिवाइस से बाहर नहीं जातीं। स्थिति URL के फ़्रैगमेंट से साझा होती है।

कॉन्फ़िग की तुलना कैसे करें

  1. फ़ॉर्मैट चुनें — यह दोनों तरफ़ लागू होता है।
  2. हर पैनल में टेक्स्ट चिपकाएँ या फ़ाइल अपलोड करें; दोनों ज़रूरी हैं।
  3. “तुलना करें” दबाएँ और केवल बाएँ, केवल दाएँ तथा बदले मान वाली कुंजियाँ देखें।
  4. ज़रूरत हो तो मास्किंग चालू करें और स्थिति वाला लिंक कॉपी करने के लिए “साझा करें” दबाएँ।

कुंजियाँ, फ़ॉर्मैट और गुप्त मान

envdiff पंक्तियों की नहीं, कुंजियों की तुलना करता है। फ़ॉर्मैट मिलाए नहीं जाते: नेस्टेड JSON और TOML बिंदु वाले पथ में बदलते हैं, ini के सेक्शन section.key बनते हैं और .env KEY=VALUE की तरह पढ़ा जाता है।

सुझाव:

  • टिप्पणियाँ, खाली पंक्तियाँ और कुंजियों का क्रम अनदेखा किया जाता है।
  • ऐरे इंडेक्स के साथ खुलते हैं, जैसे servers[0].host।
  • मान टेक्स्ट की तरह तुलना होते हैं: JSON की संख्या 5432 और .env का 5432 बराबर हैं।
  • मास्किंग केवल प्रदर्शन बदलती है: password, token, secret, key जैसी कुंजियाँ [REDACTED] दिखाती हैं।
  • YAML के लिए yamaster, लीक हुए गुप्त मान खोजने के लिए secret-scanner देखें।

यह किस काम आता है

  • dev, staging और production के बीच .env की तुलना;
  • डिप्लॉय से पहले और बाद कॉन्फ़िग की जाँच;
  • किसी एक वातावरण में गायब कुंजियाँ खोजना;
  • शोरभरे टेक्स्ट diff के बिना JSON, TOML या ini के बदलाव देखना;
  • लिंक से तुलना साझा करना (असली गुप्त जानकारी के बिना)।

अक्सर पूछे जाने वाले प्रश्न

क्या अलग-अलग फ़ॉर्मैट की तुलना हो सकती है?

नहीं। दोनों तरफ़ के लिए एक ही फ़ॉर्मैट चुना जाता है; फ़ॉर्मैट मिलाना समर्थित नहीं है।

क्या टिप्पणियाँ और क्रम मायने रखते हैं?

नहीं। केवल कुंजियों और मानों की तुलना होती है।

क्या मेरा डेटा अपलोड होता है?

नहीं। पार्सिंग और तुलना ब्राउज़र में होती है; कोई API नहीं है।

मास्किंग क्या करती है?

password, secret, token, key जैसी कुंजियों के मान [REDACTED] दिखते हैं; तुलना असली मानों से होती है।

नेस्टेड कुंजियाँ कैसे दिखती हैं?

ऑब्जेक्ट और टेबल के लिए बिंदु और ऐरे के लिए इंडेक्स, जैसे db.host या servers[0]।