مولد package.json
بدلاً من تشغيل برنامج npm init والإجابة عن أحد عشر سؤالاً، يكفيكم ملء نموذج للحصول على ملف package.json منظم وذو هيكل صحيح. يغطي هذا المولّد جميع الحقول الضرورية (الاسم، الإصدار)، بالإضافة إلى الحقول الشائعة الاستخدام (السكريبتات، المعتمادات، المعتمادات الخاصة بالتطوير، المحركات)، وكذلك التفاصيل المهمة مثل المستودع، الأخطاء، الكلمات المفتاحية، والرخصة، وهي العناصر التي تجعل الحزمة قابلة لاكتشافها ونشرها بسهولة.
كيفية إنشاء ملف package.json الخاص بك
-
1
أدخل الاسم والإصدار
يتم تسمية الملف وفقًا لقواعد npm: باستخدام أحرف صغيرة، وضمان توافقه مع عناوين URL، وبطول أقل من 214 حرفًا. أما الإصدار فيكون على شكل semver (مثلاً: 0.1.0).
-
2
اختر نوع الوحدة
CommonJS (القيمة الافتراضية) أو ESM عبر نوع: "module". ينطبق على مشاريع Node.js الإصدار 14 فما فوق.
-
3
أضف النصوص إلى السكريبتات
البدء، البناء، الاختبار، ومعالجة الأخطاء، تُنفَّذ هذه الأوامر باستخدام `npm run <name>`.
-
4
إدراج قائمة المعتمدات
حزم التشغيل ضمن المتطلبات، والأدوات ضمن متطلبات التطوير.
-
5
إدخال بيانات الميتا
الوصف، المؤلف، الترخيص، عنوان موقع المستودع، الكلمات المفتاحية.
-
6
قم بنسخ الناتج.
قم بلصق المحتوى في ملف package.json الجديد الموجود في الجذر المشروعي.
الحقول التي تهم أكثر من غيرها
| الحقل | إلزامي؟ | ملاحظات |
|---|---|---|
name |
نعم | أحرف صغيرة، من 1 إلى 214 حرفًا، ملائم للعناوين الإلكترونية (URL) |
version |
نعم | Semver (الإصدار الرئيسي/الفرعي/التحديث) |
type |
لا | “module” لـ ESM؛ يُغفل عند استخدام CommonJS |
main |
موصى به | نقطة دخول لـ CommonJS (index.js) |
exports |
موصى به | خريطة تصدير حديثة للنظام المزدوج CJS/ESM |
scripts |
يُوصى به بشدة | أوامر npm run <name> |
dependencies |
حسب الحاجة | حزم تشغيل البرنامج |
devDependencies |
حسب الحاجة | أدوات بناء البرمجيات، أدوات اختبار، أدوات فحص الأكواد |
engines |
مفيد جدًا | نطاق إصدارات العقدة المطلوبة |
license |
نعم للنشر | معرّف SPDX مثل MIT، Apache-2.0 |
قائمة معلومات سريعة حول برنامج Semver
1.0.0، major.minor.patch^1.0.0– متوافق مع الإصدار 1.x.x (≥ 1.0.0، < 2.0.0)~1.0.0– تحديثات للبلاكات فقط (≥ 1.0.0، < 1.1.0)>=1.0.0 <2.0.0، النطاق الواضح1.0.0-beta.1، prereleaselatest، علامة npm، وليس إصدارًا
القيمة الافتراضية عند تشغيل npm install package هي ^، مما يسمح بتحديثات دون انقطاع في التدفق.
النماذج النصية القياسية التي يجب امتلاكها
{
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"build": "tsc",
"test": "vitest",
"lint": "eslint .",
"format": "prettier --write ."
}
}
المفاهيم الخاطئة في عملية التسمية
- لا أحرف كبيرة. يفشل
MyPackageفي تنفيذnpm install. - لا تستخدم فواصل؛ استخدم علامات الاقتران:
my-package. - تبدأ أسماء النطاقات (Scoped names) بـ
@org/بالنسبة لمنظمات GitHub أو npm: مثل@acme/utils. - الكلمات المحجوزة: لا يمكن استخدام
node_modulesوfavicon.icoوcoreوexpressكأسماء للحزم.
خيارات الترخيص
اختر معرّف SPDX معتمدًا:
- MIT، الخيار الشائع والأكثر تسامحًا.
- Apache-2.0، نظام مفتوح يشترط منح براءة اختراع.
- ISC، ترخيص قصير جدًا يشبه ترخيص MIT، وهو الترخيص الافتراضي في npm.
- GPL-3.0 أو إصدارات لاحقة – حقوق مفتوحة (copyleft).
- UNLICENSED، حزمة خاصة، غير مخصصة للتوزيع.
تؤدي سلاسل الترخيص الخاطئة أو الغامضة إلى ظهور تحذيرات عند نشر الملف على npm.
الأسئلة الشائعة
تُثبَّت المعتمدات عندما يُجرِي أحد المستخدمين برنامج npm install ضمن مشروع يستخدم مكوناتك. أما المعتمدات التطويرية (devDependencies) فتُثبَّت فقط في بيئة التطوير الخاصة بالحزمة. قم بإدراج حزم التشغيل ضمن المعتمدات، وأدوات الاختبار والبناء ضمن المعتمدات التطويرية.
نعم، وذلك بالنسبة للتطبيقات؛ حيث يحدد ملف القفل الإصدارات الدقيقة ويضمن إجراء التثبيتات بشكل متجانس على جميع الأجهزة وفي بيئات التحقق المضبوطة (CI). أما بالنسبة لحزم المكتبات المنشورة على npm، فإن استخدام ملف القفل اختياري، ويحصل المستخدمون على ملف قفل خاص بهم.
فقط إذا كنت ترغب في أن يكون الحزمة باستخدام صيغة ESM (للتخصيصات المتعلقة بالاستيراد/التصدير) بشكل افتراضي؛ وإلا فإن ملفات .js تُعامل كملفات CommonJS. كما يمكنك استخدام الملفات بامتداد .mjs للملفات من نوع ESM أو بامتداد .cjs للملفات من نوع CommonJS، بغض النظر عن نوعها.
إصدارات العقد التي تم اختبار الكود بناءً عليها؛ ومن بين الخيارات الشائعة حاليًا إصدار "engines": {"node": ">=18"}. هذا إشعار تحذيري وليس خطأًا، لكن الأدوات تلتزم به والمستخدمون يُثبّتونه بشكل صحيح.
أدوات ذات صلة
مرجع جدول ASCII
جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.
مرجع أحرف HTML
قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.
مرجع اختصارات لوحة المفاتيح
ابحث في الاختصارات الافتراضية الموثقة لـ VS Code وChrome وBash مع GNU Readline على macOS وWindows وLinux.
مدقق البريد الإلكتروني
تحقق من عنوان بريد إلكتروني: فحص صياغة RFC 5322، واستعلام حي عن سجل MX، بالإضافة إلى تفاصيل الجزء المحلي والنطاق والطول. لا يتم إرسال أي بريد.
عدّاد FPS
قِس معدل الإطارات FPS في المتصفح عبر requestAnimationFrame: تنعيم، وأدنى وأقصى معدل إطارات، وحد تنبيه، ورسم بياني اختياري. يعمل محليًا بلا رفع ملفات وبلا API.
مولد EditorConfig
أنشئ ملف .editorconfig بقواعد نمط المسافة البادئة وحجمها ونهاية السطر ومجموعة الأحرف والمسافات البيضاء، لتنسيق موحّد عبر بيئات التطوير المتكاملة (IDEs) والمحررات.
الأداة متاحة بلغات أخرى
- Generator package.json [ID]
- Gerador de Package.json [PT]
- package.json-Generator [DE]
- PackageJsonジェネレータ [JA]
- Package.json 생성기 [KO]
- ตัวสร้าง package.json [TH]
- Generator package.json [PL]
- Package.json-generator [SV]
- Trình tạo package.json [VI]
- Generador de Package.json [ES]
- Générateur de package.json [FR]
- Package.json-generator [NL]
- Package.json Generator [EN]
- Generatore di Package.json [IT]
- Генератор package.json [RU]
- Package.json Oluşturucu [TR]
- package.json 生成器 [ZH]