Tiger_Module_Installer
@api
Tiger_Module_Installer — install / update / remove modules from public GitHub repos.
Flow (WordPress-familiar, no git/composer): resolve a PINNED release ref → read module.json
→ download the release tarball → extract (guarded) → move into application/modules/module table. installFromTarball() is
the shared tail (also usable for offline/local installs + testing).
Safety: public-repo-only (raw 404 = not installable), slug + reserved-name validation,
extraction confined to a temp dir then moved, and remove() only touches installer-managed
modules — never a developer's custom module.
Methods
installFromUrl()
installFromUrl($repoUrl, $ref = null, array $opts = [])
Install (or update, with opts[force]) a module from a public GitHub URL.
$repoUrlstring— a GitHub repo URL or "org/repo" slug$refstring|null— a specific ref to pin, or null to resolve the latest release$optsarray— install options (e.g. ['force' => true] to update in place)
Returns array{slug:string,name:string,version:?string,ref:?string} — the installed module summary
Throws RuntimeException — if the URL, ref, manifest, or download is invalid/unreachable