- O Lux é um novo gerenciador de pacotes com o objetivo de construir um ecossistema adequado para Lua, voltado à criação, manutenção e distribuição de código Lua
- O Lux oferece uma CLI simples e intuitiva, inspirada em gerenciadores de pacotes bem conhecidos como
cargo
Recursos
- Portabilidade completa entre sistemas
- Suporte a builds e instalações em paralelo 🚀
- Tratamento automático da instalação de headers do Lua
- Possibilidade de expor a API do Lua por meio do crate
lux-lib
- Gerenciamento de projetos com o arquivo
lux.toml
- Geração automática de rockspec
- Suporte robusto a lockfile
- Builds e ambientes de desenvolvimento totalmente reproduzíveis
- Integração de formatação de código e linting
- Suporte à execução de testes com
busted
- Possibilidade de usar o Neovim como interpretador Lua
- Configuração de ambiente puro
- Compatibilidade com o ecossistema do luarocks
Motivação
Lua
- O Luarocks tem 20 anos de história e não é adequado ao desenvolvimento moderno em Lua
- O Lux busca um novo começo
- Usa TOML como formato principal de manifesto para gerenciamento de dependências
- Permite fazer build e instalar projetos a partir do diretório do projeto com o comando
build
- Impõe conformidade com SemVer
- Suporta builds em paralelo
Neovim
- Crescimento de popularidade devido ao suporte do Luarocks nos gerenciadores de plugins do Neovim
rocks.nvim e lazy.nvim
- O Lux é não destrutivo e não interfere na forma como plugins do Neovim são distribuídos
- Com a flag
--nvim, é possível instalar pacotes em uma estrutura de árvore compatível com o Neovim
Nix
- Quando plugins do Neovim existem como pacotes Luarocks, o
nixpkgs os utiliza
- O
lux.lock do Lux armazena a origem e o hash do rockspec de cada dependência
Próximos passos
- Foco em corrigir bugs e melhorar mensagens de erro
- Há planos para reescrever o
rocks.nvim com base no Lux
- Se a reescrita for bem-sucedida, espera-se um impacto positivo no ecossistema do Neovim
Documentação
- Tutoriais e guias estão disponíveis no site de documentação do Lux
- É possível tirar dúvidas e resolver problemas por meio das discussões no GitHub e do issue tracker
Licença
- O Lux é disponibilizado sob a licença MIT
- O logotipo do Lux é disponibilizado sob a licença CC BY-NC-SA 4.0
1 comentários
Comentários no Hacker News