Mengenal Apa itu NPM?

Mengenal Apa itu NPM?

    

Dalam membangun sebuah proyek baik itu proyek skala kecil hingga skala besar pasti terdapat kode program yang sifatnya umum dan dapat digunakan dibanyak tempat. Biasanya kita menyebutnya sebagai utils ataupun helper yang berguna untuk mempermudah kita dalam menyelesaikan proyek. Namun, tidak mungkin kita menulis kode tersebut terus menerus di proyek baru yang akan kita kerjakan. maka dari itu kita perlu membungkus kode kode tersebut menjadi bundle atau package yang kemudian di simpan di repository. Jika kita ingin menggunakannya kita bisa menambahkan package tersebut di proyek baru kita. Hal itu dapat dipermudah dengan menggunakan package manager. Pada javascript package manager yang dapat kita gunakan adalah NPM atau Node Package Manager. Selain kode kita sendiri, kita juga bisa menggunakan kode package yang dikembangkan orang lain mulai dari yang menangani UI, Utils code, dan lain sebagainya.

Pada kesempatan kali ini kita akan membahas terkait Node Package Manager atau yang sering disebut dengan NPM, pada beberapa artikel sebelumnya kita sudah membahas nya sekilas, dan di artikel ini kita akan membahasnya secara detail. Mari kita simak bersama...


Sejarah dari NPM

Pada awal tahun 2010 terjadi masalah dalam manajemen node package dan dependensi di dalam ekosistem aplikasi yang menggunakan NodeJS yang kala itu sedang berkembang pesat yang membuat Isaac Z. Schlueter mendapatkan ide untuk mengatasi masalah tersebut dengan menciptakan Node Package Manager atau yang disebut dengan NPM. Pesatnya perkembangan NodeJS menjadikan NPM ini sebagai salah satu package manager terpopuler dan memiliki community yang sangat aktif sehingga NPM digunakan sebagai standar pengelolaan package untuk project berbasis NodeJS bahkan dapat digunakan juga untuk project javascrit di luar environment NodeJS.


Pengertian NPM

NPM merupakan salah satu bagian penting dari pengembangan program aplikasi berbasis javascript terutama yang menggunakan environment NodeJS, NPM berfungsi sebagai alat untuk manajemen package, library, dan dependency yang digunakan dalam project yang sedang kita kembangkan. NPM menggunakan registry yang bersifat public untuk menyimpan package yang tersedia. selain itu kita juga bisa menggunakan dependency privat jika ingin menggunakan package khusus untuk organisasi kita sendiri.


Manfaat dari NPM

Dengan menggunakan NPM banyak manfaat yang dapat kita terima sebagai pengembang program. berikut merupakan manfaat yang dapat kita rasakan langsung ketika menggunakan npm sebagai package manager :

  1. Dikarenakan tingkat popularitas nya yang tinggi, NPM memiliki dukungan dari pengembang dan komunitas yang besar dan aktif sehingga dapat dengan mudah untuk menyelesaikan masalah atau mempelajari base practise dari framework yang kita gunakan.
  2. Dengan menggunakan NPM kita dapat menyelam lebih dalam ke ekosistem javascript yang tersedia banyak sekali package di dalam registry NPM. sehingga project aplikasi yang sedang kita kembangkan dapat lebih mudah terselesaikan, selain itu kita juga bisa ikut berkontribusi dalam mengembangkan package yang ada di registry NPM.
  3. Dengan menggunakan NPM kita dapat dengan mudah untuk mengelola dan menambahkan dependensi dan package yang dapat mempermudah kita dalam mengembangkan project aplikasi dengan menginstallnya langsung ke dalam project kita melalui package.json.
  4. Dengan menggunakan NPM ktia dimudahkan untuk mengelola versi package yang kita gunakan di dalam project aplikasi, versi package tersebut dicatat di dalam file bernama package.json, sealin itu kita juga bisa mengunci versi dari package yang kita gunakan dengan menggunakan file package-lock.json yang digenerate otomatis saat kita menginstall project kita guna mengurangi masalah dari kompabilitas package yang kita gunakan.
  5. Dengan menggunakan NPM, pengerjaan project aplikasi kita menjadi lebih cepat karena tidak perlu menulis kode yang dibutuhkan dari awal.

Cara menggunakan NPM

        Sebelum menggunakan NPM kita perlu memastikan device yang kita gunakan sudah terinstall Node.js. Node.js merupakan sebuah runtime environment yang berguna untuk menjalankan javascript baik di dalam browser maupun di luar browser sekalipun. sebelum menjelaskan bagaimana cara menggunakan NPM. Berikut cara menginstall Node.js di perangkat kita :


- Buka website official dari node js Disini

- Tekan tombol download node js (LTS), sesuai OS yang kita gunakan.
disini saya menggunakan OS Windows.

sangat disarankan mendownload versi lts untuk menghindari hal yang tidak diinginkan.
- Jika sudah selesai terdownload kamu bisa mengikuti instruksi yang ada pada saat proses install.
biasanya tinggal pilih next, next, sampai finish.

- Setelah kita selesai menginstall node js, kita bisa melakukan pengecekan version dengan command node -v dan  npm -v untuk melihat apakah nodejs sudah selesai terinstall dan bisa digunakan. Berikut merupakan versi node dan versi npm yang saya gunakan.

PS D:\playground\test> node -v

// v20.15.1  

PS D:\playground\test> npm -v

// 10.8.3

    • Untuk menggunakan NPM di project baru kita perlu melakukan inisialisasi dengan menggunakan command npm init

    PS D:\playground\test> npm init
    
    
    This utility will walk you through creating a package.json file.
    It only covers the most common items, and tries to guess sensible defaults.
    
    Press ^C at any time to quit.
    package name: (test) test   //nama project mu
    version: (1.0.0) 0.0.1      //version awal dari project mu
    git repository: https://github.com/test/repository-name //contoh link project git
    keywords: test-package      //keyword project
    author: readeroz-admin      //author bebas
    license: (ISC)              // langsung enter aja
    
    /*Berikut contoh generate dari npm init */
    About to write to D:\playground\test\package.json:
    
    {
      "name": "test",
      "version": "0.0.1",
      "description": "project test",
      "main": "index.js",
      "scripts": {
        "test": "npm run dev"
      },
      "author": "readeroz-admin",
      "license": "ISC",
      "repository": {
        "type": "git",
        "url": "git+https://github.com/test/repository-name.git"
      },
      "keywords": [
        "test-package"
      ],
      "bugs": {
        "url": "https://github.com/test/repository-name/issues"
      },
      "homepage": "https://github.com/test/repository-name#readme"
    } 
    • Untuk menambahkan dependency ke dalam project, kita dapat menggunakan command npm install <nama-paclage>  atau npm i <nama-package>
    /*Berikut merupakan contoh menginstall package bernama http-server
      dengan versi paling baru*/
    PS D:\playground\test> npm install http-server
    
    added 46 packages, and audited 47 packages in 9s
    
    15 packages are looking for funding
      run `npm fund` for details
    
    found 0 vulnerabilities
    • Untuk menghapus package yang dirasa tidak digunakan kembali, kita bisa menggunakan command npm uninstall <nama-package>
    /*Berikut merupakan contoh menghapus package http-server dari project kita*/
    PS D:\playground\test> npm uninstall http-server
    
    removed 46 packages, and audited 1 package in 1s
    
    found 0 vulnerabilities
    • Untuk memperbaru seluruh dependency yang kita gunakan pada project kita, kita bisa menggunakan command npm update
    PS D:\playground\test> npm update
    
    up to date, audited 1 package in 877ms
    
    found 0 vulnerabilities
    • Kita juga bisa menginstall sebuah package yang hanya digunakan diranah developing saja dengan menggunakan command npm install <nama-package> --save-dev
    /*Berikut contoh menginstall package http-server di ranah developing saja */
    PS D:\playground\test> npm install http-server --save-dev
    
    added 46 packages, and audited 47 packages in 9s
    
    15 packages are looking for funding
      run `npm fund` for details
    
    found 0 vulnerabilities

    Itulah pengertian dari NPM untuk membaca dokumentasi lengkap dari npm bisa kunjugi laman official dari npm di sini,  selain itu, jika ingin mencari pakcage yang mungkin dibutuhkan namun tidak tahu spesifiknya bisa kunjungi laman library npm di sini. Terimakasih telah mampir di postingan ini dan semoga menjadi ilmu yang bermanfaat.


    Teruslah Bergerak Maju.

    Previous Post Next Post

    Contact Form