Skip to content

Source Maps

Upload source maps to de-minify JavaScript stack traces

Source maps allow Cased to show original source code locations instead of minified JavaScript in error stack traces.

Use the Cased CLI to upload source maps during your build/deploy process:

Terminal window
# Install the CLI
uv tool install cased-cli
# Set your API key
export CASED_API_KEY=your-api-key
# Upload source maps for a release
cased sourcemaps upload -p my-project -r v1.2.3 dist/*.map

Ensure your Sentry SDK is configured with a release tag that matches:

import sentry_sdk
sentry_sdk.init(
dsn="https://abc123@telemetry.cased.com/1",
release="v1.2.3", # Must match the --release used in upload
)
Sentry.init({
dsn: "https://abc123@telemetry.cased.com/1",
release: "v1.2.3",
});

When errors occur, stack traces will automatically show original source locations:

src/components/Checkout.tsx:142 → (minified: main.abc123.js:1)
src/utils/api.ts:89 → (minified: main.abc123.js:1)
Terminal window
cased sourcemaps upload -p <project> -r <release> <files...>

Options:

  • --project, -p - Telemetry project ID or slug (required)
  • --release, -r - Release version, should match SDK config (required)
  • --url-prefix - URL prefix to strip when matching files (optional)
Terminal window
cased sourcemaps list -p <project> [-r <release>]
Terminal window
cased sourcemaps delete -p <project> -r <release>
POST /api/v1/telemetry/projects/{project_id}/sourcemaps/
Authorization: Bearer {api_key}
Content-Type: multipart/form-data
Fields:
release: string (required)
url_prefix: string (optional)
files: file[] (required, .map files)
GET /api/v1/telemetry/projects/{project_id}/sourcemaps/
GET /api/v1/telemetry/projects/{project_id}/sourcemaps/?release=v1.0.0
Authorization: Bearer {api_key}
DELETE /api/v1/telemetry/projects/{project_id}/sourcemaps/{release}/
Authorization: Bearer {api_key}
- name: Install Cased CLI
run: uv pip install cased-cli
- name: Upload Source Maps
env:
CASED_API_KEY: ${{ secrets.CASED_API_KEY }}
run: cased sourcemaps upload -p my-app -r ${{ github.sha }} dist/*.map

Most bundlers can generate source maps automatically:

Vite:

export default {
build: {
sourcemap: true,
},
};

Webpack:

module.exports = {
devtool: "source-map",
};
  1. During build, your bundler generates .map files alongside minified JS
  2. You upload these maps to Cased, tagged with a release version
  3. Your SDK sends errors with the same release tag
  4. When displaying stack traces, Cased maps minified locations back to original source

Source maps are stored securely and only accessible to your organization.