Loading repository data…
Loading repository data…
WebDevWhispers / repository
Plantilla inicial para proyectos JavaScript Vanilla.
Este repositorio es tu punto de partida ideal para proyectos basados en JavaScript puro (Vanilla JS). Está equipado con herramientas modernas para optimizar y mejorar tu experiencia de desarrollo.
Crea tu repositorio 🛠️:
En vez de clonar este repositorio directamente, haz clic en el botón "Use this template" (Usar esta plantilla) en la página principal del repositorio para crear un nuevo repositorio basado en esta plantilla.
Vite ⚡:
Vite ya está listo para usarse, pero puedes ajustar la configuración en vite.config.js.
Husky, Commitlint y Lint-staged 🐕:
Instala las dependencias:
npm install
Luego, para asegurarte de que Husky está bien configurado:
npm run prepare
GitHub Actions 🤖:
Las acciones ya están preconfiguradas. Encuentra los detalles en .github/workflows.
El plugin EditorConfig para VSCode asegura que todos los desarrolladores del proyecto sigan un estilo de codificación consistente. La configuración se define en el archivo .editorconfig en la raíz del proyecto.
.editorconfig al abrir el proyecto en VSCode.Prettier es una herramienta de formateo de código que garantiza un estilo de código consistente en todo el proyecto. El plugin Prettier para VSCode ayuda a aplicar estas reglas automáticamente.
Instalación:
"editor.defaultFormatter": "esbenp.prettier-vscode" en la configuración de usuario o de espacio de trabajo).Uso:
"editor.formatOnSave": true en la configuración de VSCode.ESLint es una herramienta de análisis de código estático que identifica y reporta patrones encontrados en el código, ayudando a mantener un código de calidad y libre de errores.
Husky facilita la integración de hooks en git para mejorar el proceso de commits y pushes.
A continuación se explican tres hooks configurados para este proyecto: pre-commit, commit-msg y pre-push.
pre-commit: Este hook se ejecuta antes de que se realice un commit. El script verifica que la rama actual no sea main o master y, si lo es, impide el commit. Luego ejecuta lint-staged para revisar y formatear los archivos que están en staging.
commit-msg: Este hook se ejecuta después de que se ha escrito el mensaje de commit, pero antes de que el commit se guarde. Usa commitlint para asegurar que el mensaje del commit sigue un formato específico.
pre-push: Este hook se ejecuta antes de que se envíen los cambios a una rama remota. Verifica que el nombre de la rama siga un formato específico (hotfix/, bugfix/, o feature/ seguido de un nombre alfanumérico).
Commitlint garantiza que los mensajes de tus commits sean coherentes y sigan un estándar.
Lint-staged lintea y formatea únicamente los archivos que se han modificado y están en staging.
GitHub Actions automatiza tus flujos de trabajo, como pruebas y linting, en cada push o pull request. A continuación se explican dos configuraciones de flujo de trabajo de GitHub Actions: audit.yml y test.yml.
audit.yml: Este archivo define una acción de GitHub que se ejecuta cada vez que se hace un push al repositorio. La acción realiza una auditoría de código, verificando la calidad del mismo usando ESLint.
test.yml Este archivo define una acción de GitHub que se ejecuta cada vez que se hace un push al repositorio. La acción ejecuta las pruebas del proyecto para asegurarse de que todo funciona correctamente. Actualmente, los pasos están comentados porque no se deben ejecutar los tests hasta que no estén definidos.
Aquí están los comandos npm configurados y su explicación:
npm run dev:vitenpm run build:
vite build.vite buildnpm run preview:
vite preview.vite previewnpm run prepare:
husky installnpm run lint:
src usando ESLint para detectar y reportar problemas de estilo y errores.eslint srcnpm run lint:fix:
src y automáticamente corrige los problemas que pueden ser solucionados.eslint src --fixnpm run format:
src usando Prettier, asegurando un estilo de código consistente.prettier --write srcPara mantener un flujo de trabajo limpio:
Nunca hagas push directamente a la rama main. Esta rama debería tener restricciones de push ya que cualquier cambio directo puede causar conflictos y complicaciones.
Crea siempre una rama aparte para tus cambios y características. Asegúrate de que sus nombres sean descriptivos y sigan las convenciones establecidas.
Realiza Pull Requests (PRs) para integrar tus cambios. Una vez que tu rama esté lista y hayas realizado tus commits, crea una Pull Request en GitHub. Esto desencadenará las GitHub Actions para validar tu código antes de la integración.