A package manager for the Luau programming language, supporting multiple runtimes including Roblox and Lune
Find a file
2024-09-04 16:19:09 +02:00
.github/workflows feat: self managed versioning 2024-07-26 18:47:53 +02:00
registry feat(registry): use env variable for repo 2024-09-04 16:19:09 +02:00
src feat: add PESDE_ROOT for bin packages 2024-09-03 23:08:08 +02:00
.dockerignore chore: 🐛 show logo on all platforms 2024-03-16 18:12:49 +01:00
.gitignore feat: return all targets from version endpoint 2024-08-23 13:56:33 +02:00
Cargo.lock feat: implement workspace/monorepo support 2024-09-03 16:01:48 +02:00
Cargo.toml feat: implement workspace/monorepo support 2024-09-03 16:01:48 +02:00
CHANGELOG.md chore(release): prepare for v0.4.7 2024-05-12 16:00:52 +02:00
cliff.toml chore(release): prepare for v0.4.3 2024-03-31 14:45:01 +02:00
Dockerfile chore: make registry image weigh less 2024-05-05 21:31:21 +02:00
fly.toml feat: implement registry 2024-07-30 12:37:54 +02:00
LICENSE chore: 🚀 setup crates.io publishing 2024-03-06 22:45:39 +01:00
README.md feat: begin rewrite 2024-07-13 00:09:37 +02:00
rust-toolchain.toml feat: 🎉 initial commit 2024-03-04 21:18:49 +01:00
rustfmt.toml feat: implement dependency resolver and lune scripts 2024-07-14 15:19:15 +02:00


pesde

Important

pesde is currently being rewritten, and this new version is not yet ready for use. You can find the stable version in the master branch.

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.

Documentation

For more information, you can check the documentation.

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.