🥬NPM

CLI Uygulaması Yapma

CLI Args (Komut Argümanları)

Komut argümanları node index.js arg1 arg2 ... ile verilir.

  • process.argv ile erişilir

  • process.argv[0] Node'un yolu

  • process.argv[1] Script'in yolu

  • Geri kalanları kullanıcının yazıdığı parametrelerdir

  • process.argv.slice(2) ile kullanıcı parametrelerine erişilir

Yargs ile Args Yönetme

Nodejs sitesindenki açıklamaya buradan erişebilirsin.

Minimist ile Args Yönetme

  • İlk olarak projeye dahil edilmeli npm install -save minimist

minimist(process.argv.slice(2))

Ek bağlantılar:

Bin Klasörü

Özel komutların tanımlanmasını sağlar.

  • <komut1> Örnek komut ismidir

    • Örn: yemreak

Dizin yapısı:

+ bin  - <komut1>  - <komut2>- index.js- README.md

Dosya içeriği:

#!/usr/bin/env node require('../')() 

Package json'a eklenecek ayar:

Bu ayar ile bin dosyamız indirilip gerekli yere konumlandırılacaktır.

"bin": {    "<komut1>": "bin/<komut1>",    "<komut2>": "bin/<komut2>"},

Paket Yapımı Örnekleri

Paketleri Online Test Etme

  • Paketleri indirmeden önce buradan test edebilirsin.

Paket Oluşturma ve Yayınlama

  • İlk olarak npm hesabını buradan oluşturun

  • npm adduser ile kullanıcı oluşturun

    • npm login komutunu da kullana bilirsiniz

    • Oluşturulan token bilgisine buradan bakabilirsiniz

  • npm version v1.0.0 ile paketin sürümünü tanımlayın

  • npm publish ile npm sitesine yükleyebilirsiniz

Paket için Package.json Ayarları

Node sürümü ayarı:

"engines": {    "node": ">=8"}

Global yükleme önerisi:

Tam Örnek:

{  "name": "ytools",  "version": "1.0.0",  "description": "Faydalı olacak araçların, toparlanmış hali",  "main": "index.js",  "scripts": {    "test": "echo \"Error: no test specified\" && exit 1"  },  "engines": {    "node": ">=8"  },  "preferGlobal": true,  "bin": {    "ytools": "bin/ytools"  },  "keywords": [    "yemreak",    "tools",  ],  "repository": {    "type": "git",    "url": "git+https://github.com/yedhrab/YTools.git"  },  "keywords": [    "tools"  ],  "author": "yedhrab",  "license": "MIT",  "bugs": {    "url": "https://github.com/yedhrab/YTools/issues"  },  "homepage": "https://github.com/yedhrab/YTools#readme",  "dependencies": {    "yargs": "^13.2.4"  }}

Video örneğine buradan erişebilirsin.

Last updated

© 2024 ~ Yunus Emre Ak ~ yEmreAk