Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function compileBody(str, options){
var debug_sources = {};
debug_sources[options.filename] = str;
var dependencies = [];
var plugins = options.plugins || [];
var ast = load.string(str, {
filename: options.filename,
basedir: options.basedir,
lex: function (str, options) {
var lexOptions = {};
Object.keys(options).forEach(function (key) {
lexOptions[key] = options[key];
});
lexOptions.plugins = plugins.filter(function (plugin) {
return !!plugin.lex;
}).map(function (plugin) {
return plugin.lex;
});
var contents = applyPlugins(str, {filename: options.filename}, plugins, 'preLex');
return applyPlugins(lex(contents, lexOptions), options, plugins, 'postLex');
},
parse: function (tokens, options) {