dmosk / envdiff

So sánh .env, JSON, TOML và ini theo khóa

Chọn định dạng, dán hoặc tải lên hai cấu hình và xem khóa chỉ có bên trái, chỉ có bên phải hoặc khác giá trị. Mọi thứ chạy trong trình duyệt.

Một định dạng áp dụng cho cả hai bên. Liên kết Chia sẻ đặt cả hai văn bản vào phần # của URL — không gửi tới máy chủ, nhưng đừng chia sẻ nếu có bí mật thật.

Trái

Phải

Vì sao dùng envdiff

  • So sánh logic. So sánh khóa và giá trị chứ không phải dòng văn bản — thứ tự, chú thích và dòng trống không ảnh hưởng.
  • Bốn định dạng. .env, JSON, TOML và ini; khóa lồng nhau của JSON/TOML thành đường dẫn như db.host.
  • Che giá trị bí mật. Tùy chọn hiển thị giá trị của khóa như password, token, secret, key thành [REDACTED].
  • Chỉ trong trình duyệt. Không có API: tệp không rời khỏi thiết bị. Trạng thái chia sẻ qua phần fragment của URL.

Cách so sánh cấu hình

  1. Chọn định dạng — áp dụng cho cả hai bên.
  2. Dán văn bản hoặc tải tệp vào mỗi ô; cả hai đều bắt buộc.
  3. Nhấn So sánh để xem khóa chỉ bên trái, chỉ bên phải và khóa đổi giá trị.
  4. Bật che nếu cần và nhấn Chia sẻ để sao chép liên kết kèm trạng thái.

Khóa, định dạng và bí mật

envdiff so sánh khóa chứ không phải dòng. Định dạng không bao giờ bị trộn: JSON và TOML lồng nhau được trải phẳng thành đường dẫn có dấu chấm, mục ini thành section.key, còn .env được đọc là KEY=VALUE.

Gợi ý:

  • Chú thích, dòng trống và thứ tự khóa bị bỏ qua.
  • Mảng được trải phẳng kèm chỉ số, ví dụ servers[0].host.
  • Giá trị được so sánh như văn bản: số 5432 trong JSON bằng 5432 trong .env.
  • Che chỉ đổi cách hiển thị: khóa như password, token, secret, key hiện [REDACTED].
  • Với YAML dùng yamaster; để tìm bí mật bị lộ dùng secret-scanner.

Dùng để làm gì

  • so sánh .env giữa dev, staging và production;
  • kiểm tra cấu hình trước và sau khi triển khai;
  • tìm khóa thiếu ở một môi trường;
  • xem thay đổi JSON, TOML hoặc ini mà không bị nhiễu bởi diff văn bản;
  • chia sẻ kết quả so sánh qua URL (không chứa bí mật thật).

Câu hỏi thường gặp

Có so sánh được các định dạng khác nhau không?

Không. Chỉ chọn một định dạng cho cả hai bên; không hỗ trợ trộn định dạng.

Chú thích và thứ tự có quan trọng không?

Không. Chỉ khóa và giá trị được so sánh.

Dữ liệu của tôi có được tải lên không?

Không. Phân tích và so sánh chạy trong trình duyệt; không có API.

Che giá trị làm gì?

Giá trị của khóa như password, secret, token, key hiện thành [REDACTED]; việc so sánh vẫn dùng giá trị thật.

Khóa lồng nhau hiển thị thế nào?

Dùng dấu chấm cho đối tượng và bảng, dùng chỉ số cho mảng, ví dụ db.host hoặc servers[0].