Publicacion como paquete Composer
Pasos para Publicar un Módulo como Paquete Composer
1. Estructura del Módulo
Asegúrate de tener la estructura estándar recomendada por Composer (Magento):
mynamespace/
└── mymodule/
├── src/
├── etc/
├── ...otros directorios del módulo...
├── composer.json
└── README.md
composer.json
2. Crear el Ejemplo básico (composer.json
):
{
"name": "andromeda/correo-argentino",
"description": "Integración de Correo Argentino para Magento 2",
"type": "magento2-module",
"version": "1.0.0",
"require": {
"php": "^8.1",
"magento/framework": ">=102.0.0"
},
"autoload": {
"psr-4": {
"Andromeda\\CorreoArgentino\\": ""
}
},
"license": "proprietary",
"authors": [
{
"name": "Tu Nombre",
"email": "tu@email.com"
}
]
}
Recuerda actualizar nombre, descripción, y otros datos según corresponda.
3. Inicializar el Repositorio Git
Dentro de la raíz del módulo:
git init
git add .
git commit -m "Primer commit del módulo"
4. Subir el Repositorio a una Plataforma Remota
Por ejemplo, sube el repositorio a GitHub, GitLab, Bitbucket, etc. (Sigue las instrucciones de la plataforma elegida para crear el repo y subirlo).
5. Crear un Tag para la Versión
Esto es fundamental para Composer; así define la versión del paquete.
git tag v1.0.0
git push origin main --tags
Importante: Debes crear un tag para cada nueva versión (v1.0.1, v1.1.0, v2.0.0, etc).
6. Publicar en Packagist (o propio repo privado)
- Ve a https://packagist.org/
- Haz clic en Submit.
- Inserta la URL de tu repo público y sigue los pasos.
Si es privado, puedes usar Satis, Private Packagist, o configurar el repo en composer.json
de tus proyectos Magento (ejemplo con VCS):
"repositories": [
{
"type": "vcs",
"url": "git@github.com:andromeda/correo-argentino.git"
}
]
7. Instalar el Módulo desde Composer
En el proyecto donde lo quieras usar:
composer require andromeda/correo-argentino:^1.0
Flujo para Versionar el Módulo
- Haz cambios en el código.
- Sube tus cambios a la rama principal.
-
Aumenta el número de versión en
composer.json
. - Crea y sube un nuevo tag versión:
git tag v1.1.0
git push origin main --tags
- Si usas Packagist, se actualizará automáticamente o puedes forzar el update.
- Los proyectos podrán actualizarlo vía
composer update