GitHub - RReverser/sourcemap-to-ast: Updates a mozilla AST(produced by acorn/esprima) with location info from a source map (original) (raw)

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}