You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
typesetting/pitfall/pdfkit/node_modules/detective
Matthew Butterick 3f36e2ce2c porting 7 years ago
..
example porting 7 years ago
node_modules porting 7 years ago
test porting 7 years ago
.npmignore porting 7 years ago
.travis.yml porting 7 years ago
LICENSE porting 7 years ago
index.js porting 7 years ago
package.json porting 7 years ago
readme.markdown porting 7 years ago

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().

detective.find(src, opts)

Give some source body src, return an object with "strings" and "expressions" arrays for each of the require() calls.

The "expressions" array will contain the stringified expressions.

Optionally you can specify a different function besides "require" to analyze with opts.word.

You can also specify opts.nodes = true in order to include a "nodes" array which contains an AST node for each of the require() calls.

You can use opts.isRequire(node) to return a boolean signifying whether an esprima AST node is a require call.

You can use opts.parse to supply options parsed to the parser (esprima).

install

With npm do:

npm install detective

license

MIT