Package Files
Pushing someone else’s library means knowing exactly where it lives inside their sync folder, and which sourcemap goes with it. That’s a mouthful:
azul push -s ./sync/ReplicatedStorage/MyLibrary -d ReplicatedStorage.Libraries --from-sourcemap ./mylibrary.sourcemap.jsonA package file (azul.package.json) solves this. It sits at the root of your project and tells Azul which folder to push and which sourcemap to use:
{ "packageRoot": "./sync/ReplicatedStorage/MyLibrary", "fromSourcemap": "./mylibrary.sourcemap.json"}Using a package
Section titled “Using a package”Point azul push at the package’s folder (or at the azul.package.json itself), and only choose where it goes:
azul push -s ./AzulPackages/MyLibrary -d ReplicatedStorage.LibrariesPackage files also work as the source of a push mapping. You can even push a whole folder of packages at once, see Package Management.
Fields
Section titled “Fields”| Field | Required | Description |
|---|---|---|
packageRoot | Yes | The folder whose contents get pushed into the destination. If your package is a single module with children, point it at the script instead (e.g. ./sync/ReplicatedStorage/MyLibrary.luau). |
fromSourcemap | No | The sourcemap to push from. Leave it out if your package is entirely code. |
Both paths are relative to the azul.package.json, not to wherever Azul is run from.
Creating one
Section titled “Creating one”You don’t have to write it by hand. Run azul pack without any flags and answer yes to “Is this a package?”. Azul will ask for the package root and write an azul.package.json pointing at the sourcemap it just packed.
If an azul.package.json already exists, azul pack leaves it alone. If you later pack to a different output path, update fromSourcemap yourself.