Skip to content

Stack y build

Lenguajes y frameworks

ComponenteTecnologíaVersiónEvidencia
Generador de sitioVitePress^1.6.4package.json:13
Framework UIVue^3.5.34package.json:14
ConfiguraciónTypeScript (config.mts)(la de VitePress).vitepress/config.mts:1
ContenidoMarkdown (+ HTML/Vue inline en páginas)N/Aes/, en/, index.md:6-15
Runtime de buildNode20-alpineDockerfile:2
Servidor webnginxalpineDockerfile:14

El proyecto es private: true y no se publica como paquete (package.json:3).

Comandos

ComandoAcciónEvidencia
npm installInstala dependenciasREADME.md:15, CLAUDE.md:23
npm run devServidor de desarrollo (vitepress dev)package.json:8
npm run buildBuild estático a .vitepress/dist (vitepress build)package.json:9, CLAUDE.md:25
npm run previewPrevisualiza 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

  • vitepress y vue son las únicas dependencias declaradas, ambas en devDependencies (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)

  1. Stage builder (node:20-alpine): instala git, hace npm ci --ignore-scripts, copia el repo y ejecuta npm run build (Dockerfile:2-11).
  2. Stage serve (nginx:alpine): copia nginx.conf y los estáticos de .vitepress/dist a /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).

Cybersecurity · Technology · Leadership