detective
find all calls to require()
by walking the AST
example
strings
strings_src.js:
var a = ;var b = ;var c = ;
strings.js:
var detective = ;var fs = ;var src = fs;var requires = ;consoledirrequires;
output:
$ node examples/strings.js
[ 'a', 'b', 'c' ]
methods
var detective = ;
detective(src, opts)
Give some source body src
, return an array of all the require()
calls with
string arguments.
The options parameter opts
is passed along to detective.find()
.
var found = detective.find(src, opts)
Give some source body src
, return found
with:
found.strings
- an array of each string found in arequire()
found.expressions
- an array of each stringified expression found in arequire()
callfound.nodes
(whenopts.nodes === true
) - an array of AST nodes for each argument found in arequire()
call
Optionally:
opts.word
- specify a different function name instead of"require"
opts.nodes
- whentrue
, populatefound.nodes
opts.isRequire(node)
- a function returning whether an ASTCallExpression
node is a require callopts.parse
- supply options directly to acorn with some support for esprima-style optionsrange
andloc
opts.ecmaVersion
- default: 9
install
With npm do:
npm install detective
license
MIT