Saturday, March 17, 2018

Create Own Module on Node Package Manager (NPM)


npm (Node Package Manager) merupakan package manager untuk JavaScript. Seperti dalam PHP kita mengenal Composer, di Ruby ada RubyGems, di Python kita mengenal pip, dll. Dengan menggunakan npm, kita dapat mencari, mendapatkan, menggunakan dan berbagi package-package JavaScript.

Bagi kalian yang ingin membuat dan mendistribusikan module kalian ke public yang bisa digunakan orang lain kalian bisa menggunakan npm. Banyak keuntungan yang didapat jika kita mendistribusikan module yang kita buat salah satunya adalah kita bisa mengelompokan fungsi fungsi yang sering digunakan, jika di project lain butuh fungsi yang sejenis kita hanya tinggal memakan module yang sudah didistribusikan.
Sebelum kita membuat module npm pastikan kalian sudah menginstall node di local kalian, jika belum bisa check link berikut :
https://nodejs.org/en/download/
Atau jika kalian memiliki brew, install menggunakan brew dengan command
 $ brew install node  

Jangan lupa untuk bisa mendistribusikan module yang kita buat kita perlu daftarkan diri kita di https://www.npmjs.com/ untuk mendapatkan hak akses.

Jika sudah, masuk ke folder directory tempat kalian ingin membuat module kalian, lalu execute command
 $ npm init  

Nanti akan diminta memasukan deskripsi dari module yang kalian inginkan seperti nama, deskripsi, keyword, licence, dll, jika sudah nanti kalian akan dibuatkan file package.json dimana file tersebut berisi informasi yang kalian masukan.
 {  
  "name": "myModule",  
  "version": "1.0.0",  
  "description": "module description",  
  "main": "index.js",  
  "scripts": {  
   "test": "echo \"Error: no test specified\" && exit 1"  
  },  
  "author": "yourName <yourEmail@domain.com>",  
  "license": "MIT",  
  "dependencies": {  
   "http": "0.0.0",  
   "https": "^1.0.0"  
  }  
 }  
Jika sudah, pastikan anda sudah login npm, jika belom execute command
 $ npm login  

Dan masukan username, email dan password, jika sudah pastikan dengan menggunakan command npm whoami.
Jika sudah, Lets Make It!
Buat file index.js karena di secara default package.json mengarahkan module kita ke index.js, kalian bisa mengubahnya.

Kira kira simple codenya seperti ini
 class Calculator{  
      constructor(x,y) {  
           this.x = x;  
           this.y = y;  
      }  
      add() { return this.x + this.y };  
      subtract() { return this.x - this.y };  
      multiply() { return this.x * this.y };  
      divide() { return this.x / this.y };  
      remainder() { return this.x % this.y };  
 }  
 module.exports = Calculator;  
Jika sudah, sebelum kalian ingin mendistribusikan module kalian, alangkah baiknya kalian coba di local kalian dulu.
Jika ingin mengubungkan module yang kalian buat execute command
 $ npm link  

Lalu kalian bisa mencoba module kalian dengan execute command
 $ npm link your_module  

Sesuai dengan nama yang didaftarkan di package.json, setiap ada perubahan di module kalian secara otomatis directory yang menggunakan module kalian akan berubah. Ini cara yang efektif untuk mencoba module kalian.
Kalian bisa gunakan module yang sudah di kalian bikin dengan cara meng-export seperti gambar dibawah ini
 const Calculator = require('mead-module');  
 const numberA = 3;  
 const numberB = 4;  
 let calc = new Calculator(numberA,numberB);  
 console.log('Calculator ' + numberA + ' + ' + numberB + ' = ', calc.add());  
 console.log('Calculator ' + numberA + ' - ' + numberB + ' = ', calc.subtract());  
 console.log('Calculator ' + numberA + ' * ' + numberB + ' = ', calc.multiply());  
 console.log('Calculator ' + numberA + ' / ' + numberB + ' = ', calc.divide());  
 console.log('Calculator ' + numberA + ' % ' + numberB + ' = ', calc.remainder());  

Jika kalian sudah memastikan semua fungsi berjalan dengan lancar, kalian bisa langsung execute command
 $ npm publish  

Yang nantinya module kalian akan distribusikan secara public jadi semua orang bisa menggunakan module kalian jadi gunakan nama module yang unik.
Kalian bisa check module yang kalian buat di profile npm.
Jika sudah kalian bisa menggunakan module kalian secara public dengan execute command
 $ npm install your_module  

Dengan itu module kalian sudah menjadi dependency dengan project kalian
DONE!!
Jika nantinya ada perubahan di module kalian, kalian bisa gunakan versioning dengan beberapa command seperti berikut ini
 $ npm version patch //x.x.1  
 $ npm version minor //x.1.x  
 $ npm version major //1.x.x  

Command tersebut untuk merubah versi module kalian, jika ingin mengupdate module yang sudah di-publish gunakan command
 npm publish  

References

No comments:

Post a Comment