@zdychacek/detective
find all require() calls by walking the AST
Last updated 3 years ago by zdychacek .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @zdychacek/detective 
SYNC missed versions from official npm registry.

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 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 babylon with some support for esprima-style options range and loc.
  • opt.parse.plugins - used to specify a list of babylon plugins

install

With npm do:

npm install @zdychacek/detective

license

MIT

Current Tags

  • 5.0.2                                ...           latest (3 years ago)

2 Versions

  • 5.0.2                                ...           3 years ago
  • 5.0.1                                ...           3 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (1)
Dev Dependencies (3)

Copyright 2014 - 2016 © taobao.org |