العودة إلى التحديثات
New releaseSep 2, 2026

dotenv-diff [email protected]

تحقق من استخدام متغيرات البيئة في قاعدة الكود البرمجي

مشاركة

dotenv-diff

افحص قاعدة الأكواد البرمجية لديك لاكتشاف كل مرجع لمتغير بيئي. يساعدك على اكتشاف المتغيرات المفقودة وغير المستخدمة والمكررة وسيئة الاستخدام مبكرًا، قبل أن تسبب أخطاء وقت التشغيل.

دعم من الدرجة الأولى لـ SvelteKit وNext.js وNuxt. يعمل أيضًا بشكل جيد في مشاريع JavaScript/TypeScript الحديثة والأطر مثل Node.js وVue — أو أي إعداد آخر تريد فيه مقارنة موثوقة لملفات .env.

Coverage Status OpenSSF Scorecard OpenSSF Best Practices npm version npm downloads

✨ مُدرج في awesome-cli-apps - قائمة منسقة لتطبيقات CLI الرائعة


Demo


لماذا dotenv-diff؟

  • ضمان تعريف جميع المتغيرات البيئية المطلوبة
  • اكتشاف المتغيرات المفقودة أو المضبوطة بشكل خاطئ
  • تحسين التعاون من خلال إبقاء الفرق متوافقة على المتغيرات المطلوبة
  • تقليل مخاطر ارتكاب بيانات حساسة
  • التوسع بسهولة للمستودعات المتعددة والإعدادات متعددة البيئات

كيف يعمل

→ راجع توثيق القدرات للحصول على تفاصيل حول ما يفحصه الماسح الضوئي وكيف يعمل.


الإعداد (--init)

إنشاء ملف إعداد افتراضي:

dotenv-diff --init

→ راجع توثيق الإعداد لمزيد من التفاصيل.


خطافات Git وتكامل CI/CD

قم بدمج dotenv-diff بسهولة في خطافات Git أو خطوط أنابيب CI/CD الخاصة بك لفرض اتساق المتغيرات البيئية.

→ راجع توثيق خطافات Git لمزيد من التفاصيل.

تحذيرات خاصة بالأطر

في مشاريع SvelteKit وNext.js وNuxt، يكتشف dotenv-diff سوء استخدام المتغيرات البيئية الخاص بالأطر.

▸ Framework issues (SvelteKit)
──────────────────────────────────────────────────────────────────────
PUBLIC_API_URL              $env/dynamic/private
                            variables must not start
                            with "PUBLIC_"
                            src/routes/+page.server.ts:3
──────────────────────────────────────────────────────────────────────

→ راجع توثيق الأطر لمزيد من التفاصيل.


كتابة .env.example جيد

ملف .env.example مكتوب بحيث يسهل فهمه للمساهمين الجدد في الفريق:

# Node environment (development, production, etc.)
# @optional
NODE_ENV=development

# Public API URL is used to call our backend
PUBLIC_API_URL=http://localhost:3000

# Temporary token for the partner API sandbox — ask the integrations team for a new one
# @expire 2027-03-31
PARTNER_API_TOKEN=

→ اقرأ المزيد: كتابة .env.example جيد


تحذيرات الانجراف

يقارن الفحص الكود الخاص بك بملف واحد — لذا فإن أي مفتاح تضيفه إلى .env وتنسى إضافته إلى .env.example يظل غير مرئي حتى يستنسخ مساهم جديد المستودع. تحذيرات الانجراف تكتشف ذلك بالضبط:

▸ Drift between .env and .env.example
──────────────────────────────────────────────────────────────────────
STRIPE_SECRET               not documented in .env.example
──────────────────────────────────────────────────────────────────────

مفعّل افتراضيًا؛ يمكنك إلغاؤه باستخدام --no-drift-warnings.

→ راجع تحذيرات الانجراف لمزيد من التفاصيل.


تحذيرات انتهاء الصلاحية

أضف بيانات وصفية لانتهاء الصلاحية إلى متغيراتك البيئية للحصول على تحذيرات عندما تكون على وشك الانتهاء. على سبيل المثال، في ملف .env الخاص بك:

# @expire 2025-12-31
API_TOKEN=

→ راجع توثيق انتهاء الصلاحية لمزيد من التفاصيل.


تعليقات التجاهل

يمكنك تجاهل تحذيرات متغيرات بيئية محددة عن طريق إضافة تعليقات في الكود الخاص بك. على سبيل المثال:

const apiKey = process.env.API_KEY; // dotenv-diff-ignore

هذا مفيد عندما تعلم أن تحذيرًا معينًا آمن في الكود المصدري الخاص بك.

→ راجع توثيق تعليقات التجاهل لمزيد من التفاصيل.


قمع التحذيرات الموجودة (--baseline)

اعتمد dotenv-diff في المشاريع التي لديها بالفعل تحذيرات معروفة عن طريق تسجيل الحالة الحالية في ملف أساسي. ستقوم التشغيلات المستقبلية بالإبلاغ فقط عن المشكلات المقدمة حديثًا:

dotenv-diff --baseline

→ راجع توثيق الأساس لمزيد من التفاصيل.


شرح متغير (--explain)

افحص متغيرًا بيئيًا محددًا لمعرفة مكان تعريفه، وأين يُستخدم في قاعدة الأكواد، وحالته العامة:

dotenv-diff --explain DATABASE_URL

→ راجع توثيق --explain لمزيد من التفاصيل.


دعم المستودعات المتعددة

في المستودعات المتعددة التي تحتوي على تطبيقات وحزم متعددة، يمكنك تضمين مجلدات مشتركة:

{
  "scripts": {
    "dotenv-diff": "dotenv-diff --example .env.example --include-files '../../packages/**/*' --ignore VITE_MODE"
  }
}

→ راجع توثيق المستودعات المتعددة لمزيد من التفاصيل.

سيؤدي هذا إلى:

  • فحص التطبيق الحالي
  • تضمين الحزم المشتركة
  • تجاهل المتغيرات المستخدمة فقط في بيئات محددة

رموز الخروج

  • 0 → لا توجد أخطاء
  • 1 → تم العثور على أخطاء (أو تحذيرات في الوضع الصارم)

التوثيق

→ راجع توثيق dotenv-diff للتوثيق الكامل


المساهمة

الطلبات وسحب الطلبات مرحب بها.
→ راجع المساهمة للتفاصيل.

شكرًا لهؤلاء الأشخاص الرائعين على مساهمتهم في هذا المشروع:


الترخيص

مرخص بموجب ترخيص MIT.

تم إنشاؤه بواسطة chrilleweb

الفئات