avatar
·3 dk okuma
CLI Options: Komut Satırı Seçenekleri

CLI Options: Komut Satırı Seçenekleri

Node.js kullanarak CLI (Komut Satırı Arayüzü) araçları oluşturmak, geliştiriciler için oldukça faydalıdır. Bu yazıda, temel bir CLI aracı oluşturmayı öğrenmenin ötesine geçerek, CLI aracına nasıl mantık ekleyeceğimizi ve kullanıcıdan gelen argümanları nasıl işleyeceğimizi ayrıntılı olarak ele alacağız. Özellikle, herhangi bir API anahtarı gerektirmeyen JSONPlaceholder API kullanarak belirli bir kullanıcının bilgilerini sağlayacak basit bir kullanıcı bilgi CLI aracını nasıl oluşturacağımızı inceleyeceğiz.

Önceki videomuzda, Node.js ve npm kullanarak basit bir CLI aracı oluşturmayı öğrendik. Bu araç, kullanıcı komutlarını alıp basit işlemler yapabiliyordu. Şimdi ise bu temelin üzerine eklemeler yaparak aracı daha işlevsel hale getireceğiz.

JSONPlaceholder API Kullanımı

JSONPlaceholder API Nedir? JSONPlaceholder, sahte verilerle çalışan bir REST API'dir. Bu API, test ve prototip projeleri için idealdir ve kullanıcılar, gönderiler, yorumlar, albümler ve fotoğraflar gibi çeşitli veri türlerine erişim sağlar. API'ye bir istek göndererek, belirli bir kullanıcıya ait bilgileri içeren bir JSON yanıtı alabiliriz.

API'nin Kullanımı API'yi kullanmak için herhangi bir API anahtarı gerekmiyor. Örneğin, 1 ID'li kullanıcının bilgilerini almak için şu URL kullanılabilir: https://jsonplaceholder.typicode.com/users/1. Bu URL, ilgili kullanıcı hakkında detaylı bilgileri içeren bir JSON döndürür.

VS Code ile Mantığın Eklenmesi

Fonksiyon Tanımlaması İlk olarak, belirli bir kullanıcı ID'si alıp, ilgili kullanıcının bilgilerini konsola loglayan bir fonksiyon tanımlamamız gerekiyor. Bu fonksiyon, asenkron (async) olacak çünkü API çağrısı yapacak.

const fetch = require('node-fetch');

const printUserInfo = async (userId) => {
    const response = await fetch(`https://jsonplaceholder.typicode.com/users/${userId}`);
    const userData = await response.json();
    const userInfo = {
        name: userData.name,
        username: userData.username,
        email: userData.email,
        phone: userData.phone,
        website: userData.website
    };
    console.log(userInfo);
};

printUserInfo(1);

Fonksiyonun Çalışması

  1. printUserInfo fonksiyonu, bir kullanıcı ID'si alır.

  2. fetch kullanarak API'ye bu ID'yi gönderir ve yanıtı bekler.

  3. Yanıtı JSON formatına dönüştürür.

  4. JSON'dan isim, kullanıcı adı, e-posta, telefon ve web sitesi gibi bilgileri çıkarır.

  5. Bu bilgileri konsola loglar.

Bu adımları takip ederek, 1 ID'li kullanıcının bilgilerini başarıyla konsolda görebiliriz.

Kullanıcıdan Gelen Argümanlarla Çalışma

CLI Argümanları Geçme Şu anki kodda, kullanıcı ID'si sabit kodlanmış durumda. Bunu kullanıcıdan komut satırında alacak şekilde güncellemeliyiz. Node.js'de CLI aracına argüman geçmenin yolu, process.argv dizisini kullanmaktır. Bu dizi, yorumlayıcıya giden yolu, CLI komutunu ve geçilen seçenekleri içerir.

console.log(process.argv);

Bu kod, process.argv dizisini konsola loglar. Örneğin, node index.js --id=1 komutunu çalıştırdığınızda, bu dizi şu şekilde olur:

  • 0: node yolu

  • 1: index.js yolu

  • 2: --id=1

Yargs Paketi ile Argümanların İşlenmesi

Yargs Paketinin Kurulumu ve Kullanımı yargs, CLI araçları için argüman işleme işini kolaylaştıran bir pakettir. Argümanları anahtar-değer çiftlerine dönüştürür ve bu sayede kod içinde kolayca erişilebilir hale getirir. İlk olarak, yargs paketini yükleyelim:

npm install yargs

Ardından, index.js dosyasına yargs paketini dahil edip, kullanarak kullanıcı ID'sini komut satırından alabiliriz.

const yargs = require('yargs');
const argv = yargs.argv;

const printUserInfo = async (userId) => {
    const response = await fetch(`https://jsonplaceholder.typicode.com/users/${userId}`);
    const userData = await response.json();
    const userInfo = {
        name: userData.name,
        username: userData.username,
        email: userData.email,
        phone: userData.phone,
        website: userData.website
    };
    console.log(userInfo);
};

printUserInfo(argv.id);

CLI Komutunun Güncellenmesi ve Çalıştırılması Artık CLI komutunu şu şekilde çalıştırabiliriz: node index.js --id=1. Bu komut, belirli bir kullanıcı ID'sine ait bilgileri alır ve ilgili bilgileri konsola loglar.

Farklı bir kullanıcı ID'si (örneğin 2) geçirildiğinde, bu kullanıcının bilgilerini görüntüleriz. Örneğin, node index.js --id=2 komutu farklı bir kullanıcı verisi döndürecektir.

Sonraki Adımlar

Bu makalede, belirli bir kullanıcının bilgilerini sağlayacak şekilde Node.js kullanarak CLI aracımıza nasıl mantık ekleyeceğimizi ve yargs paketi ile kullanıcıdan gelen argümanları nasıl işleyeceğimizi öğrendik. CLI aracımız, kullanıcıdan aldığı ID'ye göre doğru verileri görüntüleyebiliyor. Bir sonraki videoda ve makalede, CLI aracımıza daha fazla etkileşim eklemeyi planlıyoruz.

Sonuç

Node.js ile CLI araçları oluşturmak, bu araçları işlevsel hale getirmek ve kullanıcıdan gelen argümanları işlemek oldukça faydalıdır. Bu yazıda, JSONPlaceholder API kullanarak bir kullanıcı bilgi CLI aracı oluşturduk ve bu aracın nasıl geliştirileceğini ayrıntılı olarak inceledik. CLI araçları, geliştiricilere büyük kolaylık sağlar ve bu tür araçların nasıl oluşturulacağını bilmek önemli bir beceridir.