Why Source Maps?
- Without Source Maps
- With Source Maps
Uploading Source Maps
Using Build Plugins (Recommended)
The easiest way to upload source maps is via our build plugins. They automatically:- Detect the release version (from git or CI environment)
- Upload source maps during your build
- Associate them with the correct release
Using the CLI
For more control, use the CLI to upload source maps manually:Using the API
For custom build systems, use the API directly:Release Management
What is a Release?
A release is a version identifier (typically a git commit SHA) that ties source maps to specific deployed code. When an error is captured, the SDK includes the release version, allowing Proliferate to look up the correct source maps.Release Workflow
1
Create Release
The release is created automatically when you start uploading source maps
2
Upload Source Maps
Upload all
.map files for your JavaScript bundles3
Finalize Release
Mark the release as complete (optional but recommended)
Auto-Detection
The SDK automatically detects release versions from:- Build plugin injection:
__PROLIFERATE_RELEASE__global variable - Environment variables:
PROLIFERATE_RELEASE,GITHUB_SHA,VERCEL_GIT_COMMIT_SHA, and others
How Resolution Works
When viewing an error in the dashboard:- Match release: Find source maps for the error’s release version
- Match URL: Find the source map for the minified file URL
- Resolve positions: Map minified line/column to original source
- Display: Show original file, function, and line number
URL Matching
Source maps are matched using URL prefixes. The default prefix is~/, which matches relative URLs:
CI/CD Integration
- GitHub Actions
- GitLab CI
- Vercel
Troubleshooting
Source maps not resolving
Source maps not resolving
-
Check release version: Ensure the SDK’s release matches the uploaded source maps
-
Check URL matching: Verify the minified file URL matches the uploaded source map URL
-
Verify source maps are valid: Test with
source-map-cli
Large source maps
Large source maps
For very large bundles:
- Use code splitting to create smaller chunks
- Enable gzip compression in your build
- Consider using
hidden-source-mapif you don’t want inline source maps
Security considerations
Security considerations
Source maps contain your original source code. To keep them secure:
- Don’t serve source maps publicly: Use
hidden-source-mapwebpack devtool - Use environment variables: Never commit API keys to your repository
- Restrict API key permissions: Use separate keys for source map upload vs. error ingestion

