- Node.js Teknik Yürütme Komitesi (TSC), Corepack’i artık Node.js ile birlikte dağıtmama yönünde resmi oylamayla karar aldı
- Bu değişiklik Node.js 25 sürümünden itibaren geçerli olacak; Node.js 24 ve altı sürümlerde ise deneysel bir özellik olarak sunulmaya devam edecek
Corepack’in rolü ve sınırları
- Corepack, Node.js 16.9.0’da tanıtılan deneysel bir araç olarak, Yarn ve pnpm gibi paket yöneticilerinin ayrı kurulum gerektirmeden kullanılmasını sağlıyordu
- Projelerde belirli bir paket yöneticisi sürümünün zorunlu kılınmasına yardımcı oluyordu
- Ancak kullanıcı farkındalığının düşük olması ve amacının yanlış anlaşılması nedeniyle yaygın biçimde benimsenmedi
- Çalışma zamanından bağımsız işlemesi gereken paket yöneticilerinin Node.js’e dahil edilmesine yönelik şüphecilik de vardı
Corepack’in kaldırılmasına giden süreç
- Corepack’in geleceğine ilişkin tartışmalar yıllardır sürüyordu; 2023 Kasım’ında varsayılan olarak etkinleştirilmesi önerisi tartışma yarattı
- 2024 Şubat’ında, Corepack’in npm ile Node.js arasındaki bağı çözmek için bir araç olarak kullanılabileceğine dair endişeler dile getirildi
- 2024 Mart’ında, npm’in Node.js’e dahil edilmeye devam edeceği netleştirilirken Corepack’in kaldırılma ihtimali de gündeme geldi
- TSC, ilgili kararı Package Maintenance Working Group’a (PMWG) devretti
- PMWG, aşağıdaki kaldırma yol haritasını sundu:
- Node.js indirme sayfasında nvm ve fnm gibi sürüm yönetim araçlarını öne çıkarmak
- Corepack belgelerini Node.js API belgelerinden ayırıp ayrı bir depoya taşımak
- Bir sonraki büyük sürümden itibaren Corepack’i Node.js dağıtımından çıkarmak
- Bu yol haritası PMWG içinde güçlü destek aldı ve nihai oylamaya taşındı
Corepack’i kaldırma kararının nedenleri
- Düşük benimsenme oranı: Birçok geliştirici, Corepack yerine tercih ettiği paket yöneticisini doğrudan kurup kullanıyor
- Dağıtım kaygıları: Corepack’in Node.js ikili dosyasına dahil edilmesinin başlı başına gereksiz olduğu görüşü var
- Uzun vadeli bakım sorunu: Corepack Node.js’ten ayrılırsa, paket yöneticileri daha bağımsız biçimde gelişebilir
- Oylama sonucunda, “ileriye dönük kademeli kaldırma” önerisi kabul edildi
- Diğer öneriler (örneğin varsayılan olarak devre dışı bırakılmış halde tutulması) yeterli destek görmedi
- Bazı geliştiriciler, npm yerine Corepack üzerinden pnpm kullandıkları için bu kararı bir geri adım olarak değerlendiriyor
- Node.js tarafı, Corepack’in zaten hiçbir zaman kalıcı bir özellik olarak düşünülmediğini ve ayrı sürdürülmesinin daha uygun olduğunu vurguluyor
Bundan sonra ne değişecek
- İleride Node.js’te Corepack varsayılan olarak dahil edilmeyecek
- Gerektiğinde şu komutla elle kurulması gerekecek:
- Corepack kullanan projelerin belgelerini ve iş akışlarını güncellemesi gerekebilir
- Ancak bu karar, Corepack desteğinin sona erdiği anlamına gelmiyor; yalnızca Node.js’ten çıkarılacağı anlamına geliyor
- Node.js 24.x EOL olana kadar Corepack bakımı sürdürülecek
Node.js ve paket yöneticilerinin tarihsel bağlamı
- Geçmişte de Node.js’e nelerin dahil edilmesi gerektiği konusunda tartışmalar vardı; npm’in dahil edilip edilmemesi de bunlardan biriydi
- Yarn, pnpm ve benzeri alternatif paket yöneticilerinin ortaya çıkmasıyla farklı seçenekler oluştu
- Corepack’in kaldırılması, Node.js dağıtımını daha sade hale getirme yönündeki hareketin bir parçası
- Bu durum, çalışma zamanını ve paket yöneticilerini ayıran diğer dil ekosistemlerindeki eğilimle de örtüşüyor
- Geliştiricilerin, gelecekte Node.js’e Corepack’in dahil edilmeyeceğini dikkate alarak geliştirme ortamlarını hazırlaması gerekiyor
Henüz yorum yok.