60 releases (34 stable)
new 9.0.1 | Nov 6, 2024 |
---|---|
8.0.1 | Apr 2, 2024 |
8.0.0 | Mar 22, 2024 |
7.1.1 | Mar 12, 2024 |
0.3.2 | Jul 15, 2016 |
#26 in Web programming
894,514 downloads per month
Used in 337 crates
(30 directly)
155KB
3.5K
SLoC
sourcemap
This library implements basic processing of JavaScript sourcemaps.
Installation
The crate is called sourcemap and you can depend on it via cargo:
[dependencies]
sourcemap = "*"
If you want to use the git version:
[dependencies.sourcemap]
git = "https://github.com/getsentry/rust-sourcemap.git"
Basic Operation
This crate can load JavaScript sourcemaps from JSON files. It uses
serde
for parsing of the JSON data. Due to the nature of sourcemaps
the entirety of the file must be loaded into memory which can be quite
memory intensive.
Usage:
use sourcemap::SourceMap;
let input: &[_] = b"{
\"version\":3,
\"sources\":[\"coolstuff.js\"],
\"names\":[\"x\",\"alert\"],
\"mappings\":\"AAAA,GAAIA,GAAI,EACR,IAAIA,GAAK,EAAG,CACVC,MAAM\"
}";
let sm = SourceMap::from_reader(input).unwrap();
let token = sm.lookup_token(0, 0).unwrap(); // line-number and column
println!("token: {}", token);
Features
Functionality of the crate can be turned on and off by feature flags. This is the current list of feature flags:
ram_bundle
: turns on RAM bundle support
License: BSD-3-Clause
Dependencies
~4–5.5MB
~103K SLoC