FastStatsFastStats Docs

Sourcemaps

Upload build sourcemaps so FastStats can resolve minified stack traces.

FastStats resolves minified JavaScript stack traces using uploaded sourcemaps. The recommended workflow is the @faststats/sourcemap-uploader-plugin package.

Install the plugin in your frontend project:

npm i -D @faststats/sourcemap-uploader-plugin

Use the adapter that matches your bundler:

import { defineConfig } from "vite";
import sourcemapsPlugin from "@faststats/sourcemap-uploader-plugin/vite";

export default defineConfig({
	build: { sourcemap: true },
	plugins: [
		sourcemapsPlugin({
			endpoint: "https://sourcemaps.faststats.dev/api/sourcemaps",
			authToken: process.env.FASTSTATS_SOURCEMAP_KEY,
			deleteAfterUpload: true,
		}),
	],
});
import sourcemapsPlugin from "@faststats/sourcemap-uploader-plugin/rollup";

export default {
	output: {
		sourcemap: true,
	},
	plugins: [
		sourcemapsPlugin({
			endpoint: "https://sourcemaps.faststats.dev/api/sourcemaps",
			authToken: process.env.FASTSTATS_SOURCEMAP_KEY,
		}),
	],
};
import sourcemapsPlugin from "@faststats/sourcemap-uploader-plugin/webpack";

export default {
	devtool: "source-map",
	plugins: [
		sourcemapsPlugin({
			endpoint: "https://sourcemaps.faststats.dev/api/sourcemaps",
			authToken: process.env.FASTSTATS_SOURCEMAP_KEY,
		}),
	],
};
import sourcemapsPlugin from "@faststats/sourcemap-uploader-plugin/rspack";

export default {
	devtool: "source-map",
	plugins: [
		sourcemapsPlugin({
			endpoint: "https://sourcemaps.faststats.dev/api/sourcemaps",
			authToken: process.env.FASTSTATS_SOURCEMAP_KEY,
		}),
	],
};
import sourcemapsPlugin from "@faststats/sourcemap-uploader-plugin/esbuild";

await require("esbuild").build({
	entryPoints: ["src/index.ts"],
	bundle: true,
	sourcemap: true,
	outfile: "dist/app.js",
	plugins: [
		sourcemapsPlugin({
			endpoint: "https://sourcemaps.faststats.dev/api/sourcemaps",
			authToken: process.env.FASTSTATS_SOURCEMAP_KEY,
		}),
	],
});

build.sourcemap = true (or bundler equivalent) is required so .map files are generated.

Upload Authentication

Generate a sourcemap API key in FastStats project settings and pass it as bearer auth:

Authorization: Bearer <FASTSTATS_SOURCEMAP_KEY>

Payload Shape (Reference)

The uploader sends JSON to /api/sourcemaps:

{
	"buildId": "your-build-id",
	"bundler": "vite",
	"uploadedAt": "2026-03-02T10:15:00.000Z",
	"sourcemaps": [
		{
			"fileName": "assets/app.12345.js.map",
			"sourcemap": "{\"version\":3,...}"
		}
	]
}

Useful Options

OptionDescription
endpointUpload API URL (defaults to https://sourcemaps.faststats.dev/api/sourcemaps)
authTokenBearer token used for upload authentication
buildIdExplicit build ID (otherwise auto-generated/native hash is used)
deleteAfterUploadDeletes local .map files after successful upload
failOnErrorThrows build error on upload failure (true by default)
maxUploadBodyBytesMax request payload size before upload batching (default 50MB)
enabledEnable/disable plugin (boolean or callback)

Self-Hosted Endpoint

sourcemapsPlugin({
	endpoint: "https://sourcemaps.your-domain.com/api/sourcemaps",
	authToken: process.env.FASTSTATS_SOURCEMAP_KEY,
});

On this page