11 releases
Uses new Rust 2024
| 0.3.6 | Apr 17, 2026 |
|---|---|
| 0.3.5 | Apr 13, 2026 |
| 0.3.0 | Mar 15, 2026 |
| 0.2.3 | Mar 14, 2026 |
| 0.1.3 | Mar 10, 2026 |
#1829 in Command line utilities
700KB
15K
SLoC
srcmap-cli
CLI tool to inspect, validate, compose, and manipulate source maps.
Agent-friendly with --json structured output on all commands and srcmap schema for runtime introspection.
Install
cargo install srcmap-cli
Commands
| Command | Description |
|---|---|
info |
Show source map metadata and statistics |
validate |
Validate a source map file |
lookup |
Find original position for a generated position |
resolve |
Find generated position for an original position |
decode |
Decode a VLQ mappings string to JSON |
encode |
Encode decoded mappings JSON back to a VLQ string |
mappings |
List all mappings with pagination |
concat |
Concatenate multiple source maps into one |
remap |
Compose/remap source maps through a transform chain |
symbolicate |
Symbolicate a stack trace using source maps |
scopes |
Inspect scopes-proposal data and variable bindings |
fetch |
Fetch a JS/CSS bundle and its source map from a URL |
sources |
List or extract original sources from a source map |
schema |
Describe all commands as JSON (for agent introspection) |
Usage
# Inspect a source map
srcmap info bundle.js.map
# Validate
srcmap validate bundle.js.map
# Look up original position (0-based line:column)
srcmap lookup bundle.js.map 42 12
# Look up with surrounding source context
srcmap lookup bundle.js.map 42 12 --context 5
# Reverse lookup
srcmap resolve bundle.js.map --source src/app.ts 10 0
# Decode VLQ mappings
srcmap decode "AAAA;AACA"
# List mappings with pagination
srcmap mappings bundle.js.map --limit 100 --offset 0
# Concatenate source maps
srcmap concat a.js.map b.js.map -o bundle.js.map
# Remap through upstream maps
srcmap remap minified.js.map --dir ./sourcemaps -o original.js.map
# Symbolicate a stack trace
srcmap symbolicate stacktrace.txt --dir ./sourcemaps
# Inspect scopes-proposal data
srcmap scopes bundle.js.map
# Fetch a bundle and its source map from a URL
srcmap fetch https://cdn.example.com/app.min.js -o ./debug
# List embedded original sources
srcmap sources bundle.js.map
# Extract all original sources to disk
srcmap sources bundle.js.map --extract -o ./src
# All commands support --json for structured output
srcmap info bundle.js.map --json
# Introspect all commands and their arguments
srcmap schema
Features
- Structured JSON output —
--jsonflag on all commands for machine-readable output - Agent introspection —
srcmap schemadescribes all commands, args, types, and flags as JSON - stdin support — use
-as file argument to read from stdin - Dry run —
--dry-runon mutating commands (concat,remap) to validate without writing - Input hardening — rejects control characters, path traversals, and percent-encoding in source names
- Output sandboxing — all file writes validated against the current working directory
- Remote fetching —
srcmap fetchdownloads bundles and source maps from URLs, resolvingsourceMappingURLautomatically - Source extraction —
srcmap sources --extractwrites embeddedsourcesContentto disk with directory structure - Context lines —
srcmap lookup --context Nshows surrounding original source around a mapped position - Structured errors — error codes (
IO_ERROR,PARSE_ERROR,NOT_FOUND,VALIDATION_ERROR,PATH_TRAVERSAL,INVALID_INPUT,FETCH_ERROR) in JSON mode
Part of srcmap
See also:
srcmap-sourcemap- Parser and consumersrcmap-generator- Source map buildersrcmap-remapping- Concatenation and compositionsrcmap-codec- VLQ encode/decode
License
MIT
Dependencies
~4–6MB
~99K SLoC