Paket dan dependensi
Tidak ada yang menulis seluruh aplikasi dari nol. Masalah-masalah umum yang sulit — memformat tanggal, menangani pembayaran, menampilkan kalender — sudah dipecahkan dan dikemas oleh orang lain. Sebuah paket () adalah potongan kode yang bisa digunakan ulang, yang kamu tarik ke dalam proyekmu alih-alih menulisnya sendiri. Dependensi (dependencies) proyekmu adalah daftar paket yang menjadi sandarannya.
Di dunia JavaScript, alat yang mengelola ini adalah npm (Node Package Manager). Dua file yang melakukan pencatatannya:
package.json— daftar yang bisa dibaca manusia tentang apa yang dibutuhkan proyekmu, ditambah perintah-perintah untuk menjalankannya. Kamu (atau AI) yang mengedit ini.- (
package-lock.jsonatau sejenisnya) — catatan yang tepat dan dihasilkan mesin dari setiap paket beserta versi persisnya, supaya aplikasi terbangun secara identik di mesinmu, mesin rekan timmu, dan di server. Kamu tidak mengeditnya dengan tangan; kamu membiarkan alatnya yang mengelola.
{
"name": "my-app",
"scripts": {
"dev": "next dev",
"build": "next build"
},
"dependencies": {
"next": "16.0.0",
"react": "19.0.0"
}
}
Kenapa ini penting? Ketika AI berkata "ayo tambahkan library untuk ini," ia sedang mengedit package.json dan kamu sedang mempercayai kode orang lain — lebih sedikit dependensi yang terkenal lebih aman daripada segunung dependensi yang asing. Dan ketika sebuah build tiba-tiba rusak tanpa sebab yang jelas, dependensi yang tidak cocok adalah tersangka biasa, di mana "hapus dan instal ulang paketnya" adalah solusi yang nyata dan umum.