Tech Vision es una empresa ficticia de desarrollo y consultoría de software que ofrece una variedad de servicios tecnológicos a sus clientes. Este proyecto se desarrollo como parte de un trabajo práctico de las materias de Javascript Avanzado y Hojas de estilo en Cascada Avanzado de la Universidad Tecnológica del Perú.
git clone https://github.com/TheJose24/TechVision-App.git
cd TechVision-Appnpm installEste comando instalará las dependencias del proyecto, incluyendo Husky, ESLint, Prettier, Lint-Staged, Commitlint y otros paquetes de desarrollo.
TechVision-App/
├── .husky/ # Configuración de Husky para hooks de Git
├── .vscode/ # Configuraciones específicas de VSCode
├── src/ # Código fuente principal de la aplicación Angular
├── .editorconfig # Configuración de estilos de edición
├── .eslintrc.json # Configuración de ESLint para verificación de código
├── .prettierrc # Configuración de Prettier para formato de código
├── .lintstagedrc.json # Configuración de Lint-Staged para verificación de archivos en staging
├── commitlint.config.js # Reglas de Commitlint para mensajes de commit
└── README.md # Guía del proyecto
Este proyecto utiliza varias herramientas de calidad de código que se ejecutan automáticamente durante el desarrollo.
Husky asegura que todo el código subido pase verificaciones:
- pre-commit: ejecuta Lint-Staged.
- commit-msg: valida mensajes de commit con Commitlint.
Lint-Staged verifica los archivos en staging:
{
"*.ts": ["prettier --write", "eslint"],
"*.html": ["eslint", "prettier --write"],
"*.css": "prettier --write"
}
ESLint y Prettier ayudan a mantener un estilo y estructura de código consistentes.
- ESLint se configura para forzar buenas prácticas de desarrollo en TypeScript y Angular.
- Prettier se encarga de formatear el código automáticamente, siguiendo las reglas definidas en
.prettierrc.
Commitlint asegura que todos los mensajes de commit sigan el formato establecido.
Los mensajes de commit deben seguir el siguiente formato
<tipo>(<alcance>): <descripción corta>
- feat: Añadir una nueva funcionalidad.
- fix: Corregir un error.
- docs: Documentación relacionada.
- style: Cambios que no afectan la lógica (espacios, formato, etc.).
- refactor: Cambios en el código que no corrigen errores ni añaden funcionalidades.
- perf: Cambios que mejoran el rendimiento.
- test: Añadir pruebas faltantes o corregir pruebas existentes.
- build: Cambios que afectan el sistema de construcción o dependencias externas.
- ci: Cambios en los archivos de configuración de CI.
- chore: Cambios menores que no afectan el código de la aplicación.
- revert: Revertir un commit anterior.
Ejemplos:
feat(ui): agregar formulario de contacto
fix(reports): corregir error en la generacion de reportes
docs(auth): actualizar documentación sobre autenticación
- Crear una Rama para el Cambio: Crea una nueva rama para cada tarea o cambio.
git checkout -b nombre-de-la-rama-
Desarrollar Funcionalidad: Realiza los cambios en el código siguiendo las convenciones y ejecutando comandos de linting y pruebas localmente.
-
Validar Código: Antes de hacer commit, asegúrate de que el código pase las verificaciones de ESLint y Prettier:
npm run format
npm run lint- Hacer Commit: Escribe un mensaje de commit claro y conciso, siguiendo las convenciones establecidas. Al hacer commit,
HuskyyLint-Stagedejecutarán automáticamente los linters configurados.
git add .
git commit -m "feat(ui): agregar formulario de contacto"- Enviar los Cambios: Cuando todo esté en orden, sube la rama y abre un Pull Request (PR) para revisión.
git push origin nombre-de-la-ramaImportant
Cuando abras un Pull Request, recuerda asignarme a mí para la revisión.
- Iniciar Servidor: npm start
- Ejecutar ESLint: npm run lint
- Formatear con Prettier: npm run format
Este proyecto está licenciado bajo la Licencia Apache License 2.0. Consulta el archivo LICENSE para más detalles.