Skip to content

Engines

Since pesde runs binary packages using a Luau runtime, we need a way to get one. pesde 0.6 has introduced a mechanism for this: engines.

An engine is either a Luau runtime or pesde itself. Engines allow your package to specify what versions it’s compatible with.

To specify that your package is compatible with Lune ^0.8.9 and pesde ^0.6.0:

[engines]
pesde = "^0.6.0"
lune = "^0.8.9"

After you add the engines to your manifest run pesde install to set up the necessary files in pesde’s bin directory.

The benefit of engines is that users will be immediately warned if they install a package which uses an incompatible version of a runtime. For example, if we publish a package with the engines we’ve written before and a user with lune = "=0.9.0" installs our package they’ll get the following message:

warn: package acme/[email protected] lune requires lune ^0.8.9, but 0.9.0 is installed