1. detective
find all require() calls by walking the AST
detective
Package: detective
Created by: browserify
Last modified: Fri, 11 Nov 2022 06:34:26 GMT
Version: 5.2.1
License: MIT
Downloads: 13,557,152
Repository: https://github.com/browserify/detective

Install

npm install detective
yarn add detective

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

Dependencies

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code