Publishing Packages
Configuration
Before you can publish a package, you must configure the required fields in your
pesde.toml
file.
includes
The includes
field is a list of globs that should be included in the package.
includes = [ "pesde.toml", "README.md", "LICENSE", "src/**/*.luau",]
target
The target
field defines the environment where the package can be run.
Here, you must also specify the lib
and/or bin
fields to indicate the path
of the exported library or binary.
[target]environment = "luau"lib = "init.luau"
Roblox
bin
is not supported in Roblox packages. You must also specify a list of
build_files
. These are the files that should be synced into Roblox. They are
passed to the roblox_sync_config_generator
script.
[target]environment = "roblox"lib = "src/init.luau"build_files = ["src"]
Authentication
Before you can publish a package, you must authenticate with your GitHub account.
pesde auth login
You will be given a code and prompted to open the GitHub authentication page in your browser. You must enter the code to authenticate.
Publishing
To publish a package, run the following command:
pesde publish
You will be prompted to confirm the package details before publishing.
Once a package is published, others will be able to install it. You may not remove a package once it has been published. You may not publish a package with an already existing version.
Multi-target Packages
You may publish packages under the same name and version but with different targets. This allows you to publish a package that can be used in multiple environments.
For example, you may publish a package that can be used in both Roblox and Luau environments by publishing two versions of the package, one for each environment.
Documentation
The README.md
file in the root of the package will be displayed on the
pesde registry website.
You can include a docs
directory in the package containing markdown files
and they will be available on the pesde registry website. You can see an example
in pesde/hello
.
Customizing the sidebar
You can include frontmatter with a sidebar_position
to customize the order
of the pages on the sidebar.
---sidebar_position: 2---
# Getting Started
Lorem ipsum odor amet, consectetuer adipiscing elit. Eleifend consectetur idconsequat conubia fames curae?
You can have directories in the docs
directory to create nested pages. These
will show up as collapsible sections in the sidebar. You can include a
_category_.json
file inside the nested directories to customize the label and
the ordering in the sidebar.
{ "label": "Guides", "position": 3}