1.0.6 • Published 8 years ago
undeclared v1.0.6
Undeclared.js
Given an AST ( esprima, acorn, ... ), find all undeclared identifiers and returns them as strings in a Set.
Why
Finding all undeclared identifiers could be used in a number of situations. For instance, this module will be part of another module that will automatically try to import all undeclared identifiers in a given script from a custom library.
Install
npm install undeclared
Usage
const
undeclared = require( "undeclared" ) ,
esprima = require( "esprima" )
let identifiers = undeclared( esprima.parse("some JS code") )
// => Set { "undeclared ids"... }
example.js
$$1 to $$7 are undeclared identifiers across multiple scopes
let
i = 42 ,
j = $$1 + i
function funk() {
var
k = 41 ,
g = (a,b) => a * j + $$3
$$2(
function(b,x) {
$$4 += 1
$$5 = ( function() {
return function(y) { return $$7 + $$4 }
} )()
return x * $$6.prop1.prop2[ $$2 + 32 ] - i + $$4 + g( $$3, i )
}
)
}
Analyse example
const
fs = require( "fs" ) ,
esprima = require( "esprima" ) ,
undeclared = require( "undeclared" )
fs.readFile(
"test.js" ,
(err,file) => {
if ( !err ) {
const
ast = esprima.parse( file ) ,
identifiers = undeclared( ast )
console.log( identifiers )
}
}
)
// => output => Set { "$$1", "$$2", "$$3", "$$4", "$$5", "$$6", "$$7" }
License
MIT