NPM menambahkan Ruang Kerja untuk mengelola banyak paket

NPM 7.0.0, peningkatan ke pengelola paket JavaScript, akan dirilis dengan Node.js 15 minggu ini, disorot oleh Workspaces.

Workspaces adalah fitur yang telah lama diminta yang memberi NPM sekumpulan fitur untuk mengelola banyak paket dari dalam satu paket root level teratas. Mendorong penambahan kemampuan ini adalah keinginan untuk mengelola beberapa paket yang mungkin atau mungkin tidak digunakan bersama.

Juga di versi 7.0.0, NPM secara otomatis menginstal dependensi peer. Sebelumnya, pengembang harus mengelola ini sendiri. Algoritme dependensi peer baru memastikan bahwa dependensi peer yang cocok secara valid ditemukan di atau di atas lokasi dependen-peer di pohon node_modules. Perhatikan bahwa penginstalan otomatis dependensi peer berpotensi merusak alur kerja tertentu.

Kemampuan baru lainnya di NPM v7.0.0 meliputi:

  • Format kunci-paket baru akan mengaktifkan build yang dapat direproduksi secara deterministik dan memiliki apa yang dibutuhkan NPM untuk membangun pohon paket. CLI NPM sekarang dapat menggunakan yarn.lock sebagai sumber metadata paket dan panduan resolusi.
  • Sebuah refactoring internal NPM, dengan penekanan pada pemisahan perhatian. Perubahan internal dimaksudkan untuk memastikan bahwa basis kode NPM lebih dapat diandalkan dari waktu ke waktu dan lebih mudah dipelihara. Dengan pemfaktoran ulang ini, inspeksi dan pengelolaan pohon node_modules telah dipindahkan ke modul Arborist, misalnya. Pemfaktoran ulang diharapkan menghasilkan pengiriman pembaruan NPM yang lebih cepat.
  • Dalam perubahan yang dapat menyebabkan gangguan, keluaran dari npm audittelah berubah secara signifikan baik dalam --jsongaya yang dapat dibaca manusia maupun keluaran.

Untuk mencoba NPM v7.0.0 sekarang, pengembang dapat menginstalnya dengan menjalankan npm i -g [email protected]di terminal mereka. Dalam upaya untuk tidak merusak alur kerja NPM, NPM v7.0.0 akan diluncurkan seiring waktu. Ini tidak akan ditandai sebagai latest. Alur kerja tidak akan mendapatkan NPM v7.0.0 secara default kecuali pengguna ikut serta dengan menjalankan npm install -g [email protected]atau memasang Node.js 15.