spatie/sourcemaps-lookup
Fast, memory-efficient Source Map v3 lookup for PHP. Resolve JavaScript stack frames to original source file, line/column, symbol name, and enclosing scope. Optimized for the read path and high-volume error symbolicating from uploaded sourcemaps.
When you resolve a full stack trace, multiple frames often share the same source map (for example, two frames in the same code-split chunk). Load each unique map once.
$mapsByUrl = [];
foreach ($frames as $frame) {
$url = $frame['sourceMapUrl'];
$mapsByUrl[$url] ??= SourceMapLookup::fromJson($fetch($url));
$positions[] = $mapsByUrl[$url]->lookup($frame['line'], $frame['column']);
}
json_decode dominates the cost of a single cold lookup, so avoiding a redundant decode is the single biggest caller side win.
Once a line has been looked up, its parsed segments are cached on the SourceMapLookup instance. Subsequent lookups on the same (or later) lines reuse the work. This is the workload the package is tuned for.
How can I help you explore Laravel packages today?