3 unstable releases
Uses old Rust 2015
0.2.0 | Apr 25, 2017 |
---|---|
0.1.1 | Jun 14, 2016 |
0.1.0 | Jun 5, 2016 |
#8 in #consuming
25KB
607 lines
js-source-mapper
A rust library for consuming JavaScript source maps with a focus on performance. Supports Source Map revision 3.
Usage
[dependencies]
js-source-mapper = "0.1.1"
extern crate js_source_mapper;
use js_source_mapper::{Cache, consume};
fn main() {
let cache = consume(r#"{
"version": 3,
"file": "foo.js",
"sources": ["source.js"],
"names": ["name1", "name1", "name3"],
"mappings": ";EAACA;;IAEEA;;MAEEE",
"sourceRoot": "http://example.com"
}"#).unwrap();
let mapping = cache.mapping_for_generated_position(2, 2);
assert!(mapping.original.line == 1);
assert!(mapping.original.column == 1);
assert!(mapping.source == "source.js".into());
assert!(mapping.name == "name1".into());
}
Development
Fuzzing
To run cargo-fuzz on Windows, run the docker image specified in etc/docker. The following command is handy:
docker run --rm -v <full_path_to_project_root>:/project -w /project cargo-fuzz cargo fuzz run fuzzer_script_1
Dependencies
~0.7–1.4MB
~33K SLoC