Cara praktis akali pengulangan kode untuk para Software Programmer

Firman
Jabar Digital Service
5 min readMar 5, 2021
Logo npmjs. Sumber: npmjs

Halo, teman-teman. Pernah nggak, sih lagi mengerjakan dua projek yang berbeda tapi ingin menggunakan module yang sama? Ingin menghindari cara ‘copy-paste’ supaya nggak ada pengulangan penulisan dan memperbanyak baris code di dalam satu file tapi nggak tahu caranya?

Nah, kali ini Saya akan berbagi sedikit tentang bagaimana cara mempublikasikan suatu module yang dipakai berulang untuk proyek yang berbeda menggunakan bahasa Node.js versi penulisan CommonJS. Contoh kasus adalah dengan menggunakan module ‘konversi angka ke format rupiah’.

Saya akan membagikan tutorial untuk bantu memudahkan proses bagaimana mempublikasikan module ke NPM secara otomatis menggunakan GitHub Action agar bisa dipakai secara global. Seperti apa cara mempublikasikannya (open-source)? Bisakah module tersebut diatur agar hanya bisa dikonsumsi secara pribadi dan tidak untuk umum? Yuk, simak tutorial berikut!

  1. Mempersiapkan script — Hal pertama yang harus dilakukan yaitu siapkan dulu script yang akan dipublikasikan. Jika mengambil contoh kasus sebelumnya, yaitu ‘konversi angka ke format rupiah’, maka yang harus dilakukan adalah membuat folder, contohnya konversi-rupiah. Setelah itu, coba masuk ke terminal dan arahkan ke direktori folder proyek tersebut. Lalu inisiasi dengan cara ketik perintah berikut di terminal teman-teman:
$ npm init
Contoh tampilan npm init. Sumber Dokumen: Firman Abdul Hakim
Penjelasan:package name: isi dengan nama package teman-teman yang nanti akan dipublikasikan ke npmversion: isi dengan versi module teman-teman by default 1.0.0description: deskripsi module yang dibuatentry point: by default index.js bisa diubah sesuai gaya masing-masinggit repository: url gitkeywords: keyword untuk pencarian seperti tagauthor: isi dengan nama teman-teman atau nama akun githublicense: pilih tipe license-nya

Setelah itu, buat file dengan nama index.js dan masukan script yang akan dipublikasikan, misalnya function formatRp.

Contoh tampilan module. Sumber Dokumen: Firman Abdul Hakim

Kemudian buat file README.md yang berisi dokumentasi cara penggunaan module, fungsi dari module yang dibuat, dan kebutuhan lainnya. Nantinya, file tersebut akan otomatis muncul di halaman NPM.

Tahapan selanjutnya adalah membuat workflows untuk GitHub Actions. Nantinya, ketika kita push dan selesai dengan code atau ketika package kita ada pembaharuan versi, maka secara otomatis akan terpublikasi juga ke situs npmjs-nya.

Lalu, buat folder di root proyek konversi-rupiah tadi dengan nama .github. Di dalam folder tersebut, buat folder dengan nama workflows, dan di dalam folder workflows buat file dengan nama bebas, asalkan akhirannya berekstensi .yml. Contoh, Saya beri nama nodejs.yml, sehingga pathnya menjadi seperti ini: .github/workflwos/nodejs.yml kemudian masukan code berikut :

Tampilan nodejs.yml Sumber Dokumen: Firman Abdul Hakim

Bagaimana teman-teman? Mudah-mudahan sampai tahap ini masih bisa dipahami, ya!😁 Setelah selesai, jangan dulu melakukan push ke repository teman-teman. Yuk, lanjut dulu ke tahap berikutnya.

2. Daftar NPMSetelah module selesai dibuat dan diuji coba, lakukan pendaftaran ke npmjs bila belum mempunyai akun. Teman-teman bisa daftar di situs ini: https://www.npmjs.com/signup.

Catatan: jika e-mail belum di verifikasi, maka tidak bisa melakukan push ke npmjs. Nantinya akan muncul pesan error 403 forbidden.

Sesudah daftar, jangan lupa untuk melakukan verifikasi e-mail. Jika sudah memiliki akun, ke halaman Profile, kemudian di pojok kanan, klik tanda panah pada Profile lalu pilih bagian Access Tokens. Di menu Access Token, klik Generate New Token seperti pada gambar di bawah ini:

Tampilan Acces Tokens. Sumber Dokumen: Firman Abdul Hakim

Di halaman New Access Token, pilih Automation lalu klik Generate Token.

Halaman New Access Token. Sumber Dokumen: Firman Abdul Hakim

Setelah klik Generate Token, copy token tersebut dan simpan dahulu untuk nanti dimasukkan ke GitHub karena ketika melakukan deploy, otomatis akan membutuhkan akses tokennya.

3. Setup GitHub ActionsMasuk ke repository GitHub teman-teman, jika belum membuat repo-nya maka dibuat terlebih dahulu. Jika sudah, klik tab Settings seperti pada gambar di bawah ini:

Tampilan halaman Settings. Sumber Dokumen: Firman Abdul Hakim

Lalu, di tab sebelah kiri bawah, klik Secrets seperti pada gambar berikut:

Pilih menu Secrets. Sumber: Dokumen: Firman Abdul Hakim

Setelah halaman Secrets terbuka, klik New Repository Secret seperti pada gambar di bawah ini:

Tampilan New Respository Secret. Sumber: Dokumen: Firman Abdul Hakim

Setelah halamannya terbuka, pada bagian Name, isi dengan nama NPM_SECRET dan pada bagian Value isi dengan token yang telah diperoleh dari npmjs lalu klik Add Secret.

Pengisian data pada Secret Key GitHub. Sumber Dokumen: Firman Abdul Hakim

4. Push code ke GitHubSetelah semua konfigurasi selesai, selanjutnya, push code yang dimiliki ke GitHub. Setelah commit, push kembali ke GitHub untuk memantau apakah pipeline-nya berjalan dengan baik atau tidak.

Bagaimana caranya? Masuk ke repo dan klik Actions, tunggu sampai proses selesai dan dua-dua nya sudah tercentang hijau.

Proses pada halaman GitHub Actions. Sumber Dokumen: Firman Abdul Hakim

Setelah kedua job tercentang, teman-teman bisa cek ke halaman npmjs dan lihat package-nya, apakah sudah terpublikasi atau belum.

package berhasil terpublikasi. Sumber Dokumen: Firman Abdul Hakim

Jika sudah muncul, selamat! Berarti package module teman-teman sudah terpublikasi di situs NPM.

Catatan: jika terdapat perubahan pada module dan ingin dipublikasikan lagi, teman-teman wajib mengubah version di file package.json nya. Contoh: version 1.0.0, jika ada perubahan berarti menjadi version 1.0.1.

Sekian tutorial dari Saya! Semoga bermanfaat, ya teman-teman!

--

--