مولد 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"}. هذا إشعار تحذيري وليس خطأًا، لكن الأدوات تلتزم به والمستخدمون يُثبّتونه بشكل صحيح.
أدوات ذات صلة
مولّد إعدادات Webpack
أنشئ ملف webpack.config.js لـ webpack 5 لمشاريع JavaScript الخالصة أو React أو Vue: مع TypeScript وBabel وCSS أو Sass والصور وHtmlWebpackPlugin وخادم التطوير وسطر npm install.
محوّل ترميز ملفات النصوص
حوّل النص بين UTF-8 وUTF-16 وLatin-1 وWindows-1252 وترميزات أخرى لإصلاح الأحرف المشوّهة.
مرجع جدول ASCII
جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.
مولّد ملف .gitignore
اجمع قواعد استبعاد المشروع لـ Laravel وNode.js وPython وRails. انسخ الناتج أو نزّل ملف ZIP يحتوي على .gitignore، مع إبقاء القواعد الشخصية منفصلة.
مُحقق تنسيق XSD
قم بالتحقق من وثيقة XML وفقًا لمخطط XSD، وعرض أي اختلافات بين العناصر وأنواعها مع تحديد أرقام السطور بدقة.
مرجع أحرف HTML
قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.
الأداة متاحة بلغات أخرى
- Generator package.json [PL]
- Generator package.json [ID]
- Generador de Package.json [ES]
- Générateur de package.json [FR]
- Trình tạo package.json [VI]
- PackageJsonジェネレータ [JA]
- Package.json-generator [SV]
- Package.json-generator [NL]
- ตัวสร้าง package.json [TH]
- package.json-Generator [DE]
- Package.json 생성기 [KO]
- Gerador de Package.json [PT]
- Package.json Generator [EN]
- Generatore di Package.json [IT]
- Генератор package.json [RU]
- Package.json Oluşturucu [TR]
- package.json 生成器 [ZH]