Saltar al contenido principal

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/*.jsSí — regenerar amd/build
Solo cambió SCSS (scss/preset/cdigital.scss)No — se recompila en destino con purge_caches.php
Solo cambiaron plantillas Mustache / PHP / langNo

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.

FuenteBuildFunción
amd/src/aitutor.jsamd/build/aitutor.min.jsDrawer del tutor IA: envío de mensajes y render de respuestas
amd/src/banner_carousel.jsamd/build/banner_carousel.min.jsCarrusel de banners de la portada
amd/src/coursecard_favourite.jsamd/build/coursecard_favourite.min.jsToggle de favorito en la card de curso
amd/src/coursecard_teachers.jsamd/build/coursecard_teachers.min.jsCarga batcheada de nombres de docentes
amd/src/coursecategories.jsamd/build/coursecategories.min.jsSincroniza aria-expanded en las cards de categoría
amd/src/frontpage_header_scroll.jsamd/build/frontpage_header_scroll.min.jsComportamiento del encabezado de la portada al hacer scroll
amd/src/miscursos_tabs.jsamd/build/miscursos_tabs.min.jsPestañas de la sección "Mis Cursos" del Área personal
amd/src/mycourses_filters.jsamd/build/mycourses_filters.min.jsFila de filtros de /my/courses.php
amd/src/repository.jsamd/build/repository.min.jsWrappers 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 status limpio en public/theme/cdigital/amd/build/ (build ya commiteado).
  • node_modules/, .grunt/, .eslint*, .stylelint* y phpcs.xml son 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.