- Lua’ya uygun bir ekosistem kurmayı hedefleyen Lux, Lua kodunun oluşturulması, bakımı ve dağıtımı için yeni bir paket yöneticisidir
- Lux,
cargo gibi iyi bilinen paket yöneticilerinden ilham alan basit ve sezgisel bir CLI sunar
Özellikler
- Sistemler arasında tam taşınabilirlik
- Paralel derleme ve kurulum desteği 🚀
- Lua header kurulumunun otomatik olarak ele alınması
lux-lib crate’i aracılığıyla Lua API’sini dışa açabilme
lux.toml dosyası üzerinden proje yönetimi
- Otomatik rockspec oluşturma
- Güçlü lockfile desteği
- Tamamen yeniden üretilebilir derlemeler ve geliştirme ortamları
- Kod biçimlendirme ve linting entegrasyonu
busted ile test çalıştırma desteği
- Neovim’i Lua yorumlayıcısı olarak kullanabilme
- Saf ortam yapılandırması
- luarocks ekosistemiyle uyumluluk
Motivasyon
Lua
- Luarocks 20 yıllık bir geçmişe sahip ve modern Lua geliştirme için uygun değil
- Lux yeni bir başlangıcı hedefliyor
- Bağımlılık yönetimi için ana manifest formatı olarak TOML kullanımı
- Proje dizininde
build komutuyla projeyi derleyip kurabilme
- SemVer uyumunun zorunlu tutulması
- Paralel derleme desteği
Neovim
- Neovim eklenti yöneticileri
rocks.nvim ve lazy.nvim için Luarocks desteği nedeniyle artan popülerlik
- Lux yıkıcı değildir ve Neovim eklentilerinin dağıtım biçimine müdahale etmez
--nvim bayrağıyla paketleri Neovim ile uyumlu bir ağaç yapısında kurabilme
Nix
- Neovim eklentileri Luarocks paketi olarak mevcutsa
nixpkgs bunları kullanır
- Lux’un
lux.lock dosyası her bağımlılığın kaynak ve rockspec hash’ini saklar
Sonraki adımlar
- Hata düzeltmeleri ve hata mesajlarını iyileştirmeye odaklanma
rocks.nvim Lux tabanlı olarak yeniden yazılacak
- Yeniden yazım başarılı olursa Neovim ekosisteminde olumlu bir etki bekleniyor
Belgeler
- Lux’un dokümantasyon sitesinde eğitimler ve kılavuzlar sunuluyor
- GitHub Discussions ve issue tracker üzerinden soru sormak ve sorun çözmek mümkün
Lisans
- Lux, MIT lisansı altında sunulmaktadır
- Lux logosu, CC BY-NC-SA 4.0 lisansı altında sunulmaktadır
1 yorum
Hacker News görüşleri