A package manager for the Luau programming language, supporting multiple runtimes including Roblox and Lune
Find a file
daimond113 9ba7819132
feat(wally-compat): automatically find file to use as lib
This change makes Wally packages' types exported
2024-03-24 18:38:18 +01:00
.github/workflows ci: run clippy on all workspace members 2024-03-16 22:37:16 +01:00
registry chore(release): prepare for v0.3.0 2024-03-24 14:33:41 +01:00
src feat(wally-compat): automatically find file to use as lib 2024-03-24 18:38:18 +01:00
tests feat(wally-compat): automatically find file to use as lib 2024-03-24 18:38:18 +01:00
website feat(website): add embed metadata 2024-03-16 18:34:56 +01:00
.dockerignore chore: 🐛 show logo on all platforms 2024-03-16 18:12:49 +01:00
.gitignore feat: 🎉 initial commit 2024-03-04 21:18:49 +01:00
Cargo.lock chore(release): prepare for v0.3.0 2024-03-24 14:33:41 +01:00
Cargo.toml chore(release): prepare for v0.3.0 2024-03-24 14:33:41 +01:00
CHANGELOG.md chore(release): prepare for v0.3.0 2024-03-24 14:33:41 +01:00
cliff.toml feat: 🎉 initial commit 2024-03-04 21:18:49 +01:00
Dockerfile feat: 🎉 initial commit 2024-03-04 21:18:49 +01:00
fly.toml chore(registry): ✏️ correct env variable names 2024-03-24 14:32:02 +01:00
LICENSE chore: 🚀 setup crates.io publishing 2024-03-06 22:45:39 +01:00
README.md feat: multi-index + wally support 2024-03-24 14:31:11 +01:00
rust-toolchain.toml feat: 🎉 initial commit 2024-03-04 21:18:49 +01:00


pesde

pesde is a package manager for Roblox that is designed to be feature-rich and easy to use. Currently, pesde is in a very early stage of development, but already supports the following features:

  • Managing dependencies
  • Re-exporting types
  • bin exports (ran with Lune)
  • Patching packages
  • Downloading packages from Wally registries

Installation

pesde can be installed from GitHub Releases. You can find the latest release here. It can also be installed by using Aftman.

Usage

pesde is designed to be easy to use. Here are some examples of how to use it:

# Initialize a new project
pesde init

# Install a package
pesde add daimond113/pesde@0.1.0

# Remove a package
pesde remove daimond113/pesde

# List outdated packages
pesde outdated

# Install all packages
pesde install

# Search for a package
pesde search pesde

# Run a binary
pesde run daimond113/pesde

# Run a binary with arguments
pesde run daimond113/pesde -- --help

Preparing to publish

To publish you must first initialize a new project with pesde init. You can then use the other commands to manipulate dependencies, and edit the file manually to add metadata such as authors, description, and license.

Warning


The pesde CLI respects the .gitignore file and will not include files that are ignored. The .pesdeignore file has more power over the .gitignore file, so you can unignore files by prepending a ! to the pattern.

The pesde CLI supports the .pesdeignore file, which is similar to .gitignore. It can be used to include or exclude files from the package.

Registry

The main pesde registry is hosted on fly.io. You can find it at https://registry.pesde.daimond113.com.

Self-hosting

You can self-host the registry by using the default implementation in the registry folder, or by creating your own implementation. The API must be compatible with the default implementation, which can be found in the main.rs file.

Previous art

pesde is heavily inspired by npm, pnpm, Wally, and Cargo.