blob: d629e40c7f4d5d66a4eeda3f01cdeca02423f366 [file] [log] [blame]
var acorn = require('acorn')
var xtend = require('xtend')
function mapOptions (opts) {
if (!opts) opts = {}
opts = xtend({
ecmaVersion: 2019,
allowHashBang: true,
allowReturnOutsideFunction: true,
plugins: {
dynamicImport: opts.sourceType === 'module',
importMeta: opts.sourceType === 'module'
}
}, opts)
opts.plugins = xtend(opts.plugins, {})
return opts
}
module.exports = exports = xtend(acorn, {
parse: function parse (src, opts) {
return acorn.parse(src, mapOptions(opts))
},
parseExpressionAt: function parseExpressionAt (src, offset, opts) {
return acorn.parseExpressionAt(src, offset, mapOptions(opts))
},
tokenizer: function tokenizer (src, opts) {
return acorn.tokenizer(src, mapOptions(opts))
}
})
require('acorn-dynamic-import/lib/inject').default(exports)
require('./lib/import-meta')(exports)