sourcemap-to-ast

Updates a mozilla AST(produced by acorn/esprima) with location info from a source map

Usage no npm install needed!

<script type="module">
  import sourcemapToAst from 'https://cdn.skypack.dev/sourcemap-to-ast';
</script>

README

sourcemap-to-ast

Updates a mozilla AST(produced by acorn/esprima) with location info from a source map

Installation

npm install --save sourcemap-to-ast

Usage

var acorn = require('acorn');
var coffee = require('coffee-script');
var sourceMapToAst = require('sourcemap-to-ast');

var compiled = coffee.compile('x =\n 1', {sourceMap: true});
var ast = acorn.parse(compiled.js, {locations: true});

var func = ast.body[0].expression.callee.object;
var funcBody = func.body.body;
var assignment = funcBody[1].expression;

sourceMapToAst(ast, compiled.v3SourceMap);

assignment.loc.start // {line: 1, column: 0}
assignment.loc.end // {line: 2, column: 1}