Library untuk Kamu yang Baru di Node.js

Masih baru di Node.js? Nggak usah khawatir. Ada nih starter pack alias beberapa library yang bisa kita gunakan untuk membantu proses mengerjakan project Node.js.
1. Nodemon
Siapa pun yang pernah belajar menggunakan Node.js pasti sudah kenal dengan command node app.js . Yap, biasanya kita menggunakan itu untuk menjalankan code yang sudah kamu buat. Sayangnya, setiap ada perubahan dalam code kita harus mengulang command tersebut untuk melihat hasil perubahannya.
Nah, kita akan coba menggunakan satu library yang bernama Nodemon. Nodemon ini membantu kita dengan merestart server secara otomatis ketika ada perubahan di dalam code yang Kamu buat.
Untuk menginstall Nodemon ini secara global, kita bisa menggunakan
npm install -g nodemondan untuk menjalankannya kita dapat langsung menggunakan command
nodemon app.jsLalu bagaimana jika kita hanya ingin menginstall secara lokal? Mudah, tambahkan saja Nodemon ini sebagai devDependency dalam project yang kita buat menggunakan command
npm install --save-dev nodemonUntuk memastikan, kita dapat mengeceknya di file package.json. Nodemon ini akan ditambahkan pada devDependency. Nodemon yang baru kita pasang di lokal ini dapat kita jalankan dengan menggunakan command
./node_modules/nodemon/bin/nodemon.js app.jsatau kita bisa juga membuat script supaya bisa dijalankan dengan cara lebih mudah.
Buka file package.json dan tambahkan skrip di bawah ini.
{
... "scripts": {
...
...
"nodemon": "./node_modules/nodemon/bin/nodemon.js app.js",
}, ...
}
Penjelasan singkatnya, nodemon itu kita sebut saja perintah yang kita buat. Ini dapat kita ubah sesuai dengan keinginan kita. Lalu, ./node_modules/nodemon/bin/nodemon.js merupakan lokasi Nodemon yang akan kita gunakan. Sedangkan app.js merupakan main file yang akan kita jalankan, tentu saja ini disesuaikan dengan nama main file yang kita gunakan. Jalankan skrip tersebut dengan command
npm run [perintah]atau sesuai yang baru saja kita buat
npm run nodemonMaka hasilnya,

2. Babel
Babel ini merupakan library yang nantinya bertugas untuk menerjemahkan kode tertentu ke dalam bentuk yang dikenali oleh browser. Maka dari itu, dengan library ini kita bisa mengimplementasi ES6/ES7 method. Untuk menginstallnya menggunakan
npm install --save-dev babel-cli babel-preset-latestKalau sudah berhasil, kita bisa cek babel-cli dan babel-preset-latest itu sudah termasuk ke dalam devDependency project-mu.
Selanjutnya, buat konfigurasi untuk babel dengan membuat satu file baru di root project yang kita buat bernama .babelrc. Tambahkan skrip seperti di bawah ke dalam file .babelrc tersebut.
{
"presets": ["latest"]
}Preset ini bisa kita ubah sesuai dengan keinginan kita, tergantung pada library babel-preset mana yang kita install pada project. Library lengkapnya dapat kita lihat pada dokumentasi babel.
3. ESLint
ESLint merupakan sebuah tool yang nantinya membantu kita untuk menemukan masalah/ kesalahan pada code tanpa harus menjalankannya terlebih dahulu. Masalah tersebut misalnya ketika kita lupa menutup dengan semicolon, indentasi yang kurang tepat, terdapat variabel yang tidak digunakan, dan sebagainya.
Untuk menginstallnya, ada dua pilihan, yaitu install secara global atau lokal. Jika kita akan menginstall secara global, maka kita jalankan
$ npm install -g eslint
$ cd [project]
$ eslint --initSedangkan jika kita menginstall secara lokal atau dalam satu project saja, maka kita jalankan
npm install --save-dev eslintjika berhasil, eslint ini akan ditambahkan ke devDependency di file package.json. Lalu initiate eslint ini dengan menggunakan
./node_modules/.bin/eslint --initSetelah init, akan muncul pertanyaan yang membantu kita men-generate konfigurasi ESLint. Konfigurasi tersebut kan tersimpan pada file .eslintrc.* pada root project. Kita bisa custom rule dengan fleksibel di file tersebut. Rule yang disediakan dapat kita lihat di dokumentasi ESLint.
4. Sequelize
Sequelize merupakan ORM (Object Relational Mapping) untuk Node.js yang bersifat promise-based. Library ini dapat membantu kita untuk bekerja dengan database dan relasi-relasi di dalamnya. Sequelize juga support untuk berbagai jenis database, seperti misalnya PostgreSQL, MySQL, SQLite dan MSSQL.
Untuk menginstall Sequelize ini secara global, kita bisa jalankan command
npm install -g sequelize-cliSetelah Sequelize terinstall secara global, kita dapat menggunakan command di bawah ini untuk initiate Sequelize dalam project.
sequelize initSedangkan jika kita ingin menginstall di lokal saja, kita jalankan command
npm install --save sequelize sequelize-cli mysql2dan untuk initiate-nya, jalankan command
./node_modules/.bin/sequelize initSetelah initiate, maka kita akan menemukan file config/config.json dan folder baru yaitu model, migrations, dan seeders. Kita pindahkan saja folder model, migration, dan seeder yang baru kita buat tadi ke folder tersendiri, misalnya ke folder database supaya lebih mudah ditemukan foldernya. Terakhir, kita tinggal membuat special configuration file dari Sequelize ini. File ini kita beri nama .sequelizerc dan kita letakkan di root project kita.
Tambahkan skrip di bawah ke dalam file .sequelizerc .
const path = require('path');
module.exports = {
'config': path.resolve('config', 'database.json'),
'models-path': path.resolve('database', 'models'),
'seeders-path': path.resolve('database', 'seeders'),
'migrations-path': path.resolve('database', 'migrations')
}Selanjutnya kita tinggal melakukan konfigurasi database dan Sequelize ini sudah bisa digunakan. Lebih lengkapnya bisa kita lihat di dokumentasi Sequelize.
5. JWT
Jika project Node.js kita membutuhkan authorization, JWT atau JSONWebToken ini sudah sangat umum digunakan. Library yang tersedia untuk menangani JWT ini juga cukup banyak. Pada artikel ini, kita akan mencoba library jsonwebtoken (berhubung saya selalu menggunakan yang ini, hehe).
Library ini dapat menghasilkan token yang nantinya akan digunakan sebagai pengenal siapapun yang menjalankan suatu fungsi. Token yang akan dihasilkan juga dapat dibuat custom sesuai kebutuhan kita.
Cara untuk menginstallnya mudah saja, hanya tinggal masuk ke dalam project dan jalankan command
npm install --save jsonwebtokenSetelah selesai, kita dapat lihat library jsonwebtoken ditambahkan ke dependency di file package.json. Lalu jsonwebtoken ini sudah bisa digunakan. Lebih lengkap lagi bisa kita lihat di dokumentasi library jsonwebtoken.
Itulah beberapa library atau lebih tepatnya 5 library yang cukup akan membantu kita mengawali project Node.js kita. Semoga artikel ini bermanfaat dan selamat mencoba :)

