.github/workflows | ||
.lune | ||
.vscode | ||
bins | ||
toolchainlib | ||
.gitignore | ||
.luaurc | ||
CHANGELOG.md | ||
LICENSE | ||
pesde.lock | ||
pesde.toml | ||
README.md |
pesde/tooling
Common Luau tooling packaged for pesde, for use within fully pesde-managed projects.
Tool | Available package |
---|---|
pesde/darklua |
|
pesde/luau_lsp |
|
pesde/mantle |
|
pesde/rojo |
|
pesde/selene |
|
pesde/argon |
|
pesde/asphalt |
|
pesde/blink |
|
pesde/stylua |
|
pesde/zap |
Prerequisites
To ensure proper functionality, please make sure you have the following dependencies installed:
- pesde: Version
^0.7.0
- lune: Version
^0.10.2
Usage
For example, to install stylua, a Lua code formatter, run:
pesde x pesde/stylua -- --version
# Or, install the tool into your project and have it accessible in PATH
pesde add --dev pesde/stylua --target lune
pesde install
stylua --version
Refer to the above table for a list of support tooling packages.
If a Luau tool you would like is not present here, please open an issue or submit a PR, following the format of one of the existing tools.
Contributing
Contributions are greatly appreciated! The codebase is separated into two parts - bins/
which contains individual tools packaged as binaries & toolchainlib/
which contains the core resolution implementation backing them. In general:
- We utilize pesde for package management. Run
pesde install
to install all dependencies. - Make sure any submitted code follows the styleguide; snake_case for directories / files, camelCase for variables, SCREAMING_SNAKE_CASE for constants, PascalCase for classes & types.
- Attempt to use
Result
andOption
types for any internal code when required, and handle their cases in the top-level entrypoint. - Format (
lune run fmt
) and typecheck (lune run typecheck
) your code. - Sufficiently test your code locally to make sure it functions as intended.
In case there is a new tool you would like to be package, please make sure there is an issue open first, with sufficient discussion in favor of adding it. Refer to existing tools in bins/
as boilerplate examples.
License
This project is licensed under the MIT license.