Source Maps

Upload source maps to Gurulu so that minified stack traces are automatically de-obfuscated. This gives you readable file names, line numbers, and function names in error reports.

Upload via CLI

The easiest way to upload source maps is through the CLI after your build step:

gurulu sourcemaps upload \
  --site-id YOUR_SITE_ID \
  --release v1.2.3 \
  --path ./dist

The CLI scans the directory for .js.map files and uploads them with the associated JS file URL.

Upload via API

curl -X POST https://gurulu.io/api/v1/sourcemaps \
  -H "Authorization: Bearer gsk_live_..." \
  -F "siteId=YOUR_SITE_ID" \
  -F "release=v1.2.3" \
  -F "file=@./dist/main.js.map" \
  -F "url=https://example.com/main.js"

CI/CD integration

Add source map upload as a post-build step in your CI pipeline:

.github/workflows/deploy.yml
- name: Upload source maps
  run: |
    npx @gurulu/cli sourcemaps upload \
      --site-id ${{ secrets.GURULU_SITE_ID }} \
      --release ${{ github.sha }} \
      --path ./dist
  env:
    GURULU_SECRET_KEY: ${{ secrets.GURULU_SECRET_KEY }}

Release tracking

Each source map upload is associated with a release identifier. Gurulu matches incoming errors to the correct release based on the script URL, then resolves the original source location.

Security

Source maps are stored encrypted and are never publicly accessible. They are only used server-side for stack trace resolution. You can delete uploaded maps from Settings > Error Tracking > Source Maps.