Overview
All plugins provide:- Release injection: Adds
__PROLIFERATE_RELEASE__global variable to your bundle - Source map upload: Automatically uploads
.mapfiles after build - Auto-detection: Detects release version from git SHA or CI environment variables
Next.js Plugin
Installation
Configuration
Options
| Option | Type | Default | Description |
|---|---|---|---|
apiKey | string | PROLIFERATE_API_KEY env | Your Proliferate API key |
endpoint | string | PROLIFERATE_ENDPOINT env | API endpoint URL |
release | string | Auto-detected | Release version |
urlPrefix | string | '~/' | URL prefix for source map matching |
silent | boolean | false | Suppress log output |
enableSourceMaps | boolean | true | Generate production source maps |
What the plugin does
What the plugin does
The plugin wraps your Next.js config to:
- Enable production source maps by setting
productionBrowserSourceMaps: true - Inject release version via Webpack’s DefinePlugin
- Set environment variable
NEXT_PUBLIC_PROLIFERATE_RELEASEfor runtime access
CLI for Source Map Upload
Upload source maps separately using the CLI:CLI Options
| Option | Description |
|---|---|
--api-key=KEY | API key (or PROLIFERATE_API_KEY env var) |
--endpoint=URL | API endpoint (or PROLIFERATE_ENDPOINT env var) |
--release=VERSION | Release version (auto-detected if not specified) |
--url-prefix=PREFIX | URL prefix (default: ~/_next/) |
--out-dir=DIR | Next.js output directory (default: .next) |
--delete-after-upload | Delete source maps after upload |
--dry-run | Show what would be uploaded without uploading |
CI/CD Example
Programmatic Upload
Webpack Plugin
Installation
Configuration
Options
| Option | Type | Default | Description |
|---|---|---|---|
apiKey | string | Required | Your Proliferate API key |
endpoint | string | Required | API endpoint URL |
release | string | Auto-detected | Release version |
urlPrefix | string | '~/' | URL prefix for source map matching |
include | string[] | ['**/*.js', '**/*.js.map'] | Patterns to include |
exclude | string[] | ['node_modules'] | Patterns to exclude |
deleteAfterUpload | boolean | false | Delete source maps after upload |
silent | boolean | false | Suppress log output |
dryRun | boolean | false | Log without uploading |
Source Map Configuration
| devtool | Source maps generated | Exposed to browser |
|---|---|---|
source-map | Yes | Yes |
hidden-source-map | Yes | No |
nosources-source-map | Yes (no source content) | Yes |
Vite Plugin
Installation
Configuration
Options
| Option | Type | Default | Description |
|---|---|---|---|
apiKey | string | Required | Your Proliferate API key |
endpoint | string | Required | API endpoint URL |
release | string | Auto-detected | Release version |
urlPrefix | string | '~/' | URL prefix for source map matching |
exclude | string[] | ['node_modules'] | Patterns to exclude |
deleteAfterUpload | boolean | false | Delete source maps after upload |
silent | boolean | false | Suppress log output |
Source Map Configuration
| sourcemap | Source maps generated | Exposed to browser |
|---|---|---|
true | Yes | Yes |
'hidden' | Yes | No |
'inline' | Yes (inline) | Yes |
Release Auto-Detection
All plugins automatically detect the release version from:1
Explicit option
release in plugin options2
Environment variable
PROLIFERATE_RELEASE3
CI/CD variables
GITHUB_SHA(GitHub Actions)VERCEL_GIT_COMMIT_SHA(Vercel)CF_PAGES_COMMIT_SHA(Cloudflare Pages)RENDER_GIT_COMMIT(Render)RAILWAY_GIT_COMMIT_SHA(Railway)GITLAB_CI_COMMIT_SHA(GitLab CI)CIRCLE_SHA1(CircleCI)COMMIT_SHA,GIT_COMMIT(Generic)
4
Git SHA
git rev-parse HEAD5
Fallback
build-{timestamp}Environment Variables
Configure all plugins via environment variables:Upload Workflow
All plugins follow this workflow:- Create release on Proliferate API
- Upload source maps for each
.mapfile found - Finalize release to mark it ready
- (Optional) Delete source maps if
deleteAfterUploadis true
Troubleshooting
Source maps not found
Source maps not found
Make sure source maps are being generated:
Stack traces still minified
Stack traces still minified
- Verify release version matches between SDK and uploaded source maps
- Check that URL prefix matches your deployment URLs
- Ensure source maps were uploaded for the correct release
Upload failures
Upload failures
Use Check:
--dry-run to debug without uploading:- API key is valid
- Endpoint is reachable
- Release doesn’t already exist (duplicate uploads fail)
Delete source maps for security
Delete source maps for security
Prevent source maps from being served publicly:

