Build de assets del tema (AMD + SCSS)
theme_cdigital usa el toolkit de desarrollo de Moodle (Grunt) para compilar sus módulos AMD
(amd/src/*.js → amd/build/*.min.js). Los amd/build/*.min.js se versionan en git y son
los que se despliegan: el build se hace en local, antes de copiar el código, nunca en el
servidor destino.
Cuándo es necesario
| Cambio | ¿Build? |
|---|---|
Se modificó algún theme/cdigital/amd/src/*.js | Sí — regenerar amd/build |
Solo cambió SCSS (scss/preset/cdigital.scss) | No — se recompila en destino con purge_caches.php |
| Solo cambiaron plantillas Mustache / PHP / lang | No |
Módulos AMD del tema
El tema tiene nueve módulos AMD. Cada archivo de amd/src/ debe tener su .min.js
correspondiente en amd/build/: esa correspondencia es el checklist de build previo a la entrega.
| Fuente | Build | Función |
|---|---|---|
amd/src/aitutor.js | amd/build/aitutor.min.js | Drawer del tutor IA: envío de mensajes y render de respuestas |
amd/src/banner_carousel.js | amd/build/banner_carousel.min.js | Carrusel de banners de la portada |
amd/src/coursecard_favourite.js | amd/build/coursecard_favourite.min.js | Toggle de favorito en la card de curso |
amd/src/coursecard_teachers.js | amd/build/coursecard_teachers.min.js | Carga batcheada de nombres de docentes |
amd/src/coursecategories.js | amd/build/coursecategories.min.js | Sincroniza aria-expanded en las cards de categoría |
amd/src/frontpage_header_scroll.js | amd/build/frontpage_header_scroll.min.js | Comportamiento del encabezado de la portada al hacer scroll |
amd/src/miscursos_tabs.js | amd/build/miscursos_tabs.min.js | Pestañas de la sección "Mis Cursos" del Área personal |
amd/src/mycourses_filters.js | amd/build/mycourses_filters.min.js | Fila de filtros de /my/courses.php |
amd/src/repository.js | amd/build/repository.min.js | Wrappers de core/ajax (WS) |
Procedimiento (en local)
Requiere Node ≥ 22.11 (ver Requisitos).
cd /ruta/local/APP158C
source ~/.nvm/nvm.sh && nvm use 22.16.0 # Node >=22.11
npm install # primera vez o tras cambios de dependencias
cd public/theme/cdigital && npx grunt amd # regenera amd/build/*.min.js
Antes de desplegar
- Confirmar
git statuslimpio enpublic/theme/cdigital/amd/build/(build ya commiteado). node_modules/,.grunt/,.eslint*,.stylelint*yphpcs.xmlson generados por el toolkit y están en.gitignore: no se commitean ni se sincronizan al servidor.
Esta actividad es previa a la entrega
El build se ejecuta en el entorno de desarrollo, antes de generar el artefacto. El ambiente de Certificación recibe los assets ya compilados y no necesita Node. No es un paso del plan de despliegue.