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 Definitions

Represents results from this library