51 lines
1.1 KiB
Markdown
51 lines
1.1 KiB
Markdown
# sourcemap
|
|
|
|
This library implements basic processing of JavaScript sourcemaps.
|
|
|
|
## Installation
|
|
|
|
The crate is called sourcemap and you can depend on it via cargo:
|
|
|
|
```toml
|
|
[dependencies]
|
|
sourcemap = "*"
|
|
```
|
|
|
|
If you want to use the git version:
|
|
|
|
```toml
|
|
[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:
|
|
|
|
```rust
|
|
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
|