es-lookup-scope Using escope we find the scope of any estree compatible AST node. import {parse} from 'acorn';import lookup from 'es-lookup-scope';import {traverse} from 'estraverse' let ast = parse(` (function() { const x = 2; try { const x = 1; [1, 2, 3].map(x => x); } catch(o_O) {} console.log(x); })(); module.exports = { x() { let y = this; console.log(y); } } `, { ecmaVersion: 6}); traverse(ast, { enter(node) { console.log(lookup(node)); }});