Dibalik Pembuatan string-manager di NPM
String-manager adalah sebuah module yang ditujukan untuk Node.JS apps yang berfungsi untuk manipulasi string. Manipulasi yang dimaksud bisa bermacam-macam sesuai dengan kebutuhan para developer, sebagai contoh adalah, saya mempunyai string “masak_apa__hari____ini? ”, anggap “_” adalah spasi, karena dimedium saya tidak bisa mengetik spasi lebih dari 1 kali. Untuk kemudian menggunakan string-manager ini saya ingin membuat string tersebut lebih enak dibaca dengan cara replace spasi yang berlebih menjadi “masak_apa_hari_ini?”.
Sebelum menggunakan string-manager
Manipulasi string sendiri bisa hampir digunakan di setiap proyek aplikasi, dan tiap proyek bisa saja memiliki kasus yang berbeda pula. Sebelum terciptanya string-manager ini, saya biasanya membuat folder khusus bernama helpers dan disanalah saya meletak beberapa fungsi yang berhubungan dengan string-manager. Hingga akhirnya saatnya saya mengerjakan proyek berikutnya, karena ada beberapa fungsi manipulasi string yang ingin saya gunakan dari projek sebelumnya, maka tinggal saya copy paste dari satu proyek ke proyek lainnya, dan itu dilakukan berulang kali hingga saya memikirkan untuk membuat sebuah npm module karena beberapa kelebihan yang dimilikinya.
Publikasi string-manager
Ada beberapa nama yang ingin saya gunakan untuk module npm ini, seperti “string-manipulation”, “string-master”, dan lain-lain, asalkan ada kata string didalamnya. Hingga akhirnya keputusan saya jatuh pada nama “string-manager”. Sebelum saya publikasi ke NPMJS , terlebih dahulu saya push ke repository di Github dengan lisensi open source, berharap ada teman-teman baik dari Indonesia ataupun seluruh pelosok dunia yang mau ikut berkontribusi di proyek ini. Untuk repositori bisa diakses melalui link berikut https://github.com/idmore/npm-string-manager .
Baru setelah string-manager menyediakan 6 sub modules, saya putuskan untuk publikasi ke npmjs , bisa diakses di halaman berikut npmjs.com/package/string-manager .
Kontribusi
Kami sangat berterimakasih bagi anda yang ikut berkontribusi di proyek string-manager ini, baik sebagai reporter, developer ataupun yang lainnya.
Developer
Kamu menggunakan standar penulisan code Ecma script 2015, alias ES6. Untuk standarisasinya sendiri sudah tersimpan di .eslintrc. Sehingga bagi yang sudah terbiasa menggunakan eslint bisa dipermudah untuk penulisan kodenya. Bagi yang belum tahu eslint, Eslint sendiri adalah Alat linter pluggable dan dapat dikonfigurasi untuk mengidentifikasi dan melaporkan pola dalam JavaScript. Tujuannya adalah untuk mempertahankan kualitas kode anda dengan mudah.
Tester
Kami menggunakan mocha https://mochajs.org/ , untuk testing dari module-module string-manager yang akan di publikasi. Alasannya karena mocha mudah untuk dikonfigurasi dan support dengan ES6.
Cara pengetesannya juga cukup mudah, pertama kami buat direktori test
yang selevel dengan direktori src
. untuk kemudian didalam test, dibuatlah beberapa file yang bertugas untuk import function dari modul yang ada di direktori src
.
Tujuan dari test ini adalah untuk memastikan tidak ada bug/error di aplikasi, memastikan module menghasilkan return sesuai dengan ekspetasi, baik ketika argumen yang diberikan sesuai dengan dokumentasi ataupun tidak.
Builder
Untuk saat ini npm module belum support secara penuh dengan sintak-sintak dari ES6, untuk mencegah bug, maka kami membuat sebuah direktori bernama dist
alias distribution, adalah direktori untuk menyimpan hasil build untuk produktion dari module yang ada di direktori src
. Kami menggunakan babel-cli https://www.npmjs.com/package/babel-cli untuk buildernya, dan secara otomatis akan dieksekusi ketika melakukan aksi npm publish, sesuai dengan konfigurasi yang ada di package.json.
Reporter
Segala hal yang meliputi bug, feature request dan isu lainnya bisa disampaikan melalui fitur issues di Github, bisa diakses melalui link berikut https://github.com/idmore/npm-string-manager/issues . Disamping itu Ada juga board di Trello yang bisa dipantau oleh publik yang berisi apa saja yang telah dikerjakan Id More Team di proyek ini, baik untuk backlog, fitur yang sedang dikerjakan, fitur yang akan dirilis dan berbagai hal penting lainnya tentang string-manager https://trello.com/b/CmJX7AGz/npm-string-manager-https-www-npmjs-com-package-string-manager .