source-list-map
API
Example
var SourceListMap = require("source-list-map").SourceListMap;
// Create a new map
var map = new SourceListMap();
// Add generated code that is map line to line to some soure
map.add("Generated\ncode1\n", "source-code.js", "Orginal\nsource");
// Add generated code that isn't mapped
map.add("Generated\ncode2\n");
// Get SourceMap and generated source
map.toStringWithSourceMap({ file: "generated-code.js" });
// {
// source: 'Generated\ncode1\nGenerated\ncode2\n',
// map: {
// version: 3,
// file: 'generated-code.js',
// sources: [ 'source-code.js' ],
// sourcesContent: [ 'Orginal\nsource' ],
// mappings: 'AAAA;AACA;;;'
// }
// }
// Convert existing SourceMap into SourceListMap
// (Only the first mapping per line is preserved)
var fromStringWithSourceMap = require("source-list-map").fromStringWithSourceMap;
var map = fromStringWithSourceMap("Generated\ncode", { version: 3, ... });new SourceListMap()
new SourceListMap()SourceListMap.prototype.add
SourceListMap.prototype.addAppend some stuff.
SourceListMap.prototype.prepend
SourceListMap.prototype.prependPrepend some stuff.
SourceListMap.prototype.toString()
SourceListMap.prototype.toString()Get generated code.
SourceListMap.prototype.toStringWithSourceMap
SourceListMap.prototype.toStringWithSourceMapGet generated code and SourceMap. options can contains file property which defines the file property of the SourceMap.
SourceListMap.prototype.mapGeneratedCode
SourceListMap.prototype.mapGeneratedCodeApplies fn to each generated code block (per line). The returned value is set as new generated code. Returns a new SourceListMap.
Removing and adding lines is supported. The SourceMap complexity will increase when doing this.
Test
License
Copyright (c) 2017 JS Foundation
MIT (http://www.opensource.org/licenses/mit-license.php)
Last updated
Was this helpful?