npm & package.json
Mengelola dependensi dengan npm, membaca package.json, semantic versioning, dan scripts.
npm: pengelola paket Node
npm (Node Package Manager) ikut ter-install bersama Node. Ia melakukan tiga hal: mengunduh paket milik orang lain dari registry (npmjs.com), mencatat paket apa saja yang proyekmu butuhkan, dan menjalankan script proyek. (Alternatif lain: pnpm dan yarn, dengan konsep serupa.)
Memulai proyek
mkdir toko-api && cd toko-api
npm init -y # membuat package.json dengan nilai default
package.json: kartu identitas proyek
{
"name": "toko-api",
"version": "1.0.0",
"description": "API toko online sederhana",
"type": "module",
"main": "server.js",
"scripts": {
"start": "node server.js",
"dev": "node --watch server.js",
"test": "node --test"
},
"dependencies": {
"express": "^5.1.0"
},
"devDependencies": {
"eslint": "^9.0.0"
},
"engines": { "node": ">=22" }
}
| Bidang | Fungsi |
|---|---|
name, version | Identitas paket (huruf kecil, tanpa spasi) |
type | "module" = berkas .js memakai ESM; default CommonJS |
main | Berkas utama saat paket di-require |
scripts | Perintah pintas: npm run dev, npm test, npm start |
dependencies | Paket yang dibutuhkan aplikasi saat berjalan |
devDependencies | Paket khusus pengembangan (tes, linter, formatter) |
engines | Versi Node yang didukung |
Menginstal paket
npm install express # tambah ke dependencies
npm install -D eslint # tambah ke devDependencies
npm install # pasang semua yang tercatat (setelah clone proyek)
npm uninstall express
npm update
npm outdated # paket mana yang punya versi lebih baru
Hasilnya: folder node_modules/ (isi paket — jangan di-commit, masukkan ke .gitignore) dan berkas package-lock.json (kunci versi persis agar semua orang memasang hal yang sama — commit berkas ini).
Semantic Versioning & tanda ^ dan ~
Versi berbentuk MAJOR.MINOR.PATCH:
| Penulisan | Arti | Contoh 5.1.0 |
|---|---|---|
5.1.0 | Persis versi itu | 5.1.0 saja |
^5.1.0 | Boleh naik MINOR & PATCH, MAJOR tetap | 5.1.0 sampai < 6.0.0 |
~5.1.0 | Hanya PATCH | 5.1.0 sampai < 5.2.0 |
Menjalankan scripts
npm start # script "start" (boleh tanpa kata run)
npm test # script "test"
npm run dev # script lain wajib memakai run
npx
npx nama-alat menjalankan paket tanpa memasangnya permanen, mis. npx create-vite.
Keamanan
- Cek kerentanan:
npm audit. - Pasang paket yang populer, terawat, dan kamu percayai; periksa jumlah unduhan dan tanggal rilis terakhir.
- Jangan pernah meng-commit
.envatau token npm.