Documentación
Source maps y CLI
Sube tus source maps desde CI para que los errores muestren tu archivo y línea originales, no el JavaScript minificado.
En producción tu JavaScript está minificado: un error dice index-3fa2.js:1:48211. Si subes los source maps de cada versión, Wutbug traduce los stack traces a tu código original (archivo, línea y el fragmento de código) en el dashboard y en las respuestas del servidor MCP.
Cómo funciona
- Tu build genera archivos
.mapjunto a los.js. - En CI, el CLI sube los
.mapcon un identificador de versión (--release). - Tu app inicializa el SDK con el mismo
release. - Cuando llega un reporte, Wutbug busca los mapas de ese
releasepor la URL de cada archivo del stack trace.
1. Pasa el release al SDK
wutbug.init({
projectKey: 'pk_tu_key',
endpoint: 'https://api.wutbug.dev',
release: import.meta.env.VITE_RELEASE, // por ejemplo el SHA del commit
});Con la etiqueta script: data-release="…".
2. Genera los source maps
| Herramienta | Configuración |
|---|---|
| Vite | build: { sourcemap: 'hidden' } en vite.config.ts |
| Next.js | productionBrowserSourceMaps: true en next.config.ts |
| webpack | devtool: 'hidden-source-map' |
| esbuild | --sourcemap=external |
Las variantes hidden generan los .map sin el comentario //# sourceMappingURL, así tu código fuente no queda expuesto públicamente.
3. Sube los mapas desde CI
Crea la secret key (sk_…) del proyecto en el dashboard, en Proyectos → Source maps, y guárdala como secreto de CI en WUTBUG_SECRET_KEY.
npx @wutbug/cli sourcemaps upload ./dist/assets \
--release "$GITHUB_SHA" \
--url-prefix /assets/ \
--api https://api.wutbug.dev \
--delete| Opción | Descripción |
|---|---|
<dir> | Carpeta donde buscar archivos *.js.map (recursivo). |
--release <versión> | Obligatoria. El mismo valor que pasas a init({ release }). |
--url-prefix <ruta> | Ruta URL donde se sirve <dir>. Por defecto /. Ejemplo: si dist/assets/index-3fa2.js se sirve en https://app.acme.com/assets/index-3fa2.js, usa /assets/. |
--api <url> | URL de la API. Por defecto $WUTBUG_API_URL. |
--delete | Borra los .map locales después de subirlos, para que no se publiquen. |
| Variable de entorno | Descripción |
|---|---|
WUTBUG_SECRET_KEY | Obligatoria. Secret key del proyecto (sk_…). |
WUTBUG_API_URL | URL de la API, si no usas --api. |
Ejemplo con GitHub Actions y Vite
- name: Build
run: npm run build
env:
VITE_RELEASE: ${{ github.sha }}
- name: Subir source maps a Wutbug
run: npx @wutbug/cli sourcemaps upload ./dist/assets --release ${{ github.sha }} --url-prefix /assets/ --delete
env:
WUTBUG_SECRET_KEY: ${{ secrets.WUTBUG_SECRET_KEY }}
WUTBUG_API_URL: https://api.wutbug.devNext.js
Los archivos de cliente de Next.js se sirven bajo /_next/static/:
npx @wutbug/cli sourcemaps upload .next/static --release "$GIT_SHA" --url-prefix /_next/static/ --deleteProblemas comunes
- El stack trace sigue minificado. Revisa que el
releasedel reporte (visible en el dashboard) sea idéntico al que usaste al subir, y que--url-prefixcoincida con la ruta real de los archivos. - "Set WUTBUG_SECRET_KEY…": falta la variable o no empieza con
sk_. - La secret key se filtró. Genera una nueva en el dashboard: la anterior deja de funcionar. Solo guardamos un hash de la key, así que no podemos mostrártela de nuevo.