pesde documentation

Using pesde

Initializing a package

Even if you're not making a package, but something else such as a game, you will still need to initialize package.

This will prompt you questions, after which it will create a pesde.yaml file.

If you are using pesde with the `wally` feature enabled (true on releases from the GitHub repository) then you can use to convert your wally.toml file to pesde.yaml. This will leave you with an empty default index, so you will need to add a URL (such as the default `https://github.com/daimond113/pesde-index`) yourself.

Adding dependencies

You can use the `add` command to add dependencies to your project. With the `wally` feature enabled, you can add Wally dependencies.

If you are making a package, you can use the `--peer` argument to add a package as a peer dependency. Peer dependencies are not installed when the package is installed, but are required to be installed by the user of the package. This is useful for things like framework plugins.

If you want to declare the dependency as server or development only, you can use the `--realm server` or `--realm development` arguments respectively. The `shared` realm is the default.

Overriding dependencies

Dependency overrides allow you to use a different version of a dependency than the one specified in the package. This is useful for sharing 1 version of a dependency.

Dependency overrides use the keys in the format of desired names separated with `>`, and optionally other paths separated with `,`. The value is a dependency specifier.

Dependency overrides do not have a command. You will need to edit the pesde.yaml file yourself.

Removing dependencies

You can use the `remove` command to remove dependencies from your project.

Outdated dependencies

You can list outdated dependencies with the `outdated` command. This will list all dependencies that have a newer version available.

This command only supports pesde registries, so neither Git nor Wally dependencies will be listed.

Installing a project

The `install` command will install all dependencies of a project.

You can use the `--locked` argument to skip resolving and read the dependencies from the lockfile. If any changes were made from the time the lockfile was generated this will error.

Running a bin dependency

Dependencies may export a bin script. You can run this script with the `run` command. The script will be executed with Lune. You can use the `--` argument to pass arguments to the script.

This does not support Wally dependencies.

Patching dependencies

You can use the `patch` command to patch a dependency. This will output a directory in which you can edit the dependency. After you are done, run the `patch-commit` command with the directory as an argument to commit the changes.

Publishing a package

You can publish a package with the `publish` command. This will upload the package to the registry. This will publish to the `default` index.

The official pesde registry does not support publishing packages with Wally or Git dependencies. Dependency overrides and patches of your package as a dependency will be ignored.

Searching for packages

You can search for packages with the `search` command. This will list all packages that match the query. It will search by name and description.

Manifest format cheat sheet

Here is a cheat sheet for the manifest format. This is the format of the pesde.yaml file. The `name` and `version` fields are required. All other fields are optional.

A description of each type:

If the realm field is not specified, it will default to `shared`. If it is another value, and the package is to be installed in a different realm, pesde will error.

The sourcemap generator command is only used for Wally and Git packages. It will be ran in a package's directory, and must output a sourcemap file. This is used to generate a sourcemap for the package so that types may be found and re-exported.