mirror of
				https://github.com/cp6/my-idlers.git
				synced 2025-10-31 06:19:09 +00:00 
			
		
		
		
	|  | ||
|---|---|---|
| .. | ||
| bench | ||
| bin | ||
| example | ||
| test | ||
| .travis.yml | ||
| CHANGELOG.md | ||
| index.js | ||
| LICENSE | ||
| package.json | ||
| readme.markdown | ||
detective
find 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('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('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 a- require()
- found.expressions- an array of each stringified expression found in a- require()call
- found.nodes(when- opts.nodes === true) - an array of AST nodes for each argument found in a- require()call
Optionally:
- opts.word- specify a different function name instead of- "require"
- opts.nodes- when- true, populate- found.nodes
- opts.isRequire(node)- a function returning whether an AST- CallExpressionnode is a require call
- opts.parse- supply options directly to acorn with some support for esprima-style options- rangeand- loc
- opts.ecmaVersion- default: 9
install
With npm do:
npm install detective
license
MIT
