parseManifest() was falling back to the filename (pkg_mokowaas.xml →
pkg_mokowaas) as the element, then typePrefix() prepended another pkg_.
Now uses <packagename> for packages and strips existing type prefixes
from the element before prepending.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add cli/joomla_build.php — standalone build tool that detects all
Joomla extension types from the XML manifest and builds accordingly:
- plugin, module, component, template, library, file: flat ZIP
- package: nested ZIPs for each sub-extension in packages/
Update both workflows to call joomla_build.php via the moko-platform
PHP API instead of inlining bash build logic.
Also extends joomla_release.php with:
- typePrefix() for correct naming (plg_, mod_, com_, tpl_, pkg_, lib_)
- buildPackageZip() for multi-extension package assembly
- copyDir() helper
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>