4 poin oleh GN⁺ 2025-03-26 | Belum ada komentar. | Bagikan ke WhatsApp
  • Komite Pengarah Teknis (TSC) Node.js secara resmi memutuskan melalui pemungutan suara untuk tidak lagi menyertakan dan mendistribusikan Corepack bersama Node.js
  • Perubahan ini akan berlaku mulai Node.js versi 25, sementara pada Node.js 24 dan sebelumnya Corepack akan tetap disediakan sebagai fitur eksperimental

Peran dan keterbatasan Corepack

  • Corepack adalah alat eksperimental yang diperkenalkan di Node.js 16.9.0, yang memungkinkan penggunaan package manager seperti Yarn dan pnpm tanpa instalasi terpisah
  • Alat ini membantu proyek memaksakan penggunaan versi package manager tertentu
  • Namun, alat ini tidak digunakan secara luas karena kurangnya pemahaman pengguna dan kesalahpahaman mengenai tujuannya
  • Ada skeptisisme terhadap penyertaan package manager yang seharusnya berjalan secara independen dari runtime ke dalam Node.js

Proses menuju penghapusan Corepack

  • Diskusi mengenai masa depan Corepack telah berlangsung selama beberapa tahun, dan pada November 2023 usulan untuk mengaktifkannya secara default memicu kontroversi
  • Pada Februari 2024, muncul kekhawatiran bahwa Corepack dapat digunakan sebagai sarana untuk memisahkan keterikatan antara npm dan Node.js
  • Pada Maret 2024, sambil menegaskan bahwa npm akan tetap disertakan dalam Node.js, kemungkinan penghapusan Corepack mulai mengemuka
  • TSC mendelegasikan keputusan terkait kepada Package Maintenance Working Group (PMWG)
  • PMWG mengajukan roadmap penghapusan sebagai berikut:
    • Menonjolkan alat manajemen versi seperti nvm dan fnm di halaman unduhan Node.js
    • Memisahkan dokumentasi Corepack dari dokumentasi API Node.js dan memindahkannya ke repositori terpisah
    • Menghapus Corepack dari distribusi Node.js mulai rilis mayor berikutnya
  • Roadmap ini mendapat dukungan kuat di dalam PMWG dan berlanjut ke pemungutan suara final

Alasan keputusan menghapus Corepack

  • Tingkat adopsi rendah: banyak pengembang memilih memasang dan menggunakan package manager favorit mereka secara langsung alih-alih memakai Corepack
  • Kekhawatiran terkait distribusi: ada pandangan bahwa memasukkan Corepack ke dalam biner Node.js itu sendiri tidak diperlukan
  • Masalah pemeliharaan jangka panjang: jika Corepack dipisahkan dari Node.js, package manager dapat berkembang dengan lebih mandiri
  • Hasil pemungutan suara menetapkan usulan untuk 'penghapusan bertahap ke depan'
  • Usulan lain (misalnya tetap membiarkannya nonaktif secara default) tidak memperoleh dukungan yang cukup
  • Sebagian pengembang menilai keputusan ini sebagai kemunduran karena mereka menggunakan Corepack alih-alih npm untuk memanfaatkan pnpm
  • Pihak Node.js menekankan bahwa Corepack sejak awal bukanlah fitur permanen, dan lebih baik dipelihara secara terpisah

Perubahan ke depan

  • Ke depannya, Corepack tidak akan lagi disertakan secara default dalam Node.js
  • Jika diperlukan, instalasi harus dilakukan secara manual dengan perintah berikut:
    • npm install -g corepack
  • Proyek yang menggunakan Corepack perlu memperbarui dokumentasi dan workflow mereka
  • Namun, keputusan ini tidak berarti penghentian dukungan untuk Corepack, melainkan hanya penghapusannya dari Node.js
  • Pemeliharaan Corepack akan terus berlanjut sampai Node.js 24.x mencapai EOL

Konteks historis Node.js dan package manager

  • Di masa lalu juga pernah ada perdebatan tentang komponen apa saja yang seharusnya disertakan dalam Node.js, termasuk soal apakah npm perlu dibundel
  • Munculnya package manager alternatif seperti Yarn dan pnpm telah menghadirkan lebih banyak pilihan
  • Penghapusan Corepack adalah bagian dari upaya membuat distribusi Node.js lebih ringkas
  • Ini juga sejalan dengan tren di ekosistem bahasa lain yang memisahkan runtime dan package manager
  • Pengembang perlu menyiapkan lingkungan pengembangan mereka dengan mempertimbangkan bahwa Corepack tidak akan lagi disertakan dalam Node.js di masa mendatang

Belum ada komentar.

Belum ada komentar.