Crate sourcemap

Source
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
RAM bundle operations
vlq
Implements utilities for dealing with the sourcemap vlq encoding.

Structs§

NameIter
Iterates over all tokens in a sourcemap
RawToken
Represents a raw token
RewriteOptions
Controls the SourceMap::rewrite behavior
SourceContentsIter
Iterates over all source contents in a sourcemap
SourceIter
Iterates over all sources in a sourcemap
SourceMap
Represents a sourcemap in memory
SourceMapBuilder
Helper for sourcemap generation
SourceMapHermes
Represents a react-native-style SourceMap, which has additional scope information embedded.
SourceMapIndex
Represents a sourcemap index in memory
SourceMapSection
Represents a section in a sourcemap index
SourceMapSectionIter
Iterates over all sections in a sourcemap index
SourceView
Provides efficient access to minified sources.
Token
Represents a token from a sourcemap
TokenIter
Iterates over all tokens in a sourcemap

Enums§

DecodedMap
Represents the result of a decode operation
Error
Represents different failure cases
SourceMapRef
Represents a reference to a sourcemap

Functions§

decode
Decodes a sourcemap or sourcemap index from a reader
decode_data_url
Loads a sourcemap from a data URL
decode_slice
Decodes a sourcemap or sourcemap index from a byte slice
is_sourcemap
Checks if a valid sourcemap can be read from the given reader
is_sourcemap_slice
Checks if the given byte slice contains a sourcemap
locate_sourcemap_reference
Locates a sourcemap reference
locate_sourcemap_reference_slice
Locates a sourcemap reference in a slice
make_relative_path
Helper function to calculate the path from a base file to a target file.

Type Aliases§

Result
Represents results from this library