Previously, we assumed that the tools followed semver, and hence parsed their versions for comparison. Some tools may not follow semver, and we should not impose such a requirement as a toolchain management library. Therefore, we now only check if the requested version string matches an asset version tag. In order to ensure backwards compatibility, we strip the leading `v` from the version if present. |
||
---|---|---|
.. | ||
src | ||
LICENSE | ||
pesde.lock | ||
pesde.toml | ||
README.md |
pesde/toolchainlib
A Luau library implementing toolchain management for Luau packages. This package is a dependency of all of pesde's tooling packages.
Caution
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
uses a logic inspired by Rokit to discover compatible artifacts on GitHub releases, downloads them locally, and executes them. 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 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 license.