CONVENTIONAL COMMIT
Los Conventional Commits son un estándar para escribir mensajes de confirmación (commits) en un proyecto. Este formato sigue una estructura clara que mejora la legibilidad y automatización en proyectos, especialmente en el desarrollo colaborativo y la integración continua. La convención es utilizada comúnmente con herramientas como Semantic Release y ayuda a generar automáticamente versiones, changelogs y más.
Estructura de un mensaje de commit convencional¶
<tipo>(<ámbito>): <descripción breve>
[opcional cuerpo del mensaje]
[opcional notas de pie de página]
Componentes clave:¶
-
Tipo: Describe la categoría del cambio que introduces. Ejemplos comunes:
feat: Nueva funcionalidad.fix: Corrección de errores.docs: Cambios en documentación.style: Cambios que no afectan el significado del código (formato, espacios, comas, etc.).refactor: Reestructuración de código sin cambios funcionales.test: Adición o modificación de pruebas.chore: Tareas auxiliares (actualización de dependencias, cambios en scripts de configuración).- Ámbito (opcional): Área del proyecto afectada. Ejemplo:
auth,API,ui.
-
Descripción breve: Resumen claro y conciso del cambio (máximo 72 caracteres).
-
Cuerpo (opcional): Detalles adicionales sobre el cambio. Explica qué, por qué y cómo.
-
Notas de pie de página (opcional): Información relevante, como cerrar tickets o referencias. Ejemplo:
Closes #123.
Ejemplos:¶
Commit para una nueva funcionalidad:
feat(auth): agregar autenticación con Google
Commit para corrección de errores:
fix(ui): corregir error en la validación del formulario
Commit con cuerpo y notas:
fix(api): solucionar error al procesar datos vacíos
Se agregó una condición para verificar si el objeto `data` está vacío antes de procesarlo, previniendo errores en la ejecución.
Closes #456
Ventajas:¶
- Facilita la generación de changelogs automáticos.
- Ayuda a rastrear el propósito de los cambios.
- Mejora la colaboración y comunicación en equipos.
Recomendaciones:¶
- Utiliza herramientas como Commitizen o Conventional Commit Linter para mantener consistencia en los commits.
varios cambios para agregar campos de entrada de autenticación y funcionalidad asociada al proyecto. Los cambios más importantes incluyen agregar el componente AuthInputFields, crear ganchos personalizados para la visibilidad de contraseñas y agregar íconos SVG para los campos de correo electrónico y contraseña
Nuevo componente y Hooks:¶
src/components/AuthInputFields/index.jsx: Se agregó el componenteAuthInputFieldspara manejar los campos de entrada de correo electrónico y contraseña con interruptor de visibilidad y botón de inicio de sesión. *src/components/AuthInputFields/hooks/useHandlerPasswordVisibility.js: Se creó un hook personalizadouseHandlerPasswordVisibilitypara administrar la visibilidad del campo de entrada de contraseña.
Iconos SVG:¶
src/components/AuthInputFields/icons/email.jsx: Se agregó el componenteSvgEmailpara el ícono del campo de entrada de correo electrónico. *src/components/AuthInputFields/icons/password.jsx: Se agregaron los componentesSvgPassword,SvgHideySvgShowpara los íconos del campo de ingreso de contraseña.
Integración y dependencias:¶
package.json: Se agregó la dependenciareact-native-svgpara admitir íconos SVG.
Exportaciones:¶
src/components/AuthInputFields/index.js: Se exportaronAuthInputFields, íconos SVG y un enlace personalizado para usar en otras partes de la aplicación. *src/components/AuthInputFields/icons/index.js: Se exportaron íconos SVG desde el directorioicons.