5 Paket Node.js Teratas untuk Membuat tools CLI
Antarmuka baris perintah (CLI) adalah cara untuk berinteraksi dengan program komputer atau sistem operasi menggunakan perintah berbasis teks. Alat CLI adalah program utilitas yang dapat Anda jalankan dari baris perintah. Alat CLI biasanya mengambil perintah berbasis teks dari pengguna dan melakukan tugas tertentu berdasarkan perintah tersebut.
Alat CLI berkualitas tinggi harus mendukung berbagai fungsi. Mereka dapat mengurai argumen baris perintah dan menghasilkan bantuan penggunaan untuk memberikan umpan balik visual, di antara fitur lainnya.
Ada beberapa paket Node.js yang dapat membantu Anda membuat alat CLI dengan cepat, menawarkan berbagai fungsi dan fleksibilitas. Di sini, Anda akan menjelajahi beberapa paket Node.js teratas untuk membuat alat CLI dan menemukan fitur utamanya.
Commander adalah paket Node.js untuk membangun antarmuka baris perintah. Ini menyediakan API untuk menentukan perintah, opsi, dan argumen, membuatnya mudah untuk membuat alat CLI.
Komandan menangani parsing argumen menjadi opsi dan argumen baris perintah. Selain itu, ini menampilkan kesalahan untuk masalah dan opsi yang tidak dikenali dan secara otomatis menghasilkan bantuan penggunaan (dokumentasi CLI).
Untuk menginstal Commander sebagai dependensi, jalankan perintah ini:
npm install commander
Berikut adalah contoh cara menggunakan Commander di aplikasi Node.js:
const { Command } = require("commander");
const program = new Command();
program
.name(“Math-util”)
.description(“A CLI tool for performing simple math functions”)
.version(“1.0.0“);
program
.command(“add”)
.description(“Add two numbers”)
.argument(“<firstNumber>”, “first number”)
.argument(“<secondNumber>”, “second number”)
.action((a, b) => {
console.log(parseInt(a) + parseInt(b));
});
program.parse();
Contoh di atas adalah alat CLI untuk melakukan fungsi matematika sederhana. Blok kode di atas mengimplementasikan fungsi “add” untuk alat CLI menggunakan metode dari commander.js.
Anda dapat menggunakan alat CLI di atas dengan menjalankan perintah ini di terminal Anda:
node index add 2 2
Anda juga dapat melihat bantuan yang dibuat secara otomatis untuk alat CLI dengan menjalankan perintah ini:
node cli -h
Dengan paket Commander.js, Anda dapat membuat alat CLI berfitur lengkap dan fungsional dengan dokumentasi langsung menggunakan perintah sederhana.
Inquirer.js adalah paket Node.js untuk membangun antarmuka pengguna baris perintah yang interaktif. Ini menyediakan satu set komponen UI, seperti petunjuk, daftar, dan kotak centang, membuatnya mudah untuk membuat alat CLI yang dapat berinteraksi dengan pengguna.
Untuk menginstal Inquirer sebagai dependensi, jalankan perintah ini:
npm install inquirer
Berikut adalah contoh cara menggunakan Inquirer.js:
import inquirer from "inquirer";
inquirer
.prompt([
{
type: “input”,
name: “name”,
message: “What is your name?”,
},
])
.then((answers) => {
console.log(`Hello ${answers.name}`);
});
Contoh ini menggunakan Inquirer.js untuk mengambil input pengguna dari terminal dan mencatat pesan yang menyapa pengguna.
Inquirer.js tidak mendukung sistem modul CommonJS. Anda harus menggunakan sistem modul ES6 atau menurunkan paket ke versi 8.0.0.
Inquirer.js menyediakan banyak opsi penyesuaian untuk perintah, termasuk pilihan, validasi, dan nilai default, membuatnya ideal untuk membuat alat CLI interaktif yang dapat berinteraksi dengan pengguna.
Chalk adalah paket Node.js yang menyediakan cara sederhana untuk menambahkan warna ke output terminal, membuat alat CLI yang mudah dibaca dan menarik menjadi mudah.
Ini memberikan banyak fleksibilitas dalam menentukan warna dan gaya untuk teks. Namun, Anda tidak dapat menggunakan Chalk secara terpisah untuk membuat alat CLI; Anda harus menggunakannya dengan paket seperti Commander dan Inquirer.js.
Untuk menginstal Chalk sebagai dependensi, jalankan perintah ini:
npm install chalk
Berikut adalah contoh cara menggunakan Chalk untuk menambahkan warna ke keluaran konsol:
import chalk from "chalk";
console.log(chalk.blue(“Hello world!”));
console.log(chalk.red.bold(“Warning“));
console.log(chalk.white.italic(“success“));
console.log(
chalk.yellow.bgBlue(“This text has a yellow foreground and blue background“)
);
Kapur menyediakan banyak metode lain untuk menentukan warna dan gaya, termasuk menggarisbawahi, dicoretberbagai rona warna latar belakang, dan banyak lagi.
Chalk tidak mendukung sistem modul CommonJS. Anda harus menggunakan sistem modul ES6 atau menurunkan paket ke versi 4.0.0.
Kapur adalah paket yang bagus untuk membuat alat CLI Anda lebih menarik secara visual dan mudah dibaca. Selain itu, Anda dapat dengan mudah mengintegrasikannya ke dalam kode yang ada tanpa konfigurasi yang rumit.
Node Spinner adalah paket Node.js yang menyediakan cara sederhana untuk menampilkan animasi spinner di alat CLI Anda. Anda dapat menggunakan paket ini untuk menunjukkan bahwa proses yang berjalan lama sedang berlangsung dan memberikan isyarat visual kepada pengguna bahwa alat tersebut masih berfungsi.
Untuk menginstal Node Spinner sebagai dependensi, jalankan perintah ini:
npm install cli-spinner
Berikut adalah contoh cara menggunakan Node Spinner untuk menampilkan animasi spinner:
const Spinner = require("cli-spinner").Spinner;
const spinner = new Spinner(“processing… %s”);
spinner.setSpinnerString(“|/-\\\\”);
spinner.start();
setTimeout(() => {
spinner.text = “Task completed.”;
setTimeout(() => {
spinner.stop();
}, 500);
}, 5000);
Kode ini menggunakan pustaka untuk menampilkan pemintal hingga proses selesai. Kode mengolok-olok operasi yang berlangsung selama 5 detik menggunakan setTimeout. Pada akhirnya, ini mengubah teks tampilan dari “memproses …” menjadi “Tugas selesai.” dan menghentikan pemintal 0,5 detik kemudian.
Node Spinner menyediakan berbagai opsi penyesuaian, seperti mengubah gaya dan teks pemintal. Ini juga mendukung banyak pemintal, memungkinkan Anda untuk menampilkan animasi yang berbeda untuk berbagai bagian alat CLI Anda.
Figlet adalah paket Node.js yang menyediakan cara sederhana untuk membuat seni ASCII dari teks.
Untuk menginstal figlet sebagai dependensi, jalankan perintah ini:
npm install figlet
Berikut adalah contoh cara menggunakan figlet untuk menghasilkan seni ASCII:
const figlet = require("figlet");
figlet(“Hello World!!”, (err, data) => {
if (err) {
console.log(“Sorry, something went wrong”);
console.dir(err);
return;
}
console.log(data);
});
Contoh di atas membuat seni ASCII dengan string “Hello World!!” menggunakan Figlet dan mencatatnya ke konsol.
Menjalankan contoh ini akan menghasilkan output berikut:
Figlet menyediakan banyak gaya font yang dapat Anda gunakan untuk menyesuaikan tampilan seni ASCII Anda. Anda dapat menentukan gaya font dengan meneruskan objek pilihan ke figlet fungsi.
Misalnya:
figlet("Hello World!!", { font: "Bell" }, (err, data) => {})
Menggunakan Figlet di alat CLI Anda menambahkan minat visual ke alat Anda dan membuatnya lebih menarik bagi pengguna Anda.
Saat memilih paket untuk alat CLI Anda, Anda harus mempertimbangkan kebutuhan Anda dan memilih paket yang menyediakan fungsionalitas, gaya, dan kompatibilitas yang memenuhinya.
Ekosistem Node.js menyediakan berbagai paket yang dapat mengurai argumen baris perintah, membuat UI baris perintah, menampilkan teks bergaya, dan banyak lagi. Memanfaatkan perpaduan yang tepat akan memungkinkan Anda membuat alat CLI yang sangat fungsional dan mudah digunakan.