vaimo / magento-composer-plugin
Implements common functionality that is useful when managing a Composer project that includes any edition of Magento 2
Requires
- composer-plugin-api: ^2.0
- magento/magento2-base: *
- magento/module-deploy: 100.*
Requires (Dev)
- composer/composer: ~2.3.10
- laminas/laminas-mvc: ^3.3
- laminas/laminas-servicemanager: ^3.11.2
- magento/zendframework1: ~1.12.16
- phpunit/phpunit: 9.3.0
- vaimo/composer-changelogs: ^1.0.0
- dev-master
- 3.0.1
- 3.0.0
- 2.5.0
- 2.4.7
- 2.4.6
- 2.4.5
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.0
- 2.2.0
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.0
- 0.1.0
- dev-feature/magento-2-4-6-p5-compatibility
- dev-feature/composer-update
- dev-BM2-5526-magento244-support
- dev-feature_BHFIM2-5356_mgo_245_support
- dev-feature/latest-laminas
This package is auto-updated.
Last update: 2024-11-29 11:04:09 UTC
README
Implements common functionality that is useful when managing a Composer project that includes any edition of Magento 2.
Features
- Automatically creates a database and installs Magento 2 after running composer install
Supports
- Magento 2.0
- Magento 2.1
- Magento 2.2
- Magento 2.3
- Magento 2.4 (up to 2.4.6-p5 with most recent 3.0 version)
Usage
Require vaimo/magento-composer-plugin in your Magento 2 project by calling:
composer require vaimo/magento-composer-plugin
Example composer.json
#!json
{
...
"require": {
"magento/product-community-edition": "~2.0",
"vaimo/magento-composer-plugin": "~2.1"
}
...
}
Magento admin user login credentials
- Username: admin
- Password: test123
Note
The plugin will use the database credentials found in ~/.my.cnf
so I would advice you to not use the
plugin to install production sites unless you know what you are doing.
Plugin events used
- post-install-cmd: Automatically creates a database and installs Magento 2.
Configuration
The plugin can be configured by using environment variables and / or setting values in the extra
section in composer.json
Environment variables
All environment variables should be in uppercase, prefixed with MCP_
and -
replaced with _
. Example:
MCP_DB_NAME=project_database
MCP_USE_REWRITES=0
composer.json - extra section
To configure the plugin in a Composer project, specify config values in the extra section inside of
the magento-composer-plugin
section. Example:
#!json
{
"extra": {
"magento-composer-plugin": {
"db-name": "project_database"
...
}
}
}
Available configuration
(value) = default value
General configuration
- 'install-magento' (true). If Magento should be installed
- 'cleanup-database' (false). Cleanup the database before installation
- 'deploy-mode' (default). Set deploy mode after installation. Available modes are 'developer' and 'production'
Use Composer --no-interaction / COMPOSER_NO_INTERACTION
if you want to disable interaction.
Installer data
- 'fqdn' (taken from hostname --fqdn)
- 'base-url'
- 'backend-frontname' (admin)
- 'session-save' (files)
- 'db-host' (localhost)
- 'db-name' (project directory)
- 'db-user' (random)
- 'db-password' (random)
- 'db-model' (mysql4)
- 'db-engine' (innodb)
- 'db-prefix' ('')
- 'db-init-statements' (SET NAMES utf8;)
- 'admin-firstname' (Magento)
- 'admin-lastname' (User)
- 'admin-email' (user@example.com)
- 'admin-user' (admin)
- 'admin-password' (test123)
- 'language' => (en_US)
- 'currency' => (USD)
- 'timezone' => (America/Chicago)
- 'use-rewrites' => (true)
Development
Test commands
To manually test included commands, the easiest way is to have the plugin installed in a project and use
the run-script
command in Composer. To test the post-install-cmd
:
composer run-script post-install-cmd
Run tests
make test