Skip to content

Workspace

Detail tentang cara menggunakan Volta dalam lingkungan workspace, di mana ada beberapa proyek dalam satu repo dan semuanya ingin berbagi pengaturan Volta.

TIP

Fitur ini ditambahkan di Volta 0.8.2, tidak akan berfungsi pada versi sebelumnya.

Memperluas Konfigurasi

Dalam bagian "volta" di package.json, Anda dapat menentukan entri dengan kunci "extends". Nilai entri tersebut harus berupa jalur ke file JSON lain yang juga memiliki bagian "volta". Jalur relatif akan diselesaikan relatif terhadap file tempat mereka diatur. Pengaturan Volta apa pun (misalnya versi "node" atau "yarn") akan digabungkan dengan yang dari file yang ditunjuk oleh "extends", dengan prioritas diberikan ke file saat ini. Jadi jika Anda ingin memiliki satu versi Node untuk semua proyek Anda, Anda akan mengatur versi tersebut di root, dan kemudian setiap proyek hanya memerlukan "extends": "../path/to/root/package.json".

Contoh

Diberikan struktur folder dan konten package.json berikut:

.
├── package.json
└── packages
    ├── cli
    │   └── package.json
    └── utils
        └── package.json
  • package.json
json
{
  "volta": {
    "node": "12.16.1",
    "yarn": "1.22.4"
  }
}
  • packages/cli/package.json
json
{
  "volta": {
    "extends": "../../package.json"
  }
}
  • packages/utils/package.json
json
{
  "volta": {
    "extends": "../../package.json"
  }
}

Menjalankan node di mana saja di workspace akan membuat Anda menggunakan Node 12.16.1. Dan jika Anda memperbarui versi tersebut di package.json root, itu akan secara otomatis digunakan di semua proyek, tanpa harus menduplikasi pengaturan di setiap subproyek.

Memin Alat

Saat Anda menjalankan volta pin untuk memilih versi alat dalam workspace, Volta akan selalu menambahkan pengaturan tersebut ke package.json terdekat yang ditemukan. Jadi, dalam contoh di atas, jika Anda menjalankan volta pin node@14 dalam subproyek packages/utils, versi Node baru akan ditulis ke packages/utils/package.json dan hanya akan berlaku untuk subproyek utils, bukan untuk yang lain. Ini memungkinkan Anda untuk dengan mudah menyesuaikan versi alat berdasarkan per proyek.

Jika Anda ingin menggunakan volta pin untuk membuat perubahan pada konfigurasi root, pertama-tama cd ke root workspace dan kemudian jalankan volta pin dari sana.

Hook

Jika proyek Anda menggunakan hook proyek, Anda dapat menempatkannya di direktori .volta dalam subproyek atau di direktori .volta di root. Volta akan mencari hook di setiap lokasi yang ditunjuk oleh kunci "extends", sehingga pengaturan dapat disesuaikan di level mana pun yang diperlukan.

Biner Lokal Proyek

Selain mencari hook di setiap level, Volta juga akan melihat di setiap level untuk mendeteksi dependensi lokal proyek yang akan digunakan saat menjalankan alat pihak ketiga. Volta akan mencoba menemukannya di node_modules/.bin relatif terhadap setiap file yang dirujuk oleh "extends".

Released under the BSD 2-Clause License.