@ubuligan/locknpm
v0.1.0
Published
List and install pre-packed .tgz npm archives offline, from a bundled vendor directory or any folder on your machine.
Maintainers
Readme
locknpm
Offline mühitlərdə əvvəlcədən yığılmış .tgz npm arxivlərini siyahılamaq və
layihənizə quraşdırmaq üçün CLI.
Problemi belədir: bəzi paketlər yalnız VPN arxasından əlçatandır, bəziləri isə
registry-dən ümumiyyətlə gəlmir. Onları əl ilə daşımaq əziyyətlidir. locknpm
bu işi bir qovluğa fayl atmaq qədər sadələşdirir.
$ locknpm ls
vendor-npm/ (1 paket)
/usr/local/lib/node_modules/@scope/locknpm/vendor-npm
PAKET VERSIYA ÖLÇÜ
escape-string-regexp 5.0.0 1.9 KB
$ locknpm install escape-string-regexp
→ Mənbə: /usr/local/lib/node_modules/@scope/locknpm/vendor-npm
→ Seçildi: [email protected]
→ İcra olunur: npm install "…/escape-string-regexp-5.0.0.tgz"
✓ [email protected] layihəyə əlavə olundu.
Mövcud asılılıqlara toxunulmadı.Quraşdırma
npm install -g @<scope>/locknpmKomandalar
locknpm ls [--dir <yol>] [--json] [--no-color]
locknpm install <name>[@<version>] [--dir <yol>] [--no-color]
locknpm --help | --version| Flag | İzah |
| ------------- | ------------------------------------------------------------------------------------------------------------------------- |
| --dir <yol> | Mənbə qovluğunu dəyişir. Verilmədikdə paketlə gələn vendor-npm/ işlədilir. Yalnız həmin çağırış üçün — yadda saxlanmır. |
| --json | Maşın-oxunaqlı çıxış (yalnız ls). stdout təmiz JSON qalır, diaqnostika stderr-ə gedir. |
| --no-color | ANSI rənglərini söndürür. NO_COLOR və FORCE_COLOR da nəzərə alınır. |
Öz paketlərinizi əlavə etmək
Arxiv yaradın və qovluğa atın — başqa addım yoxdur:
npm pack <paket-adı> --pack-destination ./mypkgs
locknpm ls --dir ./mypkgs
locknpm install <paket-adı> --dir ./mypkgsAlətlə birlikdə paylanan paketlər üçün eyni faylı vendor-npm/ qovluğuna qoyun.
Exit kodları
| Kod | Mənası |
| ----- | -------------------------------------------------------------------- |
| 0 | Uğur (boş vendor qovluğu da daxil — bu xəta deyil) |
| 1 | Paket/versiya/qovluq tapılmadı, cari qovluq layihə deyil, npm yoxdur |
| 2 | Səhv arqument və ya naməlum komanda |
| digər | npm-in öz exit kodu, olduğu kimi ötürülür |
Zəmanətlər
- Siyahılama şəbəkəyə çıxmır.
lstam offline işləyir. - Mövcud asılılıqlarınıza toxunulmur. Alət heç nə silmir, əvəz etmir,
node_modulesvə yapackage-lock.jsontəmizləmir.npm ci,npm prune,npm dedupe,npm uninstallheç vaxt çağırılmır — bunutests/constitution.test.tsavtomatik yoxlayır. - Sıfır runtime dependency. Yalnız Node built-in modulları və sistemdəki
npm. - Konfiqurasiya faylı yoxdur. Alət heç yerə vəziyyət yazmır.
Bilinməli davranış: file: asılılıqları
Quraşdırma npm install <tgz> üzərindən aparıldığı üçün npm həmin paketi
package.json-a arxivin yoluna işarə edən file: asılılığı kimi yazır:
"dependencies": {
"escape-string-regexp": "file:../../path/to/vendor-npm/escape-string-regexp-5.0.0.tgz"
}Bu, npm-in öz davranışıdır. Nəticəsi: həmin layihəni başqa maşında npm ci ilə
qurmaq üçün arxiv eyni yolda olmalıdır. Komanda daxilində paylaşılan layihələrdə
arxivi əvvəlcə repo içinə köçürüb --dir ilə oradan quraşdırmaq daha etibarlıdır.
Mühit dəyişənləri
| Dəyişən | Təsir |
| --------------------- | -------------------------------------------- |
| NO_COLOR | Rəng söndürülür (dəyərindən asılı olmayaraq) |
| FORCE_COLOR=0 | Rəng söndürülür |
| FORCE_COLOR=<digər> | Rəng yandırılır, TTY olmasa belə |
| TERM=dumb | Rəng söndürülür |
| LOCKNPM_DEBUG=1 | Xətalarda stack trace göstərilir |
İnkişaf
npm install
npm run lint
npm run build
npm testHər üçü commit-dən əvvəl yaşıl olmalıdır.
Layihənin qaydaları — prinsiplər, əhatə, qeyri-məqsədlər, təhlükəsizlik tələbləri —
.specify/memory/constitution.md faylındadır.
Kod bu sənədə tabedir.
Dərcdən əvvəl
npm pack --dry-runTarball-da yalnız dist/, vendor-npm/*.tgz, package.json, README.md və
LICENSE görünməlidir. vendor-npm/ içindəki hər şey dərc olunan bağlamaya
düşür — daxili paketlər üçün paket scoped və access: restricted olmalıdır.
Lisenziya
MIT
