Stack traces

Minified in production, readable for you.

Upload a source map and every frame resolves back to your original file, function, and line. The trace you read is the code you actually wrote.

A frame, before and after the source map
// what production throws
at t (/assets/app.4f2a.js:1:88214)

// what bughq shows you
at submitOrder (src/checkout/order.ts:142:11)
   140 |   const order = buildOrder(cart)
 > 142 |   await charge(order.total, order.card)
   143 | }

How it works

01

Upload a source map

Send the map with each release, from your build step or a single command.

02

Frames resolve to source

Every minified frame is mapped back to your file, function, and line number.

03

Land on the guilty line

The trace shows the surrounding code, so you read the bug instead of decoding a bundle.

Source mapped
Minified frames become your real files and functions.
Full frames
The whole call path, not just the throwing line.
In context
Surrounding source lines shown around the failure.

Ship with a net under you.