چرا envdiff
- مقایسهٔ منطقی. کلیدها و مقدارها مقایسه میشوند نه خطوط متن — ترتیب، توضیحات و خطوط خالی اثری ندارند.
- چهار قالب.
.env، JSON، TOML و ini؛ کلیدهای تودرتوی JSON/TOML به مسیرهایی مانندdb.hostتبدیل میشوند. - پنهانسازی رمز و راز. در صورت تمایل، مقدار کلیدهایی مانند password، token، secret و key بهصورت
[REDACTED]نمایش داده میشود. - فقط در مرورگر. بدون API: فایلها از دستگاه شما خارج نمیشوند. وضعیت از طریق بخش fragment نشانی به اشتراک گذاشته میشود.
چگونه پیکربندیها را مقایسه کنیم
- قالب را انتخاب کنید — برای هر دو طرف یکسان است.
- در هر پنل متن را بچسبانید یا فایل بارگذاری کنید؛ هر دو الزامیاند.
- روی «مقایسه» بزنید تا کلیدهای فقط چپ، فقط راست و با مقدار تغییرکرده را ببینید.
- در صورت نیاز پنهانسازی را روشن کنید و با «اشتراکگذاری» پیوندی همراه با وضعیت کپی کنید.
کلیدها، قالبها و رمز و رازها
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 بدون شلوغی diff متنی؛
- اشتراکگذاری مقایسه با پیوند (بدون رمز و راز واقعی).
پرسشهای متداول
آیا میشود قالبهای متفاوت را مقایسه کرد؟
خیر. یک قالب برای هر دو طرف انتخاب میشود و ترکیب قالبها پشتیبانی نمیشود.
آیا توضیحات و ترتیب مهماند؟
خیر. فقط کلیدها و مقدارها مقایسه میشوند.
آیا دادههای من بارگذاری میشود؟
خیر. تجزیه و مقایسه در مرورگر انجام میشود و API وجود ندارد.
پنهانسازی چه میکند؟
مقدار کلیدهایی مانند password، secret، token و key بهصورت [REDACTED] نمایش داده میشود؛ خود مقایسه با مقدارهای واقعی انجام میشود.
کلیدهای تودرتو چگونه نمایش داده میشوند؟
با نقطه برای اشیاء و جدولها و با اندیس برای آرایهها، مثلاً db.host یا servers[0].