requisite
Version:
A cosmic javascript bundler.
38 lines (32 loc) • 821 B
JavaScript
// Generated by CoffeeScript 1.12.5
var acorn, escodegen, sourceMapToAst;
acorn = require('acorn');
escodegen = require('escodegen');
sourceMapToAst = require('./sourcemap-to-ast');
module.exports = function(source, opts) {
var _opts, ast, comments, err, tokens;
if (opts == null) {
opts = {};
}
comments = [];
tokens = [];
_opts = {
ranges: true,
onComment: comments,
onToken: tokens,
locations: true,
sourceFile: opts.filename
};
try {
ast = acorn.parse(source, _opts);
} catch (error) {
err = error;
throw new Error("Failed to parse '" + opts.filename + "': " + err.message);
}
escodegen.attachComments(ast, comments, tokens);
if (opts.sourceMap != null) {
sourceMapToAst(ast, opts.sourceMap);
}
return ast;
};
//# sourceMappingURL=parse.js.map