Monorepo dengan PNPM workspace
Monorepo ?
Monorepo adalah satu repository dengan banyak projek atau package (library atau module), anda bisa memakai kembali kode sabagai package.
en.wikipedia.org/wiki/Monorepo punya penjelasan bagus untuk Monorepo termasuk keuntungan dan kerugian.
Monorepo dengan PNPM workspace
PNPM hanya perlu pnpm-workspace.yaml
pada repository root disamping package.json
, dengan array path ke directory dalam properti packages
.
CATATAN: apps/*
dan packages/*
adalah struktur monorepo yang sangat populer, dimanaapps/*
adalah proyek directory dan packages/*
adalah kode yang dapat digunakan kembali.
Yang anda butuhkan hanya membuat directory didalam daftar packages
, ganti directory, dan lakukan pnpm init
.
Daftar semua workspaces
Daftar semua workspaces dalam format JSON.
Perintah spesifik workspace
Menjalankan perintah pada spesifik workspace menggunakan --filter
dilanjutkan dengan name
pada package.json
.
CATATAN: PNPM menggunakan properti name
pada package.json
untuk menyaring workspace, jadi pastikan semua name
pada package.json
itu unik.
Menambah lokal dependency
Menambah lokal dependency menggunakan flag --workspace
untuk hanya tambahkan dependency baru jika ditemukan di workspace.
Contoh Projek
