1.0.6 • Published 8 years ago

undeclared v1.0.6

Weekly downloads
9
License
MIT
Repository
github
Last release
8 years ago

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