Apa itu Yarn
Yarn adalah manajer paket yang cepat, andal, dan aman untuk JavaScript, dikembangkan dan dirilis oleh Facebook pada Oktober 2016. Yarn menyediakan alternatif untuk npm (Node Package Manager) dan menyelesaikan beberapa masalah yang dihadapi oleh pengembang dengan npm, terutama dalam hal kecepatan, keamanan, dan konsistensi.
Yarn mengelola dependensi proyek JavaScript Anda melalui file package.json. Ini menginstal, memperbarui, dan mengelola paket dari registri npm, serta memungkinkan Anda untuk menggunakan registri paket lain.
Memulai dengan Yarn
Menginstal Yarn
Sebelum Anda dapat mulai menggunakan Yarn, Anda perlu menginstalnya di sistem Anda. Jika Anda sudah menginstal npm, Anda dapat dengan mudah menginstal Yarn secara global dengan menggunakan perintah berikut:
$ npm install -g yarn
Perintah ini memberi tahu npm untuk menginstal Yarn secara global di sistem Anda, yang berarti itu akan dapat diakses dari direktori mana pun.
Setelah Anda menginstal Yarn, Anda dapat memverifikasi instalasi dan memeriksa versi dengan perintah berikut:
$ yarn --version
Perintah ini akan menampilkan versi Yarn yang saat ini terinstal di sistem Anda.
Membuat Proyek Baru dengan Yarn
Untuk membuat proyek baru dengan Yarn, pertama-tama navigasikan ke direktori tempat Anda ingin membuat proyek. Kemudian, gunakan perintah yarn init. Perintah ini akan membuat file package.json baru, yang digunakan untuk mengelola dependensi proyek Anda:
$ yarn init
Anda akan ditanya beberapa pertanyaan tentang proyek Anda (seperti nama, versi, deskripsi, titik masuk, dll.). Jika Anda tidak yakin tentang apa pun dari ini, aman untuk menekan enter dan menerima default.
Menambahkan Dependensi dengan Yarn
Untuk menambahkan dependensi ke proyek Anda, Anda dapat menggunakan perintah yarn add diikuti oleh nama paket. Misalnya, untuk menginstal paket express, Anda akan menjalankan:
$ yarn add express
Perintah ini menambahkan express ke file package.json Anda di bawah dependencies dan menginstal paket express di folder node_modules Anda. Jika Anda ingin menginstal versi tertentu dari paket, Anda dapat menentukan nomor versi seperti ini:
$ yarn add express@4.17.1
Jika Anda ingin menambahkan paket sebagai dependensi pengembangan (paket yang hanya diperlukan untuk pengembangan, seperti library pengujian), Anda dapat melakukannya dengan flag -D:
$ yarn add -D jest
Perintah ini menambahkan jest ke file package.json Anda di bawah devDependencies.
Menambahkan Dependensi secara Global
Untuk menginstal paket secara global di sistem Anda, gunakan kata kunci global dengan perintah yarn add.
$ yarn global add [package-name]
Memperbarui Paket
Untuk memperbarui paket, gunakan perintah yarn upgrade diikuti oleh nama paket.
$ yarn upgrade [package-name]
Menghapus Paket
Untuk menghapus paket dari proyek Anda, gunakan perintah yarn remove diikuti oleh nama paket.
$ yarn remove [package-name]
Menjalankan Skrip
Jika Anda memiliki skrip yang didefinisikan di file package.json Anda, Anda dapat menggunakan perintah yarn run diikuti oleh nama skrip untuk menjalankannya.
$ yarn run [script-name]
Berkas Yarn.lock
Berkas yarn.lock adalah komponen penting dari proyek yang dikelola dengan Yarn. Berkas ini, yang dihasilkan secara otomatis ketika dependensi ditambahkan, bertanggung jawab untuk memastikan konsistensi dalam instalasi paket di lingkungan yang berbeda.
Ketika Yarn menambahkan dependensi, ia menggunakan yarn.lock untuk mengunci versi pasti dari paket dan dependensinya. Ini berarti bahwa setiap instalasi akan identik, terlepas dari pembaruan minor atau patch yang dirilis untuk paket-paket tersebut setelah file kunci dibuat.
Pendekatan yang deterministik ini memastikan bahwa proyek berperilaku dengan cara yang sama di semua mesin, mengurangi masalah "tetapi berfungsi di mesin saya". Ini juga membantu dalam debugging masalah, karena pengembang dapat yakin mereka bekerja dengan versi paket yang sama.
Membaca Berkas Yarn.lock
Berkas yarn.lock adalah file teks yang memetakan nama dan versi paket ke versi terinstal yang tepat. Berikut adalah contoh dari apa yang mungkin Anda lihat:
commander@2.20.0:
version "2.20.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#57a4dd71ab0bf4b4bfcfc0511f1e8217c2076512"
integrity sha512-7j2y+40w61zy6YC2iRNpUe/N9+26Xzur40a6e34UgaJC2Qi2E7+bTwZdujJIq0G6tXJ+8UU/EgkWR7uXR4mErg==
Setiap paket di file yarn.lock memiliki blok seperti ini. Pada contoh ini, commander@2.20.0 adalah dependensi. Ini menunjukkan versi yang terinstal secara tepat (2.20.0), URL dari mana itu diunduh, dan hash SHA512 untuk pemeriksaan integritas.
Berkas yarn.lock harus di-commit ke sistem kontrol versi Anda (seperti Git) untuk memastikan bahwa pengembang lain pada proyek dan sistem penyebaran Anda menggunakan dependensi yang sama.
Untuk memperbarui berkas yarn.lock, Anda dapat menggunakan perintah yarn upgrade, yang memperbarui versi semua dependensi di file package.json sesuai dengan rentang versi yang ditentukan di dalamnya dan juga memperbarui berkas yarn.lock.