# pesde/tooling

Common Luau tooling packaged for pesde, for use within fully pesde-managed projects.

| Tool                                                          | Available package                       |
|---------------------------------------------------------------|:----------------------------------------|
| [`pesde/argon`](https://pesde.dev/packages/pesde/argon)       | ![ARGON_BADGE]                          |
| [`pesde/asphalt`](https://pesde.dev/packages/pesde/asphalt)   | ![ASPHALT_BADGE]                        |
| [`pesde/darklua`](https://pesde.dev/packages/pesde/darklua)   | ![DARKLUA_BADGE]                        |
| [`pesde/luau_lsp`](https://pesde.dev/packages/pesde/luau_lsp) | ![LUAU_LSP_BADGE]                       |
| [`pesde/mantle`](https://pesde.dev/packages/pesde/mantle)     | ![MANTLE_BADGE]                         |
| [`pesde/rojo`](https://pesde.dev/packages/pesde/rojo)         | ![ROJO_BADGE]                           |
| [`pesde/selene`](https://pesde.dev/packages/pesde/selene)     | ![SELENE_BADGE]                         |
| [`pesde/stylua`](https://pesde.dev/packages/pesde/stylua)     | ![STYLUA_BADGE]                         |
| [`pesde/zap`](https://pesde.dev/packages/pesde/zap)           | ![ZAP_BADGE]                            |

## Prerequisites

To ensure proper functionality, please make sure you have the following dependencies installed:

- **pesde**: Version `^0.7.0`
- **lune**: Version `^0.10.2`
- **tar**: Any version with `xz` support (only for some tools)

## Usage

For example, to install [stylua](https://github.com/JohnnyMorganz/stylua), a Lua code formatter, run:

```sh
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](https://github.com/pesde-pkg/tooling/blob/6771ab11dd084418402a354431c14aa7dc846192/toolchainlib/src/init.luau#L1-L8) backing them. In general:

- We utilize [pesde](https://pesde.dev) 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` and `Option` 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](https://github.com/pesde-pkg/tooling/blob/main/LICENSE) license.

[ARGON_BADGE]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpesde-pkg%2Ftooling%2Fmain%2Fbins%2Fargon%2Fpesde.toml&query=version&prefix=pesde%2Fargon%40&style=plastic&label=pesde&color=F19D1E&logo=data:image/svg%2bxml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OS42MDI1IDBMOTIuOTAzOCAyNVY3NUw0OS42MDI1IDEwMEw2LjMwMTI3IDc1VjI1TDQ5LjYwMjUgMFpNMTQuMzAxMyAyOS42MTg4TDQ5LjYwMjUgOS4yMzc2TDg0LjkwMzggMjkuNjE4OFY3MC4zODEyTDQ5LjYwMjUgOTAuNzYyNEwzMy42MTQ4IDgxLjUzMTlWNjcuMzg0OEMzNC41MTY3IDY4LjUwNzEgMzUuNjM4OCA2OS40MjE1IDM2Ljk4MSA3MC4xMjc5QzM4Ljk3MDEgNzEuMTQ4IDQxLjAzNTcgNzEuNjU4IDQzLjE3NzkgNzEuNjU4QzQ2LjQ0MiA3MS42NTggNDkuMTQ1MiA3MC44OTI5IDUxLjI4NzMgNjkuMzYyOUM1My40ODA1IDY3Ljc4MTggNTUuMTEyNiA2NS43NjcyIDU2LjE4MzYgNjMuMzE5QzU3LjA5MTUgNjEuMzM4MiA1Ny42MzIgNTkuMjc0IDU3LjgwNTQgNTcuMTI2M0M1OS44NzIzIDU3Ljc0NTcgNjIuMjE1NyA1OC4wNTU0IDY0LjgzNTYgNTguMDU1NEM2Ny42OTE4IDU4LjA1NTQgNzAuMzY5NSA1Ny42NDczIDcyLjg2ODYgNTYuODMxM0M3NS4zNjc4IDU1Ljk2NDIgNzcuNDA3OSA1NC44MTY3IDc4Ljk4OSA1My4zODg2TDc1Ljc3NTggNDcuODAzOEM3NC41NTE3IDQ4LjkyNTggNzIuOTk2MSA0OS44NDM5IDcxLjEwOSA1MC41NTc5QzY5LjIyMTkgNTEuMjIxIDY3LjIwNzMgNTEuNTUyNSA2NS4wNjUyIDUxLjU1MjVDNjEuMzkyOSA1MS41NTI1IDU4LjY2NDMgNTAuNjg1NCA1Ni44NzkyIDQ4Ljk1MTNDNTYuNzE5NSA0OC43OTYyIDU2LjU2NyA0OC42MzY1IDU2LjQyMTcgNDguNDcyQzU1LjYxMDIgNDcuNTUzOSA1NS4wMjExIDQ2LjQ4OTYgNTQuNjU0NiA0NS4yNzkxTDU0LjY0NDMgNDUuMjQ1Mkw1NC42NjkgNDUuMjc5MUg3OS4yMTg1VjQxLjk4OTRDNzkuMjE4NSAzOS4wMzEzIDc4LjU1NTUgMzYuMzUzNiA3Ny4yMjk0IDMzLjk1NjVDNzUuOTU0MyAzMS41NTkzIDc0LjA5MjcgMjkuNjQ2NyA3MS42NDQ1IDI4LjIxODZDNjkuMjQ3NCAyNi43Mzk1IDY2LjM2NTcgMjYgNjIuOTk5NSAyNkM1OS42ODQzIDI2IDU2LjgwMjcgMjYuNzM5NSA1NC4zNTQ1IDI4LjIxODZDNTEuOTA2NCAyOS42NDY3IDUwLjAxOTMgMzEuNTU5MyA0OC42OTMyIDMzLjk1NjVDNDcuNjc0MyAzNS43OTgzIDQ3LjA0NjkgMzcuODA1NyA0Ni44MTA4IDM5Ljk3ODhDNDUuNjg4OCAzOS43MjggNDQuNDc3OCAzOS42MDI2IDQzLjE3NzkgMzkuNjAyNkM0MS4wMzU3IDM5LjYwMjYgMzguOTcwMSA0MC4xMTI3IDM2Ljk4MSA0MS4xMzI3QzM1LjMxNjIgNDEuOTY1MSAzMy45OTAyIDQzLjE1NDkgMzMuMDAyOCA0NC43MDIzVjQwLjM2NzdIMjAuNjg1NVY0Ni4yNTg1SDI1LjgxMTNWNzcuMDI2NkwxNC4zMDEzIDcwLjM4MTJWMjkuNjE4OFpNNTUuMTk2MSAzNi4wOTg2QzU0LjY1MjggMzcuMTAxNSA1NC4zMzIxIDM4LjEyMTYgNTQuMjM0IDM5LjE1ODhINzEuNzk3NkM3MS43OTc2IDM4LjAzNjcgNzEuNDQwNSAzNi45NDAxIDcwLjcyNjUgMzUuODY5MUM3MC4wNjM0IDM0Ljc0NyA2OS4wNjg5IDMzLjgwMzUgNjcuNzQyOCAzMy4wMzg0QzY2LjQ2NzcgMzIuMjczNCA2NC44ODY3IDMxLjg5MDggNjIuOTk5NSAzMS44OTA4QzYxLjExMjQgMzEuODkwOCA1OS41MDU4IDMyLjI5ODkgNTguMTc5OCAzMy4xMTQ5QzU2LjkwNDcgMzMuODggNTUuOTEwMSAzNC44NzQ1IDU1LjE5NjEgMzYuMDk4NlpNNDkuNjQ1MSA1MS41NjkyQzQ5LjMwNzYgNTAuNjY0MSA0OC44MzgxIDQ5Ljg3MSA0OC4yMzY3IDQ5LjE4OThDNDguMDg4NSA0OS4wMjE5IDQ3LjkzMjMgNDguODYwOSA0Ny43NjgxIDQ4LjcwNjdDNDYuMDg1IDQ3LjA3NDYgNDQuMDQ0OSA0Ni4yNTg1IDQxLjY0NzggNDYuMjU4NUM0MC4xMTc3IDQ2LjI1ODUgMzguNjEzMSA0Ni41NjQ1IDM3LjEzNCA0Ny4xNzY2QzM1Ljg1OTQgNDcuNjc3MyAzNC42ODYzIDQ4LjU0MzggMzMuNjE0OCA0OS43NzU5VjYxLjQ3QzM0LjY4NjMgNjIuNjY2NCAzNS44NTk0IDYzLjUzNzggMzcuMTM0IDY0LjA4NEMzOC42MTMxIDY0LjY5NjEgNDAuMTE3NyA2NS4wMDIxIDQxLjY0NzggNjUuMDAyMUM0NC4wNDQ5IDY1LjAwMjEgNDYuMDg1IDY0LjE4NjEgNDcuNzY4MSA2Mi41NTRDNDkuNDUxMiA2MC45MjE5IDUwLjI5MjggNTguNjAxMiA1MC4yOTI4IDU1LjU5MjFDNTAuMjkyOCA1NC4wNjc5IDUwLjA3NjkgNTIuNzI3IDQ5LjY0NTEgNTEuNTY5MloiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KPC9zdmc+
[ASPHALT_BADGE]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpesde-pkg%2Ftooling%2Fmain%2Fbins%2Fasphalt%2Fpesde.toml&query=version&prefix=pesde%2Fasphalt%40&style=plastic&label=pesde&color=F19D1E&logo=data:image/svg%2bxml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OS42MDI1IDBMOTIuOTAzOCAyNVY3NUw0OS42MDI1IDEwMEw2LjMwMTI3IDc1VjI1TDQ5LjYwMjUgMFpNMTQuMzAxMyAyOS42MTg4TDQ5LjYwMjUgOS4yMzc2TDg0LjkwMzggMjkuNjE4OFY3MC4zODEyTDQ5LjYwMjUgOTAuNzYyNEwzMy42MTQ4IDgxLjUzMTlWNjcuMzg0OEMzNC41MTY3IDY4LjUwNzEgMzUuNjM4OCA2OS40MjE1IDM2Ljk4MSA3MC4xMjc5QzM4Ljk3MDEgNzEuMTQ4IDQxLjAzNTcgNzEuNjU4IDQzLjE3NzkgNzEuNjU4QzQ2LjQ0MiA3MS42NTggNDkuMTQ1MiA3MC44OTI5IDUxLjI4NzMgNjkuMzYyOUM1My40ODA1IDY3Ljc4MTggNTUuMTEyNiA2NS43NjcyIDU2LjE4MzYgNjMuMzE5QzU3LjA5MTUgNjEuMzM4MiA1Ny42MzIgNTkuMjc0IDU3LjgwNTQgNTcuMTI2M0M1OS44NzIzIDU3Ljc0NTcgNjIuMjE1NyA1OC4wNTU0IDY0LjgzNTYgNTguMDU1NEM2Ny42OTE4IDU4LjA1NTQgNzAuMzY5NSA1Ny42NDczIDcyLjg2ODYgNTYuODMxM0M3NS4zNjc4IDU1Ljk2NDIgNzcuNDA3OSA1NC44MTY3IDc4Ljk4OSA1My4zODg2TDc1Ljc3NTggNDcuODAzOEM3NC41NTE3IDQ4LjkyNTggNzIuOTk2MSA0OS44NDM5IDcxLjEwOSA1MC41NTc5QzY5LjIyMTkgNTEuMjIxIDY3LjIwNzMgNTEuNTUyNSA2NS4wNjUyIDUxLjU1MjVDNjEuMzkyOSA1MS41NTI1IDU4LjY2NDMgNTAuNjg1NCA1Ni44NzkyIDQ4Ljk1MTNDNTYuNzE5NSA0OC43OTYyIDU2LjU2NyA0OC42MzY1IDU2LjQyMTcgNDguNDcyQzU1LjYxMDIgNDcuNTUzOSA1NS4wMjExIDQ2LjQ4OTYgNTQuNjU0NiA0NS4yNzkxTDU0LjY0NDMgNDUuMjQ1Mkw1NC42NjkgNDUuMjc5MUg3OS4yMTg1VjQxLjk4OTRDNzkuMjE4NSAzOS4wMzEzIDc4LjU1NTUgMzYuMzUzNiA3Ny4yMjk0IDMzLjk1NjVDNzUuOTU0MyAzMS41NTkzIDc0LjA5MjcgMjkuNjQ2NyA3MS42NDQ1IDI4LjIxODZDNjkuMjQ3NCAyNi43Mzk1IDY2LjM2NTcgMjYgNjIuOTk5NSAyNkM1OS42ODQzIDI2IDU2LjgwMjcgMjYuNzM5NSA1NC4zNTQ1IDI4LjIxODZDNTEuOTA2NCAyOS42NDY3IDUwLjAxOTMgMzEuNTU5MyA0OC42OTMyIDMzLjk1NjVDNDcuNjc0MyAzNS43OTgzIDQ3LjA0NjkgMzcuODA1NyA0Ni44MTA4IDM5Ljk3ODhDNDUuNjg4OCAzOS43MjggNDQuNDc3OCAzOS42MDI2IDQzLjE3NzkgMzkuNjAyNkM0MS4wMzU3IDM5LjYwMjYgMzguOTcwMSA0MC4xMTI3IDM2Ljk4MSA0MS4xMzI3QzM1LjMxNjIgNDEuOTY1MSAzMy45OTAyIDQzLjE1NDkgMzMuMDAyOCA0NC43MDIzVjQwLjM2NzdIMjAuNjg1NVY0Ni4yNTg1SDI1LjgxMTNWNzcuMDI2NkwxNC4zMDEzIDcwLjM4MTJWMjkuNjE4OFpNNTUuMTk2MSAzNi4wOTg2QzU0LjY1MjggMzcuMTAxNSA1NC4zMzIxIDM4LjEyMTYgNTQuMjM0IDM5LjE1ODhINzEuNzk3NkM3MS43OTc2IDM4LjAzNjcgNzEuNDQwNSAzNi45NDAxIDcwLjcyNjUgMzUuODY5MUM3MC4wNjM0IDM0Ljc0NyA2OS4wNjg5IDMzLjgwMzUgNjcuNzQyOCAzMy4wMzg0QzY2LjQ2NzcgMzIuMjczNCA2NC44ODY3IDMxLjg5MDggNjIuOTk5NSAzMS44OTA4QzYxLjExMjQgMzEuODkwOCA1OS41MDU4IDMyLjI5ODkgNTguMTc5OCAzMy4xMTQ5QzU2LjkwNDcgMzMuODggNTUuOTEwMSAzNC44NzQ1IDU1LjE5NjEgMzYuMDk4NlpNNDkuNjQ1MSA1MS41NjkyQzQ5LjMwNzYgNTAuNjY0MSA0OC44MzgxIDQ5Ljg3MSA0OC4yMzY3IDQ5LjE4OThDNDguMDg4NSA0OS4wMjE5IDQ3LjkzMjMgNDguODYwOSA0Ny43NjgxIDQ4LjcwNjdDNDYuMDg1IDQ3LjA3NDYgNDQuMDQ0OSA0Ni4yNTg1IDQxLjY0NzggNDYuMjU4NUM0MC4xMTc3IDQ2LjI1ODUgMzguNjEzMSA0Ni41NjQ1IDM3LjEzNCA0Ny4xNzY2QzM1Ljg1OTQgNDcuNjc3MyAzNC42ODYzIDQ4LjU0MzggMzMuNjE0OCA0OS43NzU5VjYxLjQ3QzM0LjY4NjMgNjIuNjY2NCAzNS44NTk0IDYzLjUzNzggMzcuMTM0IDY0LjA4NEMzOC42MTMxIDY0LjY5NjEgNDAuMTE3NyA2NS4wMDIxIDQxLjY0NzggNjUuMDAyMUM0NC4wNDQ5IDY1LjAwMjEgNDYuMDg1IDY0LjE4NjEgNDcuNzY4MSA2Mi41NTRDNDkuNDUxMiA2MC45MjE5IDUwLjI5MjggNTguNjAxMiA1MC4yOTI4IDU1LjU5MjFDNTAuMjkyOCA1NC4wNjc5IDUwLjA3NjkgNTIuNzI3IDQ5LjY0NTEgNTEuNTY5MloiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KPC9zdmc+
[DARKLUA_BADGE]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpesde-pkg%2Ftooling%2Fmain%2Fbins%2Fdarklua%2Fpesde.toml&query=version&prefix=pesde%2Fdarklua%40&style=plastic&label=pesde&color=F19D1E&logo=data:image/svg%2bxml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OS42MDI1IDBMOTIuOTAzOCAyNVY3NUw0OS42MDI1IDEwMEw2LjMwMTI3IDc1VjI1TDQ5LjYwMjUgMFpNMTQuMzAxMyAyOS42MTg4TDQ5LjYwMjUgOS4yMzc2TDg0LjkwMzggMjkuNjE4OFY3MC4zODEyTDQ5LjYwMjUgOTAuNzYyNEwzMy42MTQ4IDgxLjUzMTlWNjcuMzg0OEMzNC41MTY3IDY4LjUwNzEgMzUuNjM4OCA2OS40MjE1IDM2Ljk4MSA3MC4xMjc5QzM4Ljk3MDEgNzEuMTQ4IDQxLjAzNTcgNzEuNjU4IDQzLjE3NzkgNzEuNjU4QzQ2LjQ0MiA3MS42NTggNDkuMTQ1MiA3MC44OTI5IDUxLjI4NzMgNjkuMzYyOUM1My40ODA1IDY3Ljc4MTggNTUuMTEyNiA2NS43NjcyIDU2LjE4MzYgNjMuMzE5QzU3LjA5MTUgNjEuMzM4MiA1Ny42MzIgNTkuMjc0IDU3LjgwNTQgNTcuMTI2M0M1OS44NzIzIDU3Ljc0NTcgNjIuMjE1NyA1OC4wNTU0IDY0LjgzNTYgNTguMDU1NEM2Ny42OTE4IDU4LjA1NTQgNzAuMzY5NSA1Ny42NDczIDcyLjg2ODYgNTYuODMxM0M3NS4zNjc4IDU1Ljk2NDIgNzcuNDA3OSA1NC44MTY3IDc4Ljk4OSA1My4zODg2TDc1Ljc3NTggNDcuODAzOEM3NC41NTE3IDQ4LjkyNTggNzIuOTk2MSA0OS44NDM5IDcxLjEwOSA1MC41NTc5QzY5LjIyMTkgNTEuMjIxIDY3LjIwNzMgNTEuNTUyNSA2NS4wNjUyIDUxLjU1MjVDNjEuMzkyOSA1MS41NTI1IDU4LjY2NDMgNTAuNjg1NCA1Ni44NzkyIDQ4Ljk1MTNDNTYuNzE5NSA0OC43OTYyIDU2LjU2NyA0OC42MzY1IDU2LjQyMTcgNDguNDcyQzU1LjYxMDIgNDcuNTUzOSA1NS4wMjExIDQ2LjQ4OTYgNTQuNjU0NiA0NS4yNzkxTDU0LjY0NDMgNDUuMjQ1Mkw1NC42NjkgNDUuMjc5MUg3OS4yMTg1VjQxLjk4OTRDNzkuMjE4NSAzOS4wMzEzIDc4LjU1NTUgMzYuMzUzNiA3Ny4yMjk0IDMzLjk1NjVDNzUuOTU0MyAzMS41NTkzIDc0LjA5MjcgMjkuNjQ2NyA3MS42NDQ1IDI4LjIxODZDNjkuMjQ3NCAyNi43Mzk1IDY2LjM2NTcgMjYgNjIuOTk5NSAyNkM1OS42ODQzIDI2IDU2LjgwMjcgMjYuNzM5NSA1NC4zNTQ1IDI4LjIxODZDNTEuOTA2NCAyOS42NDY3IDUwLjAxOTMgMzEuNTU5MyA0OC42OTMyIDMzLjk1NjVDNDcuNjc0MyAzNS43OTgzIDQ3LjA0NjkgMzcuODA1NyA0Ni44MTA4IDM5Ljk3ODhDNDUuNjg4OCAzOS43MjggNDQuNDc3OCAzOS42MDI2IDQzLjE3NzkgMzkuNjAyNkM0MS4wMzU3IDM5LjYwMjYgMzguOTcwMSA0MC4xMTI3IDM2Ljk4MSA0MS4xMzI3QzM1LjMxNjIgNDEuOTY1MSAzMy45OTAyIDQzLjE1NDkgMzMuMDAyOCA0NC43MDIzVjQwLjM2NzdIMjAuNjg1NVY0Ni4yNTg1SDI1LjgxMTNWNzcuMDI2NkwxNC4zMDEzIDcwLjM4MTJWMjkuNjE4OFpNNTUuMTk2MSAzNi4wOTg2QzU0LjY1MjggMzcuMTAxNSA1NC4zMzIxIDM4LjEyMTYgNTQuMjM0IDM5LjE1ODhINzEuNzk3NkM3MS43OTc2IDM4LjAzNjcgNzEuNDQwNSAzNi45NDAxIDcwLjcyNjUgMzUuODY5MUM3MC4wNjM0IDM0Ljc0NyA2OS4wNjg5IDMzLjgwMzUgNjcuNzQyOCAzMy4wMzg0QzY2LjQ2NzcgMzIuMjczNCA2NC44ODY3IDMxLjg5MDggNjIuOTk5NSAzMS44OTA4QzYxLjExMjQgMzEuODkwOCA1OS41MDU4IDMyLjI5ODkgNTguMTc5OCAzMy4xMTQ5QzU2LjkwNDcgMzMuODggNTUuOTEwMSAzNC44NzQ1IDU1LjE5NjEgMzYuMDk4NlpNNDkuNjQ1MSA1MS41NjkyQzQ5LjMwNzYgNTAuNjY0MSA0OC44MzgxIDQ5Ljg3MSA0OC4yMzY3IDQ5LjE4OThDNDguMDg4NSA0OS4wMjE5IDQ3LjkzMjMgNDguODYwOSA0Ny43NjgxIDQ4LjcwNjdDNDYuMDg1IDQ3LjA3NDYgNDQuMDQ0OSA0Ni4yNTg1IDQxLjY0NzggNDYuMjU4NUM0MC4xMTc3IDQ2LjI1ODUgMzguNjEzMSA0Ni41NjQ1IDM3LjEzNCA0Ny4xNzY2QzM1Ljg1OTQgNDcuNjc3MyAzNC42ODYzIDQ4LjU0MzggMzMuNjE0OCA0OS43NzU5VjYxLjQ3QzM0LjY4NjMgNjIuNjY2NCAzNS44NTk0IDYzLjUzNzggMzcuMTM0IDY0LjA4NEMzOC42MTMxIDY0LjY5NjEgNDAuMTE3NyA2NS4wMDIxIDQxLjY0NzggNjUuMDAyMUM0NC4wNDQ5IDY1LjAwMjEgNDYuMDg1IDY0LjE4NjEgNDcuNzY4MSA2Mi41NTRDNDkuNDUxMiA2MC45MjE5IDUwLjI5MjggNTguNjAxMiA1MC4yOTI4IDU1LjU5MjFDNTAuMjkyOCA1NC4wNjc5IDUwLjA3NjkgNTIuNzI3IDQ5LjY0NTEgNTEuNTY5MloiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KPC9zdmc+
[LUAU_LSP_BADGE]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpesde-pkg%2Ftooling%2Fmain%2Fbins%2Fluau_lsp%2Fpesde.toml&query=version&prefix=pesde%2Fluau_lsp%40&style=plastic&label=pesde&color=F19D1E&logo=data:image/svg%2bxml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OS42MDI1IDBMOTIuOTAzOCAyNVY3NUw0OS42MDI1IDEwMEw2LjMwMTI3IDc1VjI1TDQ5LjYwMjUgMFpNMTQuMzAxMyAyOS42MTg4TDQ5LjYwMjUgOS4yMzc2TDg0LjkwMzggMjkuNjE4OFY3MC4zODEyTDQ5LjYwMjUgOTAuNzYyNEwzMy42MTQ4IDgxLjUzMTlWNjcuMzg0OEMzNC41MTY3IDY4LjUwNzEgMzUuNjM4OCA2OS40MjE1IDM2Ljk4MSA3MC4xMjc5QzM4Ljk3MDEgNzEuMTQ4IDQxLjAzNTcgNzEuNjU4IDQzLjE3NzkgNzEuNjU4QzQ2LjQ0MiA3MS42NTggNDkuMTQ1MiA3MC44OTI5IDUxLjI4NzMgNjkuMzYyOUM1My40ODA1IDY3Ljc4MTggNTUuMTEyNiA2NS43NjcyIDU2LjE4MzYgNjMuMzE5QzU3LjA5MTUgNjEuMzM4MiA1Ny42MzIgNTkuMjc0IDU3LjgwNTQgNTcuMTI2M0M1OS44NzIzIDU3Ljc0NTcgNjIuMjE1NyA1OC4wNTU0IDY0LjgzNTYgNTguMDU1NEM2Ny42OTE4IDU4LjA1NTQgNzAuMzY5NSA1Ny42NDczIDcyLjg2ODYgNTYuODMxM0M3NS4zNjc4IDU1Ljk2NDIgNzcuNDA3OSA1NC44MTY3IDc4Ljk4OSA1My4zODg2TDc1Ljc3NTggNDcuODAzOEM3NC41NTE3IDQ4LjkyNTggNzIuOTk2MSA0OS44NDM5IDcxLjEwOSA1MC41NTc5QzY5LjIyMTkgNTEuMjIxIDY3LjIwNzMgNTEuNTUyNSA2NS4wNjUyIDUxLjU1MjVDNjEuMzkyOSA1MS41NTI1IDU4LjY2NDMgNTAuNjg1NCA1Ni44NzkyIDQ4Ljk1MTNDNTYuNzE5NSA0OC43OTYyIDU2LjU2NyA0OC42MzY1IDU2LjQyMTcgNDguNDcyQzU1LjYxMDIgNDcuNTUzOSA1NS4wMjExIDQ2LjQ4OTYgNTQuNjU0NiA0NS4yNzkxTDU0LjY0NDMgNDUuMjQ1Mkw1NC42NjkgNDUuMjc5MUg3OS4yMTg1VjQxLjk4OTRDNzkuMjE4NSAzOS4wMzEzIDc4LjU1NTUgMzYuMzUzNiA3Ny4yMjk0IDMzLjk1NjVDNzUuOTU0MyAzMS41NTkzIDc0LjA5MjcgMjkuNjQ2NyA3MS42NDQ1IDI4LjIxODZDNjkuMjQ3NCAyNi43Mzk1IDY2LjM2NTcgMjYgNjIuOTk5NSAyNkM1OS42ODQzIDI2IDU2LjgwMjcgMjYuNzM5NSA1NC4zNTQ1IDI4LjIxODZDNTEuOTA2NCAyOS42NDY3IDUwLjAxOTMgMzEuNTU5MyA0OC42OTMyIDMzLjk1NjVDNDcuNjc0MyAzNS43OTgzIDQ3LjA0NjkgMzcuODA1NyA0Ni44MTA4IDM5Ljk3ODhDNDUuNjg4OCAzOS43MjggNDQuNDc3OCAzOS42MDI2IDQzLjE3NzkgMzkuNjAyNkM0MS4wMzU3IDM5LjYwMjYgMzguOTcwMSA0MC4xMTI3IDM2Ljk4MSA0MS4xMzI3QzM1LjMxNjIgNDEuOTY1MSAzMy45OTAyIDQzLjE1NDkgMzMuMDAyOCA0NC43MDIzVjQwLjM2NzdIMjAuNjg1NVY0Ni4yNTg1SDI1LjgxMTNWNzcuMDI2NkwxNC4zMDEzIDcwLjM4MTJWMjkuNjE4OFpNNTUuMTk2MSAzNi4wOTg2QzU0LjY1MjggMzcuMTAxNSA1NC4zMzIxIDM4LjEyMTYgNTQuMjM0IDM5LjE1ODhINzEuNzk3NkM3MS43OTc2IDM4LjAzNjcgNzEuNDQwNSAzNi45NDAxIDcwLjcyNjUgMzUuODY5MUM3MC4wNjM0IDM0Ljc0NyA2OS4wNjg5IDMzLjgwMzUgNjcuNzQyOCAzMy4wMzg0QzY2LjQ2NzcgMzIuMjczNCA2NC44ODY3IDMxLjg5MDggNjIuOTk5NSAzMS44OTA4QzYxLjExMjQgMzEuODkwOCA1OS41MDU4IDMyLjI5ODkgNTguMTc5OCAzMy4xMTQ5QzU2LjkwNDcgMzMuODggNTUuOTEwMSAzNC44NzQ1IDU1LjE5NjEgMzYuMDk4NlpNNDkuNjQ1MSA1MS41NjkyQzQ5LjMwNzYgNTAuNjY0MSA0OC44MzgxIDQ5Ljg3MSA0OC4yMzY3IDQ5LjE4OThDNDguMDg4NSA0OS4wMjE5IDQ3LjkzMjMgNDguODYwOSA0Ny43NjgxIDQ4LjcwNjdDNDYuMDg1IDQ3LjA3NDYgNDQuMDQ0OSA0Ni4yNTg1IDQxLjY0NzggNDYuMjU4NUM0MC4xMTc3IDQ2LjI1ODUgMzguNjEzMSA0Ni41NjQ1IDM3LjEzNCA0Ny4xNzY2QzM1Ljg1OTQgNDcuNjc3MyAzNC42ODYzIDQ4LjU0MzggMzMuNjE0OCA0OS43NzU5VjYxLjQ3QzM0LjY4NjMgNjIuNjY2NCAzNS44NTk0IDYzLjUzNzggMzcuMTM0IDY0LjA4NEMzOC42MTMxIDY0LjY5NjEgNDAuMTE3NyA2NS4wMDIxIDQxLjY0NzggNjUuMDAyMUM0NC4wNDQ5IDY1LjAwMjEgNDYuMDg1IDY0LjE4NjEgNDcuNzY4MSA2Mi41NTRDNDkuNDUxMiA2MC45MjE5IDUwLjI5MjggNTguNjAxMiA1MC4yOTI4IDU1LjU5MjFDNTAuMjkyOCA1NC4wNjc5IDUwLjA3NjkgNTIuNzI3IDQ5LjY0NTEgNTEuNTY5MloiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KPC9zdmc+
[MANTLE_BADGE]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpesde-pkg%2Ftooling%2Fmain%2Fbins%2Fmantle%2Fpesde.toml&query=version&prefix=pesde%2Fmantle%40&style=plastic&label=pesde&color=F19D1E&logo=data:image/svg%2bxml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OS42MDI1IDBMOTIuOTAzOCAyNVY3NUw0OS42MDI1IDEwMEw2LjMwMTI3IDc1VjI1TDQ5LjYwMjUgMFpNMTQuMzAxMyAyOS42MTg4TDQ5LjYwMjUgOS4yMzc2TDg0LjkwMzggMjkuNjE4OFY3MC4zODEyTDQ5LjYwMjUgOTAuNzYyNEwzMy42MTQ4IDgxLjUzMTlWNjcuMzg0OEMzNC41MTY3IDY4LjUwNzEgMzUuNjM4OCA2OS40MjE1IDM2Ljk4MSA3MC4xMjc5QzM4Ljk3MDEgNzEuMTQ4IDQxLjAzNTcgNzEuNjU4IDQzLjE3NzkgNzEuNjU4QzQ2LjQ0MiA3MS42NTggNDkuMTQ1MiA3MC44OTI5IDUxLjI4NzMgNjkuMzYyOUM1My40ODA1IDY3Ljc4MTggNTUuMTEyNiA2NS43NjcyIDU2LjE4MzYgNjMuMzE5QzU3LjA5MTUgNjEuMzM4MiA1Ny42MzIgNTkuMjc0IDU3LjgwNTQgNTcuMTI2M0M1OS44NzIzIDU3Ljc0NTcgNjIuMjE1NyA1OC4wNTU0IDY0LjgzNTYgNTguMDU1NEM2Ny42OTE4IDU4LjA1NTQgNzAuMzY5NSA1Ny42NDczIDcyLjg2ODYgNTYuODMxM0M3NS4zNjc4IDU1Ljk2NDIgNzcuNDA3OSA1NC44MTY3IDc4Ljk4OSA1My4zODg2TDc1Ljc3NTggNDcuODAzOEM3NC41NTE3IDQ4LjkyNTggNzIuOTk2MSA0OS44NDM5IDcxLjEwOSA1MC41NTc5QzY5LjIyMTkgNTEuMjIxIDY3LjIwNzMgNTEuNTUyNSA2NS4wNjUyIDUxLjU1MjVDNjEuMzkyOSA1MS41NTI1IDU4LjY2NDMgNTAuNjg1NCA1Ni44NzkyIDQ4Ljk1MTNDNTYuNzE5NSA0OC43OTYyIDU2LjU2NyA0OC42MzY1IDU2LjQyMTcgNDguNDcyQzU1LjYxMDIgNDcuNTUzOSA1NS4wMjExIDQ2LjQ4OTYgNTQuNjU0NiA0NS4yNzkxTDU0LjY0NDMgNDUuMjQ1Mkw1NC42NjkgNDUuMjc5MUg3OS4yMTg1VjQxLjk4OTRDNzkuMjE4NSAzOS4wMzEzIDc4LjU1NTUgMzYuMzUzNiA3Ny4yMjk0IDMzLjk1NjVDNzUuOTU0MyAzMS41NTkzIDc0LjA5MjcgMjkuNjQ2NyA3MS42NDQ1IDI4LjIxODZDNjkuMjQ3NCAyNi43Mzk1IDY2LjM2NTcgMjYgNjIuOTk5NSAyNkM1OS42ODQzIDI2IDU2LjgwMjcgMjYuNzM5NSA1NC4zNTQ1IDI4LjIxODZDNTEuOTA2NCAyOS42NDY3IDUwLjAxOTMgMzEuNTU5MyA0OC42OTMyIDMzLjk1NjVDNDcuNjc0MyAzNS43OTgzIDQ3LjA0NjkgMzcuODA1NyA0Ni44MTA4IDM5Ljk3ODhDNDUuNjg4OCAzOS43MjggNDQuNDc3OCAzOS42MDI2IDQzLjE3NzkgMzkuNjAyNkM0MS4wMzU3IDM5LjYwMjYgMzguOTcwMSA0MC4xMTI3IDM2Ljk4MSA0MS4xMzI3QzM1LjMxNjIgNDEuOTY1MSAzMy45OTAyIDQzLjE1NDkgMzMuMDAyOCA0NC43MDIzVjQwLjM2NzdIMjAuNjg1NVY0Ni4yNTg1SDI1LjgxMTNWNzcuMDI2NkwxNC4zMDEzIDcwLjM4MTJWMjkuNjE4OFpNNTUuMTk2MSAzNi4wOTg2QzU0LjY1MjggMzcuMTAxNSA1NC4zMzIxIDM4LjEyMTYgNTQuMjM0IDM5LjE1ODhINzEuNzk3NkM3MS43OTc2IDM4LjAzNjcgNzEuNDQwNSAzNi45NDAxIDcwLjcyNjUgMzUuODY5MUM3MC4wNjM0IDM0Ljc0NyA2OS4wNjg5IDMzLjgwMzUgNjcuNzQyOCAzMy4wMzg0QzY2LjQ2NzcgMzIuMjczNCA2NC44ODY3IDMxLjg5MDggNjIuOTk5NSAzMS44OTA4QzYxLjExMjQgMzEuODkwOCA1OS41MDU4IDMyLjI5ODkgNTguMTc5OCAzMy4xMTQ5QzU2LjkwNDcgMzMuODggNTUuOTEwMSAzNC44NzQ1IDU1LjE5NjEgMzYuMDk4NlpNNDkuNjQ1MSA1MS41NjkyQzQ5LjMwNzYgNTAuNjY0MSA0OC44MzgxIDQ5Ljg3MSA0OC4yMzY3IDQ5LjE4OThDNDguMDg4NSA0OS4wMjE5IDQ3LjkzMjMgNDguODYwOSA0Ny43NjgxIDQ4LjcwNjdDNDYuMDg1IDQ3LjA3NDYgNDQuMDQ0OSA0Ni4yNTg1IDQxLjY0NzggNDYuMjU4NUM0MC4xMTc3IDQ2LjI1ODUgMzguNjEzMSA0Ni41NjQ1IDM3LjEzNCA0Ny4xNzY2QzM1Ljg1OTQgNDcuNjc3MyAzNC42ODYzIDQ4LjU0MzggMzMuNjE0OCA0OS43NzU5VjYxLjQ3QzM0LjY4NjMgNjIuNjY2NCAzNS44NTk0IDYzLjUzNzggMzcuMTM0IDY0LjA4NEMzOC42MTMxIDY0LjY5NjEgNDAuMTE3NyA2NS4wMDIxIDQxLjY0NzggNjUuMDAyMUM0NC4wNDQ5IDY1LjAwMjEgNDYuMDg1IDY0LjE4NjEgNDcuNzY4MSA2Mi41NTRDNDkuNDUxMiA2MC45MjE5IDUwLjI5MjggNTguNjAxMiA1MC4yOTI4IDU1LjU5MjFDNTAuMjkyOCA1NC4wNjc5IDUwLjA3NjkgNTIuNzI3IDQ5LjY0NTEgNTEuNTY5MloiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KPC9zdmc+
[ROJO_BADGE]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpesde-pkg%2Ftooling%2Fmain%2Fbins%2Frojo%2Fpesde.toml&query=version&prefix=pesde%2Frojo%40&style=plastic&label=pesde&color=F19D1E&logo=data:image/svg%2bxml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OS42MDI1IDBMOTIuOTAzOCAyNVY3NUw0OS42MDI1IDEwMEw2LjMwMTI3IDc1VjI1TDQ5LjYwMjUgMFpNMTQuMzAxMyAyOS42MTg4TDQ5LjYwMjUgOS4yMzc2TDg0LjkwMzggMjkuNjE4OFY3MC4zODEyTDQ5LjYwMjUgOTAuNzYyNEwzMy42MTQ4IDgxLjUzMTlWNjcuMzg0OEMzNC41MTY3IDY4LjUwNzEgMzUuNjM4OCA2OS40MjE1IDM2Ljk4MSA3MC4xMjc5QzM4Ljk3MDEgNzEuMTQ4IDQxLjAzNTcgNzEuNjU4IDQzLjE3NzkgNzEuNjU4QzQ2LjQ0MiA3MS42NTggNDkuMTQ1MiA3MC44OTI5IDUxLjI4NzMgNjkuMzYyOUM1My40ODA1IDY3Ljc4MTggNTUuMTEyNiA2NS43NjcyIDU2LjE4MzYgNjMuMzE5QzU3LjA5MTUgNjEuMzM4MiA1Ny42MzIgNTkuMjc0IDU3LjgwNTQgNTcuMTI2M0M1OS44NzIzIDU3Ljc0NTcgNjIuMjE1NyA1OC4wNTU0IDY0LjgzNTYgNTguMDU1NEM2Ny42OTE4IDU4LjA1NTQgNzAuMzY5NSA1Ny42NDczIDcyLjg2ODYgNTYuODMxM0M3NS4zNjc4IDU1Ljk2NDIgNzcuNDA3OSA1NC44MTY3IDc4Ljk4OSA1My4zODg2TDc1Ljc3NTggNDcuODAzOEM3NC41NTE3IDQ4LjkyNTggNzIuOTk2MSA0OS44NDM5IDcxLjEwOSA1MC41NTc5QzY5LjIyMTkgNTEuMjIxIDY3LjIwNzMgNTEuNTUyNSA2NS4wNjUyIDUxLjU1MjVDNjEuMzkyOSA1MS41NTI1IDU4LjY2NDMgNTAuNjg1NCA1Ni44NzkyIDQ4Ljk1MTNDNTYuNzE5NSA0OC43OTYyIDU2LjU2NyA0OC42MzY1IDU2LjQyMTcgNDguNDcyQzU1LjYxMDIgNDcuNTUzOSA1NS4wMjExIDQ2LjQ4OTYgNTQuNjU0NiA0NS4yNzkxTDU0LjY0NDMgNDUuMjQ1Mkw1NC42NjkgNDUuMjc5MUg3OS4yMTg1VjQxLjk4OTRDNzkuMjE4NSAzOS4wMzEzIDc4LjU1NTUgMzYuMzUzNiA3Ny4yMjk0IDMzLjk1NjVDNzUuOTU0MyAzMS41NTkzIDc0LjA5MjcgMjkuNjQ2NyA3MS42NDQ1IDI4LjIxODZDNjkuMjQ3NCAyNi43Mzk1IDY2LjM2NTcgMjYgNjIuOTk5NSAyNkM1OS42ODQzIDI2IDU2LjgwMjcgMjYuNzM5NSA1NC4zNTQ1IDI4LjIxODZDNTEuOTA2NCAyOS42NDY3IDUwLjAxOTMgMzEuNTU5MyA0OC42OTMyIDMzLjk1NjVDNDcuNjc0MyAzNS43OTgzIDQ3LjA0NjkgMzcuODA1NyA0Ni44MTA4IDM5Ljk3ODhDNDUuNjg4OCAzOS43MjggNDQuNDc3OCAzOS42MDI2IDQzLjE3NzkgMzkuNjAyNkM0MS4wMzU3IDM5LjYwMjYgMzguOTcwMSA0MC4xMTI3IDM2Ljk4MSA0MS4xMzI3QzM1LjMxNjIgNDEuOTY1MSAzMy45OTAyIDQzLjE1NDkgMzMuMDAyOCA0NC43MDIzVjQwLjM2NzdIMjAuNjg1NVY0Ni4yNTg1SDI1LjgxMTNWNzcuMDI2NkwxNC4zMDEzIDcwLjM4MTJWMjkuNjE4OFpNNTUuMTk2MSAzNi4wOTg2QzU0LjY1MjggMzcuMTAxNSA1NC4zMzIxIDM4LjEyMTYgNTQuMjM0IDM5LjE1ODhINzEuNzk3NkM3MS43OTc2IDM4LjAzNjcgNzEuNDQwNSAzNi45NDAxIDcwLjcyNjUgMzUuODY5MUM3MC4wNjM0IDM0Ljc0NyA2OS4wNjg5IDMzLjgwMzUgNjcuNzQyOCAzMy4wMzg0QzY2LjQ2NzcgMzIuMjczNCA2NC44ODY3IDMxLjg5MDggNjIuOTk5NSAzMS44OTA4QzYxLjExMjQgMzEuODkwOCA1OS41MDU4IDMyLjI5ODkgNTguMTc5OCAzMy4xMTQ5QzU2LjkwNDcgMzMuODggNTUuOTEwMSAzNC44NzQ1IDU1LjE5NjEgMzYuMDk4NlpNNDkuNjQ1MSA1MS41NjkyQzQ5LjMwNzYgNTAuNjY0MSA0OC44MzgxIDQ5Ljg3MSA0OC4yMzY3IDQ5LjE4OThDNDguMDg4NSA0OS4wMjE5IDQ3LjkzMjMgNDguODYwOSA0Ny43NjgxIDQ4LjcwNjdDNDYuMDg1IDQ3LjA3NDYgNDQuMDQ0OSA0Ni4yNTg1IDQxLjY0NzggNDYuMjU4NUM0MC4xMTc3IDQ2LjI1ODUgMzguNjEzMSA0Ni41NjQ1IDM3LjEzNCA0Ny4xNzY2QzM1Ljg1OTQgNDcuNjc3MyAzNC42ODYzIDQ4LjU0MzggMzMuNjE0OCA0OS43NzU5VjYxLjQ3QzM0LjY4NjMgNjIuNjY2NCAzNS44NTk0IDYzLjUzNzggMzcuMTM0IDY0LjA4NEMzOC42MTMxIDY0LjY5NjEgNDAuMTE3NyA2NS4wMDIxIDQxLjY0NzggNjUuMDAyMUM0NC4wNDQ5IDY1LjAwMjEgNDYuMDg1IDY0LjE4NjEgNDcuNzY4MSA2Mi41NTRDNDkuNDUxMiA2MC45MjE5IDUwLjI5MjggNTguNjAxMiA1MC4yOTI4IDU1LjU5MjFDNTAuMjkyOCA1NC4wNjc5IDUwLjA3NjkgNTIuNzI3IDQ5LjY0NTEgNTEuNTY5MloiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KPC9zdmc+
[SELENE_BADGE]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpesde-pkg%2Ftooling%2Fmain%2Fbins%2Fselene%2Fpesde.toml&query=version&prefix=pesde%2Fselene%40&style=plastic&label=pesde&color=F19D1E&logo=data:image/svg%2bxml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OS42MDI1IDBMOTIuOTAzOCAyNVY3NUw0OS42MDI1IDEwMEw2LjMwMTI3IDc1VjI1TDQ5LjYwMjUgMFpNMTQuMzAxMyAyOS42MTg4TDQ5LjYwMjUgOS4yMzc2TDg0LjkwMzggMjkuNjE4OFY3MC4zODEyTDQ5LjYwMjUgOTAuNzYyNEwzMy42MTQ4IDgxLjUzMTlWNjcuMzg0OEMzNC41MTY3IDY4LjUwNzEgMzUuNjM4OCA2OS40MjE1IDM2Ljk4MSA3MC4xMjc5QzM4Ljk3MDEgNzEuMTQ4IDQxLjAzNTcgNzEuNjU4IDQzLjE3NzkgNzEuNjU4QzQ2LjQ0MiA3MS42NTggNDkuMTQ1MiA3MC44OTI5IDUxLjI4NzMgNjkuMzYyOUM1My40ODA1IDY3Ljc4MTggNTUuMTEyNiA2NS43NjcyIDU2LjE4MzYgNjMuMzE5QzU3LjA5MTUgNjEuMzM4MiA1Ny42MzIgNTkuMjc0IDU3LjgwNTQgNTcuMTI2M0M1OS44NzIzIDU3Ljc0NTcgNjIuMjE1NyA1OC4wNTU0IDY0LjgzNTYgNTguMDU1NEM2Ny42OTE4IDU4LjA1NTQgNzAuMzY5NSA1Ny42NDczIDcyLjg2ODYgNTYuODMxM0M3NS4zNjc4IDU1Ljk2NDIgNzcuNDA3OSA1NC44MTY3IDc4Ljk4OSA1My4zODg2TDc1Ljc3NTggNDcuODAzOEM3NC41NTE3IDQ4LjkyNTggNzIuOTk2MSA0OS44NDM5IDcxLjEwOSA1MC41NTc5QzY5LjIyMTkgNTEuMjIxIDY3LjIwNzMgNTEuNTUyNSA2NS4wNjUyIDUxLjU1MjVDNjEuMzkyOSA1MS41NTI1IDU4LjY2NDMgNTAuNjg1NCA1Ni44NzkyIDQ4Ljk1MTNDNTYuNzE5NSA0OC43OTYyIDU2LjU2NyA0OC42MzY1IDU2LjQyMTcgNDguNDcyQzU1LjYxMDIgNDcuNTUzOSA1NS4wMjExIDQ2LjQ4OTYgNTQuNjU0NiA0NS4yNzkxTDU0LjY0NDMgNDUuMjQ1Mkw1NC42NjkgNDUuMjc5MUg3OS4yMTg1VjQxLjk4OTRDNzkuMjE4NSAzOS4wMzEzIDc4LjU1NTUgMzYuMzUzNiA3Ny4yMjk0IDMzLjk1NjVDNzUuOTU0MyAzMS41NTkzIDc0LjA5MjcgMjkuNjQ2NyA3MS42NDQ1IDI4LjIxODZDNjkuMjQ3NCAyNi43Mzk1IDY2LjM2NTcgMjYgNjIuOTk5NSAyNkM1OS42ODQzIDI2IDU2LjgwMjcgMjYuNzM5NSA1NC4zNTQ1IDI4LjIxODZDNTEuOTA2NCAyOS42NDY3IDUwLjAxOTMgMzEuNTU5MyA0OC42OTMyIDMzLjk1NjVDNDcuNjc0MyAzNS43OTgzIDQ3LjA0NjkgMzcuODA1NyA0Ni44MTA4IDM5Ljk3ODhDNDUuNjg4OCAzOS43MjggNDQuNDc3OCAzOS42MDI2IDQzLjE3NzkgMzkuNjAyNkM0MS4wMzU3IDM5LjYwMjYgMzguOTcwMSA0MC4xMTI3IDM2Ljk4MSA0MS4xMzI3QzM1LjMxNjIgNDEuOTY1MSAzMy45OTAyIDQzLjE1NDkgMzMuMDAyOCA0NC43MDIzVjQwLjM2NzdIMjAuNjg1NVY0Ni4yNTg1SDI1LjgxMTNWNzcuMDI2NkwxNC4zMDEzIDcwLjM4MTJWMjkuNjE4OFpNNTUuMTk2MSAzNi4wOTg2QzU0LjY1MjggMzcuMTAxNSA1NC4zMzIxIDM4LjEyMTYgNTQuMjM0IDM5LjE1ODhINzEuNzk3NkM3MS43OTc2IDM4LjAzNjcgNzEuNDQwNSAzNi45NDAxIDcwLjcyNjUgMzUuODY5MUM3MC4wNjM0IDM0Ljc0NyA2OS4wNjg5IDMzLjgwMzUgNjcuNzQyOCAzMy4wMzg0QzY2LjQ2NzcgMzIuMjczNCA2NC44ODY3IDMxLjg5MDggNjIuOTk5NSAzMS44OTA4QzYxLjExMjQgMzEuODkwOCA1OS41MDU4IDMyLjI5ODkgNTguMTc5OCAzMy4xMTQ5QzU2LjkwNDcgMzMuODggNTUuOTEwMSAzNC44NzQ1IDU1LjE5NjEgMzYuMDk4NlpNNDkuNjQ1MSA1MS41NjkyQzQ5LjMwNzYgNTAuNjY0MSA0OC44MzgxIDQ5Ljg3MSA0OC4yMzY3IDQ5LjE4OThDNDguMDg4NSA0OS4wMjE5IDQ3LjkzMjMgNDguODYwOSA0Ny43NjgxIDQ4LjcwNjdDNDYuMDg1IDQ3LjA3NDYgNDQuMDQ0OSA0Ni4yNTg1IDQxLjY0NzggNDYuMjU4NUM0MC4xMTc3IDQ2LjI1ODUgMzguNjEzMSA0Ni41NjQ1IDM3LjEzNCA0Ny4xNzY2QzM1Ljg1OTQgNDcuNjc3MyAzNC42ODYzIDQ4LjU0MzggMzMuNjE0OCA0OS43NzU5VjYxLjQ3QzM0LjY4NjMgNjIuNjY2NCAzNS44NTk0IDYzLjUzNzggMzcuMTM0IDY0LjA4NEMzOC42MTMxIDY0LjY5NjEgNDAuMTE3NyA2NS4wMDIxIDQxLjY0NzggNjUuMDAyMUM0NC4wNDQ5IDY1LjAwMjEgNDYuMDg1IDY0LjE4NjEgNDcuNzY4MSA2Mi41NTRDNDkuNDUxMiA2MC45MjE5IDUwLjI5MjggNTguNjAxMiA1MC4yOTI4IDU1LjU5MjFDNTAuMjkyOCA1NC4wNjc5IDUwLjA3NjkgNTIuNzI3IDQ5LjY0NTEgNTEuNTY5MloiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KPC9zdmc+
[STYLUA_BADGE]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpesde-pkg%2Ftooling%2Fmain%2Fbins%2Fstylua%2Fpesde.toml&query=version&prefix=pesde%2Fstylua%40&style=plastic&label=pesde&color=F19D1E&logo=data:image/svg%2bxml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OS42MDI1IDBMOTIuOTAzOCAyNVY3NUw0OS42MDI1IDEwMEw2LjMwMTI3IDc1VjI1TDQ5LjYwMjUgMFpNMTQuMzAxMyAyOS42MTg4TDQ5LjYwMjUgOS4yMzc2TDg0LjkwMzggMjkuNjE4OFY3MC4zODEyTDQ5LjYwMjUgOTAuNzYyNEwzMy42MTQ4IDgxLjUzMTlWNjcuMzg0OEMzNC41MTY3IDY4LjUwNzEgMzUuNjM4OCA2OS40MjE1IDM2Ljk4MSA3MC4xMjc5QzM4Ljk3MDEgNzEuMTQ4IDQxLjAzNTcgNzEuNjU4IDQzLjE3NzkgNzEuNjU4QzQ2LjQ0MiA3MS42NTggNDkuMTQ1MiA3MC44OTI5IDUxLjI4NzMgNjkuMzYyOUM1My40ODA1IDY3Ljc4MTggNTUuMTEyNiA2NS43NjcyIDU2LjE4MzYgNjMuMzE5QzU3LjA5MTUgNjEuMzM4MiA1Ny42MzIgNTkuMjc0IDU3LjgwNTQgNTcuMTI2M0M1OS44NzIzIDU3Ljc0NTcgNjIuMjE1NyA1OC4wNTU0IDY0LjgzNTYgNTguMDU1NEM2Ny42OTE4IDU4LjA1NTQgNzAuMzY5NSA1Ny42NDczIDcyLjg2ODYgNTYuODMxM0M3NS4zNjc4IDU1Ljk2NDIgNzcuNDA3OSA1NC44MTY3IDc4Ljk4OSA1My4zODg2TDc1Ljc3NTggNDcuODAzOEM3NC41NTE3IDQ4LjkyNTggNzIuOTk2MSA0OS44NDM5IDcxLjEwOSA1MC41NTc5QzY5LjIyMTkgNTEuMjIxIDY3LjIwNzMgNTEuNTUyNSA2NS4wNjUyIDUxLjU1MjVDNjEuMzkyOSA1MS41NTI1IDU4LjY2NDMgNTAuNjg1NCA1Ni44NzkyIDQ4Ljk1MTNDNTYuNzE5NSA0OC43OTYyIDU2LjU2NyA0OC42MzY1IDU2LjQyMTcgNDguNDcyQzU1LjYxMDIgNDcuNTUzOSA1NS4wMjExIDQ2LjQ4OTYgNTQuNjU0NiA0NS4yNzkxTDU0LjY0NDMgNDUuMjQ1Mkw1NC42NjkgNDUuMjc5MUg3OS4yMTg1VjQxLjk4OTRDNzkuMjE4NSAzOS4wMzEzIDc4LjU1NTUgMzYuMzUzNiA3Ny4yMjk0IDMzLjk1NjVDNzUuOTU0MyAzMS41NTkzIDc0LjA5MjcgMjkuNjQ2NyA3MS42NDQ1IDI4LjIxODZDNjkuMjQ3NCAyNi43Mzk1IDY2LjM2NTcgMjYgNjIuOTk5NSAyNkM1OS42ODQzIDI2IDU2LjgwMjcgMjYuNzM5NSA1NC4zNTQ1IDI4LjIxODZDNTEuOTA2NCAyOS42NDY3IDUwLjAxOTMgMzEuNTU5MyA0OC42OTMyIDMzLjk1NjVDNDcuNjc0MyAzNS43OTgzIDQ3LjA0NjkgMzcuODA1NyA0Ni44MTA4IDM5Ljk3ODhDNDUuNjg4OCAzOS43MjggNDQuNDc3OCAzOS42MDI2IDQzLjE3NzkgMzkuNjAyNkM0MS4wMzU3IDM5LjYwMjYgMzguOTcwMSA0MC4xMTI3IDM2Ljk4MSA0MS4xMzI3QzM1LjMxNjIgNDEuOTY1MSAzMy45OTAyIDQzLjE1NDkgMzMuMDAyOCA0NC43MDIzVjQwLjM2NzdIMjAuNjg1NVY0Ni4yNTg1SDI1LjgxMTNWNzcuMDI2NkwxNC4zMDEzIDcwLjM4MTJWMjkuNjE4OFpNNTUuMTk2MSAzNi4wOTg2QzU0LjY1MjggMzcuMTAxNSA1NC4zMzIxIDM4LjEyMTYgNTQuMjM0IDM5LjE1ODhINzEuNzk3NkM3MS43OTc2IDM4LjAzNjcgNzEuNDQwNSAzNi45NDAxIDcwLjcyNjUgMzUuODY5MUM3MC4wNjM0IDM0Ljc0NyA2OS4wNjg5IDMzLjgwMzUgNjcuNzQyOCAzMy4wMzg0QzY2LjQ2NzcgMzIuMjczNCA2NC44ODY3IDMxLjg5MDggNjIuOTk5NSAzMS44OTA4QzYxLjExMjQgMzEuODkwOCA1OS41MDU4IDMyLjI5ODkgNTguMTc5OCAzMy4xMTQ5QzU2LjkwNDcgMzMuODggNTUuOTEwMSAzNC44NzQ1IDU1LjE5NjEgMzYuMDk4NlpNNDkuNjQ1MSA1MS41NjkyQzQ5LjMwNzYgNTAuNjY0MSA0OC44MzgxIDQ5Ljg3MSA0OC4yMzY3IDQ5LjE4OThDNDguMDg4NSA0OS4wMjE5IDQ3LjkzMjMgNDguODYwOSA0Ny43NjgxIDQ4LjcwNjdDNDYuMDg1IDQ3LjA3NDYgNDQuMDQ0OSA0Ni4yNTg1IDQxLjY0NzggNDYuMjU4NUM0MC4xMTc3IDQ2LjI1ODUgMzguNjEzMSA0Ni41NjQ1IDM3LjEzNCA0Ny4xNzY2QzM1Ljg1OTQgNDcuNjc3MyAzNC42ODYzIDQ4LjU0MzggMzMuNjE0OCA0OS43NzU5VjYxLjQ3QzM0LjY4NjMgNjIuNjY2NCAzNS44NTk0IDYzLjUzNzggMzcuMTM0IDY0LjA4NEMzOC42MTMxIDY0LjY5NjEgNDAuMTE3NyA2NS4wMDIxIDQxLjY0NzggNjUuMDAyMUM0NC4wNDQ5IDY1LjAwMjEgNDYuMDg1IDY0LjE4NjEgNDcuNzY4MSA2Mi41NTRDNDkuNDUxMiA2MC45MjE5IDUwLjI5MjggNTguNjAxMiA1MC4yOTI4IDU1LjU5MjFDNTAuMjkyOCA1NC4wNjc5IDUwLjA3NjkgNTIuNzI3IDQ5LjY0NTEgNTEuNTY5MloiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KPC9zdmc+
[ZAP_BADGE]: https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpesde-pkg%2Ftooling%2Fmain%2Fbins%2Fzap%2Fpesde.toml&query=version&prefix=pesde%2Fzap%40&style=plastic&label=pesde&color=F19D1E&logo=data:image/svg%2bxml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OS42MDI1IDBMOTIuOTAzOCAyNVY3NUw0OS42MDI1IDEwMEw2LjMwMTI3IDc1VjI1TDQ5LjYwMjUgMFpNMTQuMzAxMyAyOS42MTg4TDQ5LjYwMjUgOS4yMzc2TDg0LjkwMzggMjkuNjE4OFY3MC4zODEyTDQ5LjYwMjUgOTAuNzYyNEwzMy42MTQ4IDgxLjUzMTlWNjcuMzg0OEMzNC41MTY3IDY4LjUwNzEgMzUuNjM4OCA2OS40MjE1IDM2Ljk4MSA3MC4xMjc5QzM4Ljk3MDEgNzEuMTQ4IDQxLjAzNTcgNzEuNjU4IDQzLjE3NzkgNzEuNjU4QzQ2LjQ0MiA3MS42NTggNDkuMTQ1MiA3MC44OTI5IDUxLjI4NzMgNjkuMzYyOUM1My40ODA1IDY3Ljc4MTggNTUuMTEyNiA2NS43NjcyIDU2LjE4MzYgNjMuMzE5QzU3LjA5MTUgNjEuMzM4MiA1Ny42MzIgNTkuMjc0IDU3LjgwNTQgNTcuMTI2M0M1OS44NzIzIDU3Ljc0NTcgNjIuMjE1NyA1OC4wNTU0IDY0LjgzNTYgNTguMDU1NEM2Ny42OTE4IDU4LjA1NTQgNzAuMzY5NSA1Ny42NDczIDcyLjg2ODYgNTYuODMxM0M3NS4zNjc4IDU1Ljk2NDIgNzcuNDA3OSA1NC44MTY3IDc4Ljk4OSA1My4zODg2TDc1Ljc3NTggNDcuODAzOEM3NC41NTE3IDQ4LjkyNTggNzIuOTk2MSA0OS44NDM5IDcxLjEwOSA1MC41NTc5QzY5LjIyMTkgNTEuMjIxIDY3LjIwNzMgNTEuNTUyNSA2NS4wNjUyIDUxLjU1MjVDNjEuMzkyOSA1MS41NTI1IDU4LjY2NDMgNTAuNjg1NCA1Ni44NzkyIDQ4Ljk1MTNDNTYuNzE5NSA0OC43OTYyIDU2LjU2NyA0OC42MzY1IDU2LjQyMTcgNDguNDcyQzU1LjYxMDIgNDcuNTUzOSA1NS4wMjExIDQ2LjQ4OTYgNTQuNjU0NiA0NS4yNzkxTDU0LjY0NDMgNDUuMjQ1Mkw1NC42NjkgNDUuMjc5MUg3OS4yMTg1VjQxLjk4OTRDNzkuMjE4NSAzOS4wMzEzIDc4LjU1NTUgMzYuMzUzNiA3Ny4yMjk0IDMzLjk1NjVDNzUuOTU0MyAzMS41NTkzIDc0LjA5MjcgMjkuNjQ2NyA3MS42NDQ1IDI4LjIxODZDNjkuMjQ3NCAyNi43Mzk1IDY2LjM2NTcgMjYgNjIuOTk5NSAyNkM1OS42ODQzIDI2IDU2LjgwMjcgMjYuNzM5NSA1NC4zNTQ1IDI4LjIxODZDNTEuOTA2NCAyOS42NDY3IDUwLjAxOTMgMzEuNTU5MyA0OC42OTMyIDMzLjk1NjVDNDcuNjc0MyAzNS43OTgzIDQ3LjA0NjkgMzcuODA1NyA0Ni44MTA4IDM5Ljk3ODhDNDUuNjg4OCAzOS43MjggNDQuNDc3OCAzOS42MDI2IDQzLjE3NzkgMzkuNjAyNkM0MS4wMzU3IDM5LjYwMjYgMzguOTcwMSA0MC4xMTI3IDM2Ljk4MSA0MS4xMzI3QzM1LjMxNjIgNDEuOTY1MSAzMy45OTAyIDQzLjE1NDkgMzMuMDAyOCA0NC43MDIzVjQwLjM2NzdIMjAuNjg1NVY0Ni4yNTg1SDI1LjgxMTNWNzcuMDI2NkwxNC4zMDEzIDcwLjM4MTJWMjkuNjE4OFpNNTUuMTk2MSAzNi4wOTg2QzU0LjY1MjggMzcuMTAxNSA1NC4zMzIxIDM4LjEyMTYgNTQuMjM0IDM5LjE1ODhINzEuNzk3NkM3MS43OTc2IDM4LjAzNjcgNzEuNDQwNSAzNi45NDAxIDcwLjcyNjUgMzUuODY5MUM3MC4wNjM0IDM0Ljc0NyA2OS4wNjg5IDMzLjgwMzUgNjcuNzQyOCAzMy4wMzg0QzY2LjQ2NzcgMzIuMjczNCA2NC44ODY3IDMxLjg5MDggNjIuOTk5NSAzMS44OTA4QzYxLjExMjQgMzEuODkwOCA1OS41MDU4IDMyLjI5ODkgNTguMTc5OCAzMy4xMTQ5QzU2LjkwNDcgMzMuODggNTUuOTEwMSAzNC44NzQ1IDU1LjE5NjEgMzYuMDk4NlpNNDkuNjQ1MSA1MS41NjkyQzQ5LjMwNzYgNTAuNjY0MSA0OC44MzgxIDQ5Ljg3MSA0OC4yMzY3IDQ5LjE4OThDNDguMDg4NSA0OS4wMjE5IDQ3LjkzMjMgNDguODYwOSA0Ny43NjgxIDQ4LjcwNjdDNDYuMDg1IDQ3LjA3NDYgNDQuMDQ0OSA0Ni4yNTg1IDQxLjY0NzggNDYuMjU4NUM0MC4xMTc3IDQ2LjI1ODUgMzguNjEzMSA0Ni41NjQ1IDM3LjEzNCA0Ny4xNzY2QzM1Ljg1OTQgNDcuNjc3MyAzNC42ODYzIDQ4LjU0MzggMzMuNjE0OCA0OS43NzU5VjYxLjQ3QzM0LjY4NjMgNjIuNjY2NCAzNS44NTk0IDYzLjUzNzggMzcuMTM0IDY0LjA4NEMzOC42MTMxIDY0LjY5NjEgNDAuMTE3NyA2NS4wMDIxIDQxLjY0NzggNjUuMDAyMUM0NC4wNDQ5IDY1LjAwMjEgNDYuMDg1IDY0LjE4NjEgNDcuNzY4MSA2Mi41NTRDNDkuNDUxMiA2MC45MjE5IDUwLjI5MjggNTguNjAxMiA1MC4yOTI4IDU1LjU5MjFDNTAuMjkyOCA1NC4wNjc5IDUwLjA3NjkgNTIuNzI3IDQ5LjY0NTEgNTEuNTY5MloiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KPC9zdmc+


# envger/screen3d_mod

v0.1.4 Â· published ...

vibecoded fixes for screen3d

Target

Roblox

This package doesn't have any dependencies.


# envger/screen3d_mod

v0.1.4 Â· published ...

vibecoded fixes for screen3d

Target

Roblox

## [0.1.4 (latest)](https://pesde.dev/packages/envger/screen3d_mod/0.1.4/any)

... Â·  Roblox

## [0.1.3 ](https://pesde.dev/packages/envger/screen3d_mod/0.1.3/any)

... Â·  Roblox

## [0.1.2 ](https://pesde.dev/packages/envger/screen3d_mod/0.1.2/any)

... Â·  Roblox

## [0.1.1 ](https://pesde.dev/packages/envger/screen3d_mod/0.1.1/any)

... Â·  Roblox

## [0.1.0 ](https://pesde.dev/packages/envger/screen3d_mod/0.1.0/any)

... Â·  Roblox


# athar_adv/uniplugin

v1.0.0 Â· published ...

A simple wrapper for Roblox inter-Plugin import/export semantics

Target

Roblox

## [1.0.0 (latest)](https://pesde.dev/packages/athar_adv/uniplugin/1.0.0/any)

... Â·  Roblox

## [0.1.0 ](https://pesde.dev/packages/athar_adv/uniplugin/0.1.0/any)

... Â·  Roblox

## [0.0.0 ](https://pesde.dev/packages/athar_adv/uniplugin/0.0.0/any)

... Â·  Roblox


# athar_adv/uniplugin

v1.0.0 Â· published ...

A simple wrapper for Roblox inter-Plugin import/export semantics

Target

Roblox

This package doesn't have any dependencies.


# wrello/plums

v0.2.1 Â· published ...

Replicate table changes from server to client in Roblox

Target

Roblox

## [0.2.1 (latest)](https://pesde.dev/packages/wrello/plums/0.2.1/any)

... Â·  Roblox

## [0.2.0 ](https://pesde.dev/packages/wrello/plums/0.2.0/any)

... Â·  Roblox

## [0.1.0 ](https://pesde.dev/packages/wrello/plums/0.1.0/any)

... Â·  Roblox

## [0.0.1773708631 ](https://pesde.dev/packages/wrello/plums/0.0.1773708631/any)

... Â·  Roblox

## [0.0.1773708508 ](https://pesde.dev/packages/wrello/plums/0.0.1773708508/any)

... Â·  Roblox

## [0.0.1773707580 ](https://pesde.dev/packages/wrello/plums/0.0.1773707580/any)

... Â·  Roblox

## [0.0.1773707240 ](https://pesde.dev/packages/wrello/plums/0.0.1773707240/any)

... Â·  Roblox

## [0.0.1773706847 ](https://pesde.dev/packages/wrello/plums/0.0.1773706847/any)

... Â·  Roblox

## [0.0.1773706631 ](https://pesde.dev/packages/wrello/plums/0.0.1773706631/any)

... Â·  Roblox

## [0.0.1773706518 ](https://pesde.dev/packages/wrello/plums/0.0.1773706518/any)

... Â·  Roblox

## [0.0.1773705821 ](https://pesde.dev/packages/wrello/plums/0.0.1773705821/any)

... Â·  Roblox

## [0.0.1002 ](https://pesde.dev/packages/wrello/plums/0.0.1002/any)

... Â·  Roblox

## [0.0.1001 ](https://pesde.dev/packages/wrello/plums/0.0.1001/any)

... Â·  Roblox

## [0.0.1 ](https://pesde.dev/packages/wrello/plums/0.0.1/any)

... Â·  Roblox


# wrello/plums

v0.2.1 Â· published ...

Replicate table changes from server to client in Roblox

Target

Roblox

This package doesn't have any dependencies.


# lukadev_0/result

v1.2.1 Â· published ...

Result<T, E> type in Luau

Target

Lune

# result

Result<T, E> type in Luau

Learn more in the [documentation](https://lukadev-0.github.io/util.luau/reference/result). This package is part of [util.luau](https://lukadev-0.github.io/util.luau).


# pesde/toolchainlib

v0.2.2 Â· published ...

A Luau library for implementing toolchain management

Target

Lune

# [`pesde/toolchainlib`](https://pesde.daimond113.com/packages/pesde/toolchainlib)

[](https://discord.gg/ATVVsNNv3u) [](https://pesde.daimond113.com/packages/pesde/toolchainlib) [](https://lune-org.github.io/docs)

A Luau library implementing toolchain management for Luau packages. This package is a dependency of all of pesde's tooling packages.

Danger

Although it is possible to use this package directly, it is not recommended as it has not been thoroughly tested for any tooling other than those pesde officially repackages.

# Hwat? How?

[`pesde/toolchainlib`](https://pesde.daimond113.com/packages/pesde/toolchainlib) uses a logic inspired by [Rokit](https://github.com/rojo-rbx/rokit) to discover compatible artifacts on GitHub releases, downloads them locally, and executes them. [Rokit](https://github.com/rojo-rbx/rokit)'s discovery logic is dynamic, works for a majority of tools. The only requirement is that the tool has to have a GitHub release. See [this comment](https://github.com/pesde-pkg/tooling/blob/e17fd8c40948ab553e984fd9d154ba5394d0a532/toolchainlib/src/init.luau#L1-L8) for more details on the discovery logic.

When consumed from within a binary pesde package, pesde creates global linker scripts within `~/.pesde/bin` which can be invoked when the package is installed in the workspace. These scripts can be called from the command line like regular commands, enabling you to run your favorite tooling, while having them be managed entirely by pesde.

# License

This project is licensed under the [MIT](https://github.com/pesde/toolchainlib/blob/main/LICENSE.md) license.


# lukadev_0/option

v1.2.1 Â· published ...

Option<T> type in Luau

Target

Lune

# option

Option type in Luau

Learn more in the [documentation](https://lukadev-0.github.io/util.luau/reference/option). This package is part of [util.luau](https://lukadev-0.github.io/util.luau).


# pesde/selene

v0.30.0 Â· published ...

A blazing-fast modern Lua linter written in Rust

Target

Lune

# selene

## [Read the documentation here!](https://kampfkarren.github.io/selene/)

selene is a blazing-fast modern Lua linter written in Rust.

Priorities:

  * It's okay to not diagnose every problem, as long as the diagnostics that are made are never wrong
  * Easy to extend and modify
  * Easy to configure
  * ...but the user should need to configure as little as possible


# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)
Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use
### `pesde add` (recommended)
Add & Install this pesde package and darklua as a dev_dependency:
```sh
pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

pesde add jiwonz/multitarget --dev -t lune

pesde install
Use as a binary:
```sh
multitarget --help
Use a library with pesde scripts(runtime is lune actually):
```luau
-- scripts/build.luau

local multitarget = require("../lune_packages/multitarget")

multitarget.build(
    "pesde.toml", -- defaults to "pesde.toml"
    { -- pesde project file path defaults to "pesde.toml"
        luau = true,
        roblox = true,
    },
    "./path/to/output", -- defaults to "dist"
        "build files path" -- files/directories to be built
    },
    "LUA_ENV", -- defaults to "LUA_ENV"
    "pkg", -- defaults to "pkg"
    "luau_pkg", -- defaults to "luau_pkg"
    true -- defaults to true
)
`pesde.toml`
```toml
[scripts]
build = "scripts/build.luau"
```sh
pesde run build

### `pesde x`
Execute directly without installation:
```sh
pesde x jiwonz/multitarget -- --help

## Usage
Check the [example code](lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`
Setups your project before building.

With a binary:
```sh
multitarget setup
With `pesde x`:
```sh
pesde x jiwonz/multitarget -- setup

### `build`
Builds your pesde project targeting to `luau` and `roblox`.

With a binary:
```sh
multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)
With `pesde x`:
```sh
pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.3.1 Â· published ...

Customizable build script for multiple pesde targets

Target

Lune

# pesde-multitarget

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml",
        "./path/to/output",
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
            "build files path" -- files/directories to be built
        },
        "LUA_ENV",
        true -- if this is true, it will create a pesde workspace project in dist folder (this is helpful when publish them at the same time faster)
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.3.1 Â· published ...

Customizable build script for multiple pesde targets

Target

Lune

## [0.4.0-rc.30 (latest)](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.30/any)

... Â·  Lune

## [0.4.0-rc.29 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.29/any)

... Â·  Lune

## [0.4.0-rc.28 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.28/any)

... Â·  Lune

## [0.4.0-rc.27 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.27/any)

... Â·  Lune

## [0.4.0-rc.26 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.26/any)

... Â·  Lune

## [0.4.0-rc.25 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.25/any)

... Â·  Lune

## [0.4.0-rc.24 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.24/any)

... Â·  Lune

## [0.4.0-rc.23 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.23/any)

... Â·  Lune

## [0.4.0-rc.22 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.22/any)

... Â·  Lune

## [0.4.0-rc.21 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.21/any)

... Â·  Lune

## [0.4.0-rc.20 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.20/any)

... Â·  Lune

## [0.4.0-rc.19 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.19/any)

... Â·  Lune

## [0.4.0-rc.18 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.18/any)

... Â·  Lune

## [0.4.0-rc.17 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.17/any)

... Â·  Lune

## [0.4.0-rc.16 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.16/any)

... Â·  Lune

## [0.4.0-rc.15 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.15/any)

... Â·  Lune

## [0.4.0-rc.14 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.14/any)

... Â·  Lune

## [0.4.0-rc.13 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.13/any)

... Â·  Lune

## [0.4.0-rc.12 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.12/any)

... Â·  Lune

## [0.4.0-rc.11 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.11/any)

... Â·  Lune

## [0.4.0-rc.10 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.10/any)

... Â·  Lune

## [0.4.0-rc.9 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.9/any)

... Â·  Lune

## [0.4.0-rc.8 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.8/any)

... Â·  Lune

## [0.4.0-rc.7 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.7/any)

... Â·  Lune

## [0.4.0-rc.6 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.6/any)

... Â·  Lune

## [0.4.0-rc.5 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.5/any)

... Â·  Lune

## [0.4.0-rc.4 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.4/any)

... Â·  Lune

## [0.4.0-rc.3 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.3/any)

... Â·  Lune

## [0.4.0-rc.2 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.2/any)

... Â·  Lune

## [0.4.0-rc.1 ](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.1/any)

... Â·  Lune

## [0.3.1 ](https://pesde.dev/packages/jiwonz/multitarget/0.3.1/any)

... Â·  Lune

## [0.3.0 ](https://pesde.dev/packages/jiwonz/multitarget/0.3.0/any)

... Â·  Lune

## [0.2.6 ](https://pesde.dev/packages/jiwonz/multitarget/0.2.6/any)

... Â·  Lune

## [0.2.5 ](https://pesde.dev/packages/jiwonz/multitarget/0.2.5/any)

... Â·  Lune

## [0.2.4 ](https://pesde.dev/packages/jiwonz/multitarget/0.2.4/any)

... Â·  Lune

## [0.2.3 ](https://pesde.dev/packages/jiwonz/multitarget/0.2.3/any)

... Â·  Lune

## [0.2.2 ](https://pesde.dev/packages/jiwonz/multitarget/0.2.2/any)

... Â·  Lune

## [0.2.1 ](https://pesde.dev/packages/jiwonz/multitarget/0.2.1/any)

... Â·  Lune

## [0.2.1-rc.4 ](https://pesde.dev/packages/jiwonz/multitarget/0.2.1-rc.4/any)

... Â·  Lune

## [0.2.1-rc.3 ](https://pesde.dev/packages/jiwonz/multitarget/0.2.1-rc.3/any)

... Â·  Lune

## [0.2.1-rc.2 ](https://pesde.dev/packages/jiwonz/multitarget/0.2.1-rc.2/any)

... Â·  Lune

## [0.2.1-rc.1 ](https://pesde.dev/packages/jiwonz/multitarget/0.2.1-rc.1/any)

... Â·  Lune

## [0.2.0 ](https://pesde.dev/packages/jiwonz/multitarget/0.2.0/any)

... Â·  Lune

## [0.1.0 ](https://pesde.dev/packages/jiwonz/multitarget/0.1.0/any)

... Â·  Lune


# jiwonz/multitarget

v0.3.1 Â· published ...

Customizable build script for multiple pesde targets

Target

Lune

## Dependencies

### [caveful_games/argparse ](https://pesde.dev/packages/caveful_games/argparse/latest/lune)

^0.1.2 Â· lune

### [jiwonz/darklua_lune ](https://pesde.dev/packages/jiwonz/darklua_lune/latest/lune)

^0.1.3 Â· lune

### [jiwonz/glob ](https://pesde.dev/packages/jiwonz/glob/latest/lune)

^0.1.0 Â· lune

### [corecii/greentea ](https://pesde.dev/packages/corecii/greentea/latest/lune)

^0.4.11 Â· lune

### [jiwonz/pathfs ](https://pesde.dev/packages/jiwonz/pathfs/latest/lune)

^0.6.0-rc.1 Â· lune

## Peer Dependencies

### [pesde/darklua ](https://pesde.dev/packages/pesde/darklua/latest/lune)

^0.16.0 Â· lune

## Dev Dependencies

### [jiwonz/luau_check ](https://pesde.dev/packages/jiwonz/luau_check/latest/lune)

^0.3.7 Â· lune


# jiwonz/multitarget

v0.4.0-rc.19 Â· published ...

Customizable and flexible build script for multiple pesde targets

Target

Lune

# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)

Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml", -- defaults to "pesde.toml"
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
        "./path/to/output", -- defaults to "dist"
            "build files path" -- files/directories to be built
        },
        "LUA_ENV", -- defaults to "LUA_ENV"
        "pkg" -- defaults to "pkg"
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.19/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.4.0-rc.16 Â· published ...

Customizable and flexible build script for multiple pesde targets

Target

Lune

# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)

Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml", -- defaults to "pesde.toml"
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
        "./path/to/output", -- defaults to "dist"
            "build files path" -- files/directories to be built
        },
        "LUA_ENV", -- defaults to "LUA_ENV"
        "pkg" -- defaults to "pkg"
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.16/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.3.0 Â· published ...

Customizable build script for multiple pesde targets

Target

Lune

# pesde-multitarget

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml",
        "./path/to/output",
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
            "build files path" -- files/directories to be built
        },
        "LUA_ENV",
        true -- if this is true, it will create a pesde workspace project in dist folder (this is helpful when publish them at the same time faster)
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.3.0/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.2.0 Â· published ...

Customizable build script for multiple pesde targets

Target

Lune

# pesde-multitarget

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget help

Use a library in a lune script:

    -- lune/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(nil, "./path/to/output", { -- pesde project file path defaults to "pesde.toml"
        luau = true,
        roblox = true,
    }, {
        "build files path" -- files/directories to be built
    }, true) -- if this is true, it will create a pesde workspace project in dist folder (this is helpful when publish them at the same time faster)

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.2.0/lune/example.luau) out.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

With `pesde x`:

    pesde x jiwonz/multitarget build ...


# jiwonz/multitarget

v0.2.4 Â· published ...

Customizable build script for multiple pesde targets

Target

Lune

# pesde-multitarget

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library in a lune script:

    -- lune/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(nil, "./path/to/output", { -- pesde project file path defaults to "pesde.toml"
        luau = true,
        roblox = true,
    }, {
        "build files path" -- files/directories to be built
    }, true) -- if this is true, it will create a pesde workspace project in dist folder (this is helpful when publish them at the same time faster)

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.2.4/lune/example.luau) out.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.4.0-rc.22 Â· published ...

Customizable and flexible build script for multiple pesde targets

Target

Lune

# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)

Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml", -- defaults to "pesde.toml"
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
        "./path/to/output", -- defaults to "dist"
            "build files path" -- files/directories to be built
        },
        "LUA_ENV", -- defaults to "LUA_ENV"
        "pkg" -- defaults to "pkg"
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.22/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.4.0-rc.7 Â· published ...

Customizable and flexible build script for multiple pesde targets

Target

Lune

# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)

Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml", -- defaults to "pesde.toml"
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
        "./path/to/output", -- defaults to "dist"
            "build files path" -- files/directories to be built
        },
        "LUA_ENV", -- defaults to "LUA_ENV"
        "pkg" -- defaults to "pkg"
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.7/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.4.0-rc.6 Â· published ...

Customizable and flexible build script for multiple pesde targets

Target

Lune

# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)

Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml", -- defaults to "pesde.toml"
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
        "./path/to/output", -- defaults to "dist"
            "build files path" -- files/directories to be built
        },
        "LUA_ENV", -- defaults to "LUA_ENV"
        "pkg" -- defaults to "pkg"
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.6/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.4.0-rc.18 Â· published ...

Customizable and flexible build script for multiple pesde targets

Target

Lune

# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)

Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml", -- defaults to "pesde.toml"
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
        "./path/to/output", -- defaults to "dist"
            "build files path" -- files/directories to be built
        },
        "LUA_ENV", -- defaults to "LUA_ENV"
        "pkg" -- defaults to "pkg"
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.18/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.3.1 Â· published ...

Customizable build script for multiple pesde targets

Target

Lune

# pesde-multitarget

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml",
        "./path/to/output",
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
            "build files path" -- files/directories to be built
        },
        "LUA_ENV",
        true -- if this is true, it will create a pesde workspace project in dist folder (this is helpful when publish them at the same time faster)
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.3.1/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.2.1-rc.2 Â· published ...

Customizable build script for multiple pesde targets

Target

Lune

# pesde-multitarget

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget help

Use a library in a lune script:

    -- lune/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(nil, "./path/to/output", { -- pesde project file path defaults to "pesde.toml"
        luau = true,
        roblox = true,
    }, {
        "build files path" -- files/directories to be built
    }, true) -- if this is true, it will create a pesde workspace project in dist folder (this is helpful when publish them at the same time faster)

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.2.1-rc.2/lune/example.luau) out.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.4.0-rc.8 Â· published ...

Customizable and flexible build script for multiple pesde targets

Target

Lune

# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)

Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml", -- defaults to "pesde.toml"
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
        "./path/to/output", -- defaults to "dist"
            "build files path" -- files/directories to be built
        },
        "LUA_ENV", -- defaults to "LUA_ENV"
        "pkg" -- defaults to "pkg"
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.8/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.4.0-rc.10 Â· published ...

Customizable and flexible build script for multiple pesde targets

Target

Lune

# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)

Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml", -- defaults to "pesde.toml"
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
        "./path/to/output", -- defaults to "dist"
            "build files path" -- files/directories to be built
        },
        "LUA_ENV", -- defaults to "LUA_ENV"
        "pkg" -- defaults to "pkg"
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.10/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.2.6 Â· published ...

Customizable build script for multiple pesde targets

Target

Lune

# pesde-multitarget

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library in a lune script:

    -- lune/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(nil, "./path/to/output", { -- pesde project file path defaults to "pesde.toml"
        luau = true,
        roblox = true,
    }, {
        "build files path" -- files/directories to be built
    }, true) -- if this is true, it will create a pesde workspace project in dist folder (this is helpful when publish them at the same time faster)

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.2.6/lune/example.luau) out.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.4.0-rc.29 Â· published ...

Customizable and flexible build script for multiple pesde targets

Target

Lune

# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)

Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml", -- defaults to "pesde.toml"
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
        "./path/to/output", -- defaults to "dist"
            "build files path" -- files/directories to be built
        },
        "LUA_ENV", -- defaults to "LUA_ENV"
        "pkg", -- defaults to "pkg"
        "luau_pkg", -- defaults to "luau_pkg"
        true -- defaults to true
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.29/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.4.0-rc.14 Â· published ...

Customizable and flexible build script for multiple pesde targets

Target

Lune

# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)

Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml", -- defaults to "pesde.toml"
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
        "./path/to/output", -- defaults to "dist"
            "build files path" -- files/directories to be built
        },
        "LUA_ENV", -- defaults to "LUA_ENV"
        "pkg" -- defaults to "pkg"
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.14/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.4.0-rc.13 Â· published ...

Customizable and flexible build script for multiple pesde targets

Target

Lune

# [pesde-multitarget](https://pesde.dev/packages/jiwonz/multitarget)

Customizable and flexible build script for multiple pesde targets

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time.

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library with pesde scripts(runtime is lune actually):

    -- scripts/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(
        "pesde.toml", -- defaults to "pesde.toml"
        { -- pesde project file path defaults to "pesde.toml"
            luau = true,
            roblox = true,
        },
        "./path/to/output", -- defaults to "dist"
            "build files path" -- files/directories to be built
        },
        "LUA_ENV", -- defaults to "LUA_ENV"
        "pkg" -- defaults to "pkg"
    )

`pesde.toml`

    [scripts]
    build = "scripts/build.luau"

    pesde run build

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.4.0-rc.13/lune/example.luau) out. and run `multitarget --help` for more information about commands and arguments.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

    multitarget build -w -a --build-files src # Build for every(-a --all) targets with workspace(-w --workspace) pesde project (luau, lune, roblox)

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.2.3 Â· published ...

Customizable build script for multiple pesde targets

Target

Lune

# pesde-multitarget

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget --help

Use a library in a lune script:

    -- lune/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(nil, "./path/to/output", { -- pesde project file path defaults to "pesde.toml"
        luau = true,
        roblox = true,
    }, {
        "build files path" -- files/directories to be built
    }, true) -- if this is true, it will create a pesde workspace project in dist folder (this is helpful when publish them at the same time faster)

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget -- --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.2.3/lune/example.luau) out.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget -- setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

With `pesde x`:

    pesde x jiwonz/multitarget -- build ...


# jiwonz/multitarget

v0.2.1-rc.1 Â· published ...

Customizable build script for multiple pesde targets

Target

Lune

# pesde-multitarget

Build your pure pesde project easier targeting both `luau` and `roblox` targets at the same time

No more annoying package build scripts manually! (But this doesn't support `wally`)

## How to use

### `pesde add` (recommended)

Add & Install this pesde package and darklua as a dev_dependency:

    pesde add pesde/darklua --dev -t lune # Pass if darklua is installed already.

    pesde add jiwonz/multitarget --dev -t lune

    pesde install

Use as a binary:

    multitarget help

Use a library in a lune script:

    -- lune/build.luau

    local multitarget = require("../lune_packages/multitarget")

    multitarget.build(nil, "./path/to/output", { -- pesde project file path defaults to "pesde.toml"
        luau = true,
        roblox = true,
    }, {
        "build files path" -- files/directories to be built
    }, true) -- if this is true, it will create a pesde workspace project in dist folder (this is helpful when publish them at the same time faster)

### `pesde x`

Execute directly without installation:

    pesde x jiwonz/multitarget --help

## Usage

Check the [example code](https://pesde.dev/packages/jiwonz/multitarget/0.2.1-rc.1/lune/example.luau) out.

### `setup`

Setups your project before building.

With a binary:

    multitarget setup

With `pesde x`:

    pesde x jiwonz/multitarget setup

### `build`

Builds your pesde project targeting to `luau` and `roblox`.

With a binary:

    multitarget build --output ./path/to/output --roblox --luau --lune --build-files [..build_files] # You can set targets manually. Roblox target with luau project will require `darklua` to convert requires.

    multitarget build --output ./path/to/output --build-files [..build_files] # If none of target argument is given, This will set available targets automatically.

    multitarget build -o ./path/to/output --build-files [..build_files] # Shorter arguments are supported.

    multitarget build ./path/to/pesde.toml -o ./path/to/output --build-files [..build_files] # You can pass pesde.toml optionally.

With `pesde x`:

    pesde x jiwonz/multitarget build ...