path.evaluate wrapped in a try catch
A wrapper for babel's path.evaluate
Fixes / Features:
+ Detect usages before initialization / declaration
``js
function foo() {
console.log(b); // ReferenceError
let b = 1;
}
function bar() {
console.log(a); // a is void 0
var a = 5;
console.log(a); // 5
}
`
+ Detect usages in scopes outside of initialization for vars (hoisted)
`js`
function foo() {
if (a) var x = 5;
console.log(x); // cannot determine
}
`sh``
npm install babel-helper-evaluate-path --save-dev