- Lux ist ein neuer Paketmanager mit dem Ziel, ein für Lua geeignetes Ökosystem aufzubauen, und dient zur Erstellung, Wartung und Verteilung von Lua-Code
- Lux bietet eine einfache und intuitive CLI, inspiriert von bekannten Paketmanagern wie
cargo
Funktionen
- Vollständige Portabilität zwischen Systemen
- Unterstützung für parallele Builds und Installationen 🚀
- Automatische Handhabung der Installation von Lua-Headern
- Freigabe der Lua-API über das
lux-lib-Crate möglich
- Projektverwaltung über die Datei
lux.toml
- Automatische Generierung von rockspecs
- Robuste Unterstützung für Lockfiles
- Vollständig reproduzierbare Builds und Entwicklungsumgebungen
- Integration von Code-Formatierung und Linting
- Unterstützung für das Ausführen von Tests über
busted
- Neovim kann als Lua-Interpreter verwendet werden
- Reine Umgebungs-Konfiguration
- Kompatibel mit dem luarocks-Ökosystem
Motivation
Lua
- Luarocks blickt auf 20 Jahre Geschichte zurück und ist für die moderne Lua-Entwicklung nicht geeignet
- Lux zielt auf einen Neuanfang ab
- Verwendung von TOML als primäres Manifestformat für die Abhängigkeitsverwaltung
- Projekte können im Projektverzeichnis mit dem Befehl
build gebaut und installiert werden
- Erzwingt die Einhaltung von SemVer
- Unterstützung für parallele Builds
Neovim
- Zunehmende Popularität durch den Neovim-Plugin-Manager
rocks.nvim und die Luarocks-Unterstützung von lazy.nvim
- Lux ist nicht-destruktiv und greift nicht in die Verteilungsweise von Neovim-Plugins ein
- Mit dem Flag
--nvim können Pakete in einer mit Neovim kompatiblen Baumstruktur installiert werden
Nix
- Wenn Neovim-Plugins als Luarocks-Pakete vorliegen, werden sie in
nixpkgs verwendet
lux.lock von Lux speichert die Quelle und den rockspec-Hash jeder Abhängigkeit
Nächste Schritte
- Fokus auf Bugfixes und die Verbesserung von Fehlermeldungen
rocks.nvim soll auf Basis von Lux neu geschrieben werden
- Bei erfolgreicher Neuschreibung werden positive Auswirkungen auf das Neovim-Ökosystem erwartet
Dokumentation
- Tutorials und Leitfäden sind auf der Dokumentations-Website von Lux verfügbar
- Fragen und Probleme können über GitHub Discussions und den Issue-Tracker geklärt werden
Lizenz
- Lux wird unter der MIT-Lizenz bereitgestellt
- Das Lux-Logo wird unter der Lizenz CC BY-NC-SA 4.0 bereitgestellt
1 Kommentare
Hacker-News-Kommentare