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
.