5.0.2 • Published 8 years ago
@zdychacek/detective v5.0.2
detective
This is a fork of detective which uses Babylon parser instead of acorn.
Finds all calls to require() by walking the AST.
example
strings
strings_src.js:
var a = require('a');
var b = require('b');
var c = require('c');strings.js:
var detective = require('@zdychacek/detective');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/strings_src.js');
var requires = detective(src);
console.dir(requires);output:
$ node examples/strings.js
[ 'a', 'b', 'c' ]methods
var detective = require('@zdychacek/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.nodesopts.isRequire(node)- a function returning whether an ASTCallExpressionnode is a require callopts.parse- supply options directly to babylon with some support for esprima-style optionsrangeandloc.opt.parse.plugins- used to specify a list ofbabylonplugins
install
With npm do:
npm install @zdychacek/detectivelicense
MIT