xtf e538decb69 药品分类 11 ماه پیش
..
bench e538decb69 药品分类 11 ماه پیش
example e538decb69 药品分类 11 ماه پیش
test e538decb69 药品分类 11 ماه پیش
.travis.yml e538decb69 药品分类 11 ماه پیش
LICENSE e538decb69 药品分类 11 ماه پیش
index.js e538decb69 药品分类 11 ماه پیش
package.json e538decb69 药品分类 11 ماه پیش
readme.markdown e538decb69 药品分类 11 ماه پیش

readme.markdown

detective

find all calls to require() by walking the AST

build status

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 CallExpression node is a require call
  • opts.parse - supply options directly to acorn with some support for esprima-style options range and loc
  • opts.ecmaVersion - default: 9

install

With npm do:

npm install detective

license

MIT