@brunoalcau/bugcatch-browser
v0.1.12
Published
SDK para browser (instrumentação + fila offline) baseado em `@brunoalcau/bugcatch-core`.
Readme
@brunoalcau/bugcatch-browser
SDK para browser (instrumentação + fila offline) baseado em @brunoalcau/bugcatch-core.
Uso no cliente
import { init, captureException } from '@brunoalcau/bugcatch-browser'
init({
dsn: 'https://api.seu-dominio.com',
apiKey: 'opcional',
release: import.meta.env.VITE_BUGCATCH_RELEASE
})
captureException(new Error('boom'))O release tem de ser igual ao usado no upload dos source maps (ver abaixo).
Script: upload de source maps (Vite / CI)
Depois de vite build com build.sourcemap: true, envia os .map para a API (JWT de utilizador membro do projeto).
Variáveis de ambiente
| Variável | Descrição |
|----------|-----------|
| BUGCATCH_API_URL | Base da API Feathers, ex. https://api.exemplo.com |
| BUGCATCH_API_KEY | projects.api_key (CI; header x-api-key) — recomendado |
| BUGCATCH_ACCESS_TOKEN | JWT (Bearer); alias BUGCATCH_JWT (alternativa) |
| BUGCATCH_PROJECT_ID | UUID do projeto (igual a projects.id no Bugcatcher) |
| BUGCATCH_RELEASE | Mesmo string que no init({ release }) |
No package.json do teu app
{
"scripts": {
"build": "vite build",
"upload:maps": "bugcatch-upload-sourcemaps --dir dist"
}
}Exemplo manual
export BUGCATCH_API_URL=https://api.exemplo.com
export BUGCATCH_API_KEY=abc123...
# ou BUGCATCH_ACCESS_TOKEN=eyJhbG...
export BUGCATCH_PROJECT_ID=a1b2c3d4-e5f6-7890-abcd-ef1234567890
export [email protected]
npx bugcatch-upload-sourcemaps --dir dist--dry-run lista os ficheiros sem enviar. O nome bundleFile enviado é o basename do JS/CSS (ex. index-a1b2c3.js), o mesmo que a API usa para casar com frames do stack.
