Configuración de Composer
Descripción General
Este documento describe la configuración completa del archivo composer.json para el proyecto Gaia Magento 2. Incluye todas las dependencias, repositorios, configuraciones de autoloading y plugins permitidos.
Información del Proyecto
{
"name": "magento/project-community-edition",
"description": "eCommerce Platform for Growth (Community Edition)",
"type": "project",
"version": "2.4.0",
"minimum-stability": "stable"
}
- Nombre:
magento/project-community-edition - Descripción: Plataforma de eCommerce para crecimiento (Edición Community)
- Tipo: Proyecto
- Versión: 2.4.0
- Estabilidad mínima: stable
Licencias
"license": [
"OSL-3.0",
"AFL-3.0"
]
El proyecto utiliza las licencias estándar de Magento:
- OSL-3.0: Open Software License
- AFL-3.0: Academic Free License
Configuración de Composer
Configuración General
"config": {
"preferred-install": "dist",
"sort-packages": true
}
preferred-install: "dist" - Prefiere instalar paquetes como distribuciones comprimidassort-packages: true - Ordena automáticamente los paquetes en composer.json
Plugins Permitidos
"allow-plugins": {
"magento/magento-composer-installer": true,
"magento/inventory-composer-installer": true,
"laminas/laminas-dependency-plugin": true,
"magecom/composer-installer": true,
"dealerdirect/phpcodesniffer-composer-installer": true,
"magento/composer-root-update-plugin": true,
"php-http/discovery": true
}
Estos plugins están permitidos para:
- Instalación de módulos de Magento
- Gestión de inventario
- Dependencias de Laminas
- Instalación de módulos Magecom
- Instalación de PHP CodeSniffer
- Actualizaciones de Magento
- Descubrimiento de HTTP clients
Dependencias Principales (require)
Motores de Búsqueda
"algolia/algoliasearch-custom-algolia-magento-2": "^1.1",
"algolia/algoliasearch-magento-2": "^3.1",
"typesense/typesense-php": "^4.8"
- Algolia: Motor de búsqueda principal con módulo personalizado
- Typesense: Motor de búsqueda alternativo
Módulos de Amasty
"amasty/adminactionslog": "^2.0",
"amasty/mostviewed": "2.11.3"
- adminactionslog: Registro de acciones administrativas
- mostviewed: Productos más vistos
Módulos de Gaia (Internos)
"gaia/core": "0.5.1",
"gaia/gabo-php": "v3.0.1",
"gaia/gaia-elastic": "0.1.5",
"gaia/williams-php": "0.3.4"
- core: Módulo central de Gaia
- gabo-php: Funcionalidades específicas de Gabo
- gaia-elastic: Integración con Elasticsearch
- williams-php: Funcionalidades específicas de Williams
Métodos de Pago
"conekta/conekta-php": "4.3.0",
"mercadopago/adb-payment": "^1.8",
"openpay/magento2-cards": "3.2.1",
"stripe/stripe-payments": "2.7.7"
- Conekta: Pagos en México
- MercadoPago: Pagos en Latinoamérica
- Openpay: Pagos con tarjeta
- Stripe: Pagos internacionales
Módulos de Magento GraphQL
"magento/module-gift-message-graph-ql": "^100.4",
"magento/module-newsletter-graph-ql": "^100.4",
"magento/module-review-graph-ql": "^100.4",
"magento/module-send-friend-graph-ql": "^100.4",
"magento/module-store-graph-ql": "^100.4"
Módulos GraphQL para funcionalidades específicas de Magento.
Otros Módulos Importantes
"avada/module-proofo": "1.0.4",
"gorgias/module-magento-connect": "^1.2",
"magecom/module-lazy-load": "^1.0",
"magecom/module-webp-converter": "^1.0",
"mageplaza/magento-2-social-login": "4.1.2",
"mageplaza/module-banner-slider": "4.0.2",
"mageplaza/module-smtp": "4.5.3",
"mailchimp/mc-magento2": "102.3.43",
"reviewscouk/reviews": "^0.0.42"
- Proofo: Funcionalidades de prueba
- Gorgias: Integración con CRM
- Lazy Load: Carga diferida de imágenes
- WebP Converter: Conversión de imágenes a WebP
- Social Login: Login con redes sociales
- Banner Slider: Sliders de banners
- SMTP: Configuración de correo
- Mailchimp: Email marketing
- Reviews.co.uk: Sistema de reseñas
Librerías de Soporte
"gmostafa/php-graphql-client": "^1.13",
"newrelic/monolog-enricher": "1.0.1",
"php-http/curl-client": "^2.3",
"symfony/http-client": "^5.4"
- GraphQL Client: Cliente PHP para GraphQL
- NewRelic: Monitoreo de aplicaciones
- HTTP Clients: Clientes HTTP para APIs
Dependencias de Desarrollo (require-dev)
Herramientas de Testing
"allure-framework/allure-phpunit": "~1.2.0",
"magento/magento2-functional-testing-framework": "^3.0",
"phpunit/phpunit": "^9"
Herramientas de Calidad de Código
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
"friendsofphp/php-cs-fixer": "~2.16.0",
"magento/magento-coding-standard": "*",
"pdepend/pdepend": "~2.7.1",
"phpcompatibility/php-compatibility": "^9.3",
"phpmd/phpmd": "^2.8.0",
"phpstan/phpstan": ">=0.12.3 <=0.12.23",
"sebastian/phpcpd": "~5.0.0",
"squizlabs/php_codesniffer": "~3.5.4"
- PHP CodeSniffer: Análisis estático de código
- PHP CS Fixer: Formateo automático de código
- PHPStan: Análisis estático avanzado
- PHPMD: Detección de código problemático
- PHPCPD: Detección de código duplicado
Autenticación
"lusitanian/oauth": "~0.8.10"
Módulos Reemplazados (replace)
El proyecto reemplaza varios módulos estándar de Magento:
Métodos de Pago Reemplazados
"amzn/amazon-pay-and-login-magento-2-module": "*",
"amzn/amazon-pay-and-login-with-amazon-core-module": "*",
"amzn/amazon-pay-module": "*",
"amzn/amazon-pay-sdk-php": "*",
"amzn/login-with-amazon-module": "*",
"klarna/m2-payments": "*",
"klarna/module-core": "*",
"klarna/module-kp": "*",
"klarna/module-ordermanagement": "*"
Módulos de Envío Reemplazados
"temando/module-shipping": "*",
"temando/module-shipping-m2": "*",
"temando/module-shipping-remover": "*",
"magento/module-ups": "*",
"magento/module-usps": "*",
"magento/module-fedex": "*",
"magento/module-dhl": "*"
Módulos de Impuestos Reemplazados
"vertexinc/product-magento-module": "*",
"vertex/module-address-validation": "*",
"vertex/module-tax": "*",
"vertex/product-magento-module": "*",
"vertex/sdk": "*"
Otros Módulos Reemplazados
"magento/module-aws-s3-page-builder": "*",
"magento/module-marketplace": "*",
"magento/module-page-builder": "*",
"magento/module-page-builder-admin-analytics": "*",
"magento/module-page-builder-analytics": "*",
"magento/module-catalog-page-builder-analytics": "*",
"magento/module-cms-page-builder-analytics": "*",
"magento/module-sample-data": "*",
"magento/module-signifyd": "*",
"magento/module-advanced-search": "*",
"magento/module-elasticsearch": "*",
"magento/module-elasticsearch-6": "*",
"magento/module-elasticsearch-7": "*",
"magento/module-inventory-elasticsearch": "*",
"magento/module-elasticsearch-catalog-permissions": "*",
"elasticsearch/elasticsearch": "*"
Conflictos
"conflict": {
"gene/bluefoot": "*"
}
El proyecto no es compatible con el módulo Bluefoot de Gene.
Configuración de Autoloading
Autoloading Principal
"autoload": {
"psr-4": {
"Magento\\Framework\\": "lib/internal/Magento/Framework/",
"Magento\\Setup\\": "setup/src/Magento/Setup/",
"Magento\\": "app/code/Magento/",
"Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/",
"Algolia\\AlgoliaSearch\\RequestOptions\\": "app/code/Algolia/AlgoliaSearch/RequestOptions/",
"Gaia\\Core\\Model\\": "app/code/Gaia/Core/Model/"
},
"psr-0": {
"": [
"app/code/",
"generated/code/"
]
},
"files": [
"app/etc/NonComposerComponentRegistration.php"
],
"exclude-from-classmap": [
"**/dev/**",
"**/update/**",
"**/Test/**"
]
}
Autoloading de Desarrollo
"autoload-dev": {
"psr-4": {
"Magento\\Sniffs\\": "dev/tests/static/framework/Magento/Sniffs/",
"Magento\\Tools\\": "dev/tools/Magento/Tools/",
"Magento\\Tools\\Sanity\\": "dev/build/publication/sanity/Magento/Tools/Sanity/",
"Magento\\TestFramework\\Inspection\\": "dev/tests/static/framework/Magento/TestFramework/Inspection/",
"Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/",
"Magento\\PhpStan\\": "dev/tests/static/framework/Magento/PhpStan/"
}
}
Repositorios Configurados
Repositorios Oficiales
"0": {
"type": "composer",
"url": "https://repo.magento.com/"
}
Repositorios de Gaia (Git)
"1": {
"type": "git",
"url": "https://bitbucket.org/gaiadevelop/gabo-php"
},
"2": {
"type": "git",
"url": "https://bitbucket.org/gaiadevelop/williams-php"
},
"3": {
"type": "git",
"url": "https://bitbucket.org/gaiadevelop/gaia-elastic"
},
"4": {
"type": "git",
"url": "https://bitbucket.org/gaiadevelop/gaia-core"
}
Repositorios de Terceros
"5": {
"type": "composer",
"url": "https://magento2connector.unific.com"
},
"amasty": {
"type": "composer",
"url": "https://composer.amasty.com/community/"
},
"amasty_account2": {
"type": "composer",
"url": "https://composer2.amasty.com/community/"
},
"magecom": {
"type": "composer",
"url": "https://repo.magecom.net"
}
Configuración Extra
"extra": {
"magento-force": "override"
}
Esta configuración fuerza el override de archivos de Magento.
Consideraciones Importantes
Dependencias Críticas
- Módulos Gaia: Son módulos internos desarrollados específicamente para este proyecto
- Métodos de Pago: Múltiples proveedores para diferentes regiones geográficas
- Motores de Búsqueda: Algolia como principal y Typesense como alternativo
- GraphQL: Módulos específicos para funcionalidades headless
Repositorios Privados
Los módulos de Gaia están alojados en repositorios privados de Bitbucket:
gabo-php: Funcionalidades específicas de Gabowilliams-php: Funcionalidades específicas de Williamsgaia-elastic: Integración con Elasticsearchgaia-core: Módulo central de Gaia
Herramientas de Desarrollo
El proyecto incluye un conjunto completo de herramientas para:
- Testing automatizado
- Análisis estático de código
- Formateo automático
- Detección de problemas de calidad
Módulos Reemplazados
Se han reemplazado varios módulos estándar de Magento para:
- Evitar conflictos con módulos personalizados
- Optimizar el rendimiento
- Reducir la complejidad del sistema
- Usar alternativas más específicas para el proyecto