انتقل إلى المحتوى

npm

لنشر package بـ npm على ليڤانت غيت (LevantGit)، وجّه الـ registry إلى عنوان حسابك، وصادِق بـ access token بصلاحية package، ثم نفّذ npm publish. الحزمة بعدها تُثبَّت بـ npm install كأي حزمة أخرى. تشرح هذه الصفحة الضبط والنشر والتثبيت والحذف، لحسابك الشخصي أو للـ organization التي تديرها.

ملاحظة

الـ package registry متاح إن كان مفعّلاً على levantgit.com؛ تظهر تبويبة Packages في ملفك الشخصي أو في الـ repository عندها.

ما تحتاج إليه

  • Node.js مع مدير packages: npm نفسه، أو Yarn، أو pnpm.
  • access token من إعدادات الحساب: SettingsApplications، بصلاحية package (قراءة وكتابة للنشر، قراءة فقط للتثبيت).

الـ registry يدعم الـ packages ذات الـ scope مثل @test/test_package والـ packages بلا scope. الأمثلة أدناه تستخدم أداة npm والـ scope المسمّى @test.

ضبط الـ registry

أضف الـ registry كمصدر packages جديد:

npm config set {scope}:registry=https://levantgit.com/api/packages/{owner}/npm/
npm config set -- '//levantgit.com/api/packages/{owner}/npm/:_authToken' "{token}"
المعامل الوصف
scope الـ scope الذي تنشر تحته.
owner الـ owner: اسم المستخدم أو الـ organization.
token الـ access token الذي أنشأته، بصلاحية package.

مثال:

npm config set @test:registry=https://levantgit.com/api/packages/testuser/npm/
npm config set -- '//levantgit.com/api/packages/testuser/npm/:_authToken' "personal_access_token"

أو بلا scope (عندها تمرّ كل packages الـ npm عبر registry ليڤانت غيت):

npm config set registry https://levantgit.com/api/packages/testuser/npm/
npm config set -- '//levantgit.com/api/packages/testuser/npm/:_authToken' "personal_access_token"

نصيحة

الضبط بالـ scope أسلم: تبقى الـ packages العامة تُسحب من npmjs.com، وتُسحب packages الـ @test وحدها من ليڤانت غيت.

نشر package

من داخل مجلد مشروعك (حيث ملف package.json) نفّذ:

npm publish

لا يمكن نشر package إن كانت أخرى بالاسم نفسه والإصدار نفسه موجودة؛ احذف القديمة أولًا، أو ارفع رقم الإصدار.

إلغاء نشر package

npm unpublish {package_name}[@{package_version}]
المعامل الوصف
package_name اسم الـ package.
package_version إصدار الـ package. إن أغفلته حُذفت الـ package بكل إصداراتها.

مثال:

npm unpublish @test/test_package
npm unpublish @test/[email protected]

تثبيت package

npm install {package_name}
المعامل الوصف
package_name اسم الـ package.

مثال:

npm install @test/test_package

dist-tag لإصدار

الـ registry يدعم الـ dist-tags مثل latest أو beta، وتُدار بالأمر npm dist-tag:

npm dist-tag add {package_name}@{version} {tag}
المعامل الوصف
package_name اسم الـ package.
version إصدار الـ package.
tag اسم الـ tag.

مثال:

npm dist-tag add [email protected] release

اسم الـ tag يجب ألّا يكون رقم إصدار صالحًا؛ كل اسم يمكن قراءته كإصدار (مثل 1.0 أو v2) يُرفض.

البحث

الـ registry يدعم البحث بـ npm search، لكنه لا يدعم مُحدِّدات البحث الخاصة مثل author:LevantGit.

الأوامر المدعومة

npm install
npm ci
npm publish
npm unpublish
npm dist-tag
npm view
npm search

ماذا بعد؟


هذه الصفحة مبنية على وثائق Gitea (رخصة MIT) بعد ترجمتها وتبسيطها.