diff options
Diffstat (limited to 'node_modules/merge-source-map/README.md')
-rw-r--r-- | node_modules/merge-source-map/README.md | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/node_modules/merge-source-map/README.md b/node_modules/merge-source-map/README.md new file mode 100644 index 000000000..26d677631 --- /dev/null +++ b/node_modules/merge-source-map/README.md @@ -0,0 +1,90 @@ +# merge-source-map + +[](https://npmjs.org/package/merge-source-map) +[](https://travis-ci.org/keik/merge-source-map) +[](https://coveralls.io/github/keik/merge-source-map) + +Merge old source map and new source map in multi-transform flow + + +# API + +```javascript +var merge = require('merge-source-map') +``` + + +## `merge(oldMap, newMap)` + +Merge old source map and new source map and return merged. +If old or new source map value is falsy, return another one as it is. + +<dl> + <dt> + <code>oldMap</code> : <code>object|undefined</code> + </dt> + <dd> + old source map object + </dd> + + <dt> + <code>newmap</code> : <code>object|undefined</code> + </dt> + <dd> + new source map object + </dd> +</dl> + + +# Example + +```javascript +var esprima = require('esprima'), + estraverse = require('estraverse'), + escodegen = require('escodegen'), + convert = require('convert-source-map'), + merge = require('merge-source-map') + +const CODE = 'a = 1', + FILEPATH = 'a.js' + +// create AST of original code +var ast = esprima.parse(CODE, {sourceType: 'module', loc: true}) + +// transform AST of original code +estraverse.replace(ast, { + enter: function(node, parent) { /* change AST */ }, + leave: function(node, parent) { /* change AST */ } +}) + +// generate code and source map from transformed AST +var gen = escodegen.generate(ast, { + sourceMap: FILEPATH, + sourceMapWithCode: true, + sourceContent: CODE +}) + +// merge old source map and new source map +var oldMap = convert.fromSource(CODE) && convert.fromSource(CODE).toObject(), + newMap = JSON.parse(gen.map.toString()), + mergedMap = merge(oldMap, newMap), + mapComment = convert.fromObject(mergedMap).toComment() + +// attach merge source map to transformed code +var transformed = gen.code + '\n' + mapComment + +console.log(transformed); +``` + + +# Test + +``` +% npm install +% npm test +``` + + +# License + +MIT (c) keik |