- Lux, yang bertujuan membangun ekosistem yang cocok untuk Lua, adalah manajer paket baru untuk membuat, memelihara, dan mendistribusikan kode Lua
- Lux menyediakan CLI yang sederhana dan intuitif, terinspirasi dari manajer paket terkenal seperti
cargo
Fitur
- Portabilitas penuh antar sistem
- Dukungan build dan instalasi paralel 🚀
- Penanganan otomatis instalasi header Lua
- Dapat mengekspos API Lua melalui crate
lux-lib
- Manajemen proyek melalui file
lux.toml
- Pembuatan rockspec otomatis
- Dukungan lockfile yang kuat
- Build dan lingkungan pengembangan yang sepenuhnya reproducible
- Integrasi pemformatan kode dan linting
- Dukungan menjalankan pengujian melalui
busted
- Dapat menggunakan Neovim sebagai interpreter Lua
- Pengaturan lingkungan murni
- Kompatibel dengan ekosistem luarocks
Motivasi
Lua
- Luarocks memiliki sejarah 20 tahun sehingga kurang cocok untuk pengembangan Lua modern
- Lux bertujuan menjadi awal yang baru
- Menggunakan TOML sebagai format manifest utama untuk mengelola dependensi
- Dapat membangun dan menginstal proyek dari direktori proyek dengan perintah
build
- Memaksa kepatuhan terhadap SemVer
- Mendukung build paralel
Neovim
- Popularitas meningkat berkat dukungan Luarocks dari manajer plugin Neovim
rocks.nvim dan lazy.nvim
- Lux bersifat non-destruktif dan tidak mengganggu cara distribusi plugin Neovim
- Dengan flag
--nvim, paket dapat diinstal dalam struktur tree yang kompatibel dengan Neovim
Nix
- Jika plugin Neovim tersedia sebagai paket Luarocks,
nixpkgs akan menggunakannya
lux.lock milik Lux menyimpan sumber dan hash rockspec untuk setiap dependensi
Langkah berikutnya
- Fokus pada perbaikan bug dan peningkatan pesan kesalahan
rocks.nvim akan ditulis ulang berbasis Lux
- Jika penulisan ulang berhasil, dampaknya diperkirakan positif bagi ekosistem Neovim
Dokumentasi
- Tutorial dan panduan tersedia di situs dokumentasi web Lux
- Pertanyaan dan penyelesaian masalah dapat dilakukan melalui diskusi GitHub dan issue tracker
Lisensi
- Lux tersedia di bawah lisensi MIT
- Logo Lux tersedia di bawah lisensi CC BY-NC-SA 4.0
1 komentar
Komentar Hacker News