mahocommerce / maho-composer-plugin
Extension for Composer to copy assets and enable autoloading for Maho projects.
Package info
github.com/MahoCommerce/maho-composer-plugin
Type:composer-plugin
pkg:composer/mahocommerce/maho-composer-plugin
Requires
- php: >=8.3
- composer-plugin-api: ^2.1
- composer-runtime-api: ^2
- symfony/routing: ^7.4
Requires (Dev)
- api-platform/core: ^4.0
- composer/composer: ^2.9.3
- friendsofphp/php-cs-fixer: *
- phpstan/phpstan: ^2.0
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-strict-rules: ^2.0
- rector/rector: *
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- v4.6.0
- v4.5.1
- v4.5.0
- v4.4.0
- v4.3.0
- v4.2.1
- v4.2.0
- v4.1.1
- v4.1.0
- v4.0.32
- v4.0.31
- v4.0.30
- v4.0.29
- v4.0.28
- v4.0.27
- v4.0.26
- v4.0.25
- v4.0.24
- v4.0.23
- v4.0.22
- v4.0.21
- v4.0.20
- v4.0.19
- v4.0.18
- v4.0.17
- 4.0.16
- 4.0.15
- 4.0.14
- 4.0.13
- 4.0.12
- 4.0.11
- 4.0.10
- v4.0.9
- v4.0.8
- v4.0.7
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.0
- v3.0.0
- v2.1.0
- v2.0.0
- v1.2.0
- v1.1.0
- v1.0.0
This package is auto-updated.
Last update: 2026-09-11 10:37:57 UTC
README
Configuration
The plugin reads all its options from the extra key of a composer.json file.
All options are optional.
extra.maho.publish-assets
Read from the root package. A boolean. The default is false.
A module repository is not a deployment target. When you run Composer inside a
module repository, the plugin does not copy the Maho public/ tree, the maho
CLI, or the assets of other modules into it. This keeps the working copy clean.
Set this option to true to publish the assets anyway. Use it when a module
repository must also work as a test store.
{
"type": "maho-module",
"extra": {
"maho": {
"publish-assets": true
}
}
}
This option has no effect on a project. A project always gets the assets.
extra.maho.preserve-files
Read from the root package. An array of strings.
Each string is a file path. The path is relative to the project directory. The plugin does not overwrite a listed file if the file already exists. Use it to protect a file that you changed in the project.
{
"extra": {
"maho": {
"preserve-files": [
"public/robots.txt",
"public/favicon.ico"
]
}
}
}
extra.map
Read from a module package. An array of [source, target] pairs.
The plugin uses this option only when the module has no modman file. It gives
compatibility with Cotya/magento-composer-installer. A modman file is the
preferred format.
{
"type": "maho-module",
"extra": {
"map": [
["src/app/code/community/Acme/Example", "app/code/community/Acme/Example"],
["src/app/etc/modules/Acme_Example.xml", "app/etc/modules/Acme_Example.xml"]
]
}
}