Node Package Manager (npm): Difference between revisions

No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 29: Line 29:


Untuk melihat package apa saja yang dibutuhkan dari suatu package, kita dapat bernavigasi ke dalam folder <code>node_modules</code>, dan melihat isi dari salah satu folder dependency. Pada contoh kali ini, kita akan melihat isi dependency yang diperlukan oleh package <code>eslint</code>. Package <code>eslint</code> ketika dipasang membutuhkan beberapa package lainnya agar dapat berjalan dengan lancar. Dan tidak jarang package yang lain tersebut juga membutuhkan dependency yang lain agar dapat berjalan.
Untuk melihat package apa saja yang dibutuhkan dari suatu package, kita dapat bernavigasi ke dalam folder <code>node_modules</code>, dan melihat isi dari salah satu folder dependency. Pada contoh kali ini, kita akan melihat isi dependency yang diperlukan oleh package <code>eslint</code>. Package <code>eslint</code> ketika dipasang membutuhkan beberapa package lainnya agar dapat berjalan dengan lancar. Dan tidak jarang package yang lain tersebut juga membutuhkan dependency yang lain agar dapat berjalan.
[[File:Npm1.png|thumb|center|300px|Daftar dependency yang ada di dalam package.json dari package ESLint]]
Jika kita mengetikkan perintah <code>npm ls</code> dari Terminal di dalam folder project, maka akan muncul struktur dependency yang dibutuhkan dari package <code>eslint</code> beserta anak-anak dependency di dalamnya.
[[File:Npm2.png|thumb|center|300px|Hasil dari perintah npm ls di dalam folder proyek]]
Terlihat di gambar atas bahwa package “eslint” membutuhkan dependency lain agar dapat berjalan. Hal ini ditandai dengan struktur berbentuk garis yang saling berhubungan antar package-package di dalam dependency utamanya. Contoh package yang dibutuhkan seperti “babel” , “chalk” , “ajv” , dan masih banyak lagi. Setiap package tersebut tentu saja terdiri dari beberapa file kode dengan ekstensi yang beranekaragam, dan memiliki ukuran file yang bervariasi. Akumulasi dari file-file di dalam dependency ini biasanya membuat ukuran folder node_modules menjadi semakin besar seiring dengan banyaknya dependency package yang ditambahkan ke dalam proyek aplikasi.
==Perintah pada NPM==
Kamu bisa mendapatkan penjelasan lengkap mengenai seluruh perintah yang ada di NPM pada laman resmi berikut [https://docs.npmjs.com/cli/v7/commands ini]. Namun, terdapat beberapa perintah penting yang akan biasa kita gunakan dalam materi dan juga pengembangan aplikasi selanjutnya.
{| class="wikitable"
|+
|-
! Command !! Description !! Common Options
|-
| init || Membuat berkas package.json pada project || <nowiki>[–force|-f|–yes|-y|–scope]</nowiki>
|-
| install <package-name> || Memasang dan mendaftarkan package pada berkas package.json || <nowiki>[-P|–save-prod|-D|–save-dev|-O|–save-optional] [-E|–save-exact] [-B|–save-bundle] [–no-save] [–dry-run]</nowiki>
|-
| run-script <command> || Menjalankan perintah yang terdapat pada objek scripts di berkas package.json || <nowiki>[–silent] [– <args>…]</nowiki>
|-
| uninstall <package-name> || Menghapus dan mengeluarkan package dari berkas package.json || <nowiki>[-S|–save|-D|–save-dev|-O|–save-optional|–no-save]</nowiki>
|-
| version || Untuk melihat versi package yang tersedia secara global atau lokal || <nowiki>[<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [–preid=<prerelease-id>] | from-git]</nowiki>
|}


==Source==
==Source==
*[https://www.jagoanhosting.com/blog/npm-adalah/ jagoanhosting.com]
*[https://www.jagoanhosting.com/blog/npm-adalah/ jagoanhosting.com]
*[https://medium.com/javascript-indonesia-community/mengenal-pnpm-package-manager-d62caf9a643 medium.com]
*[https://www.dicoding.com/blog/node-package-manager/ dicoding.com]


[[Category:Software]]
[[Category:Software]]