Stack y build
Lenguajes y frameworks
| Componente | Tecnología | Versión | Evidencia |
|---|---|---|---|
| Generador de sitio | VitePress | ^1.6.4 | package.json:13 |
| Framework UI | Vue | ^3.5.34 | package.json:14 |
| Configuración | TypeScript (config.mts) | (la de VitePress) | .vitepress/config.mts:1 |
| Contenido | Markdown (+ HTML/Vue inline en páginas) | N/A | es/, en/, index.md:6-15 |
| Runtime de build | Node | 20-alpine | Dockerfile:2 |
| Servidor web | nginx | alpine | Dockerfile:14 |
El proyecto es private: true y no se publica como paquete (package.json:3).
Comandos
| Comando | Acción | Evidencia |
|---|---|---|
npm install | Instala dependencias | README.md:15, CLAUDE.md:23 |
npm run dev | Servidor de desarrollo (vitepress dev) | package.json:8 |
npm run build | Build estático a .vitepress/dist (vitepress build) | package.json:9, CLAUDE.md:25 |
npm run preview | Previsualiza el build (vitepress preview) | package.json:10 |
En la imagen Docker se usa npm ci --ignore-scripts para una instalación reproducible (Dockerfile:8).
Pruebas y linting
- No hay tests ni lint definidos: solo existen los scripts
dev/build/preview(package.json:7-11; "No hay lint ni tests definidos",CLAUDE.md:30). N/A honesto: no existe suite de pruebas en el repo.
Dependencias clave
vitepressyvueson las únicas dependencias declaradas, ambas endevDependencies(package.json:12-15). El resto del árbol es transitivo (package-lock.json, ~88 KB).- Dependencia externa de Google Fonts cargada en runtime por el navegador (Inter, JetBrains Mono) (
.vitepress/config.mts:30-32).
Build multistage (Docker)
- Stage builder (
node:20-alpine): instalagit, hacenpm ci --ignore-scripts, copia el repo y ejecutanpm run build(Dockerfile:2-11). - Stage serve (
nginx:alpine): copianginx.confy los estáticos de.vitepress/dista/usr/share/nginx/html; expone 8080 (Dockerfile:14-20).
git se instala en el builder (Dockerfile:5) porque VitePress con lastUpdated: true lee la fecha del último commit por archivo (.vitepress/config.mts:14).
Ignorados de build
.gitignore:node_modules/,.vitepress/cache/,.vitepress/dist/,dist/,*.local,.env,.DS_Store(.gitignore:1-7)..dockerignore:node_modules, caché/dist de VitePress,.git,.github,.gitea(.dockerignore:1-6).