Expand description
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
Modules§
- RAM bundle operations
- Implements utilities for dealing with the sourcemap vlq encoding.
Structs§
- Iterates over all index items in a sourcemap
- Iterates over all tokens in a sourcemap
- Represents a raw token
- Controls the
SourceMap::rewrite
behavior - Iterates over all source contents in a sourcemap
- Iterates over all sources in a sourcemap
- Represents a sourcemap in memory
- Helper for sourcemap generation
- Represents a
react-native
-style SourceMap, which has additional scope information embedded. - Represents a sourcemap index in memory
- Represents a section in a sourcemap index
- Iterates over all sections in a sourcemap index
- Provides efficient access to minified sources.
- Represents a token from a sourcemap
- Iterates over all tokens in a sourcemap
Enums§
- Represents the result of a decode operation
- Represents different failure cases
- Represents a reference to a sourcemap
Functions§
- Decodes a sourcemap or sourcemap index from a reader
- Loads a sourcemap from a data URL
- Decodes a sourcemap or sourcemap index from a byte slice
- Checks if a valid sourcemap can be read from the given reader
- Checks if the given byte slice contains a sourcemap
- Locates a sourcemap reference
- Locates a sourcemap reference in a slice
- Helper function to calculate the path from a base file to a target file.
Type Aliases§
- Represents results from this library