node package manager

find-requires

Find all require() calls. Fast and solid implementation backed with direct scanner and esprima AST parser

find-requires – Find all require() calls.

Made for modules-webmake. Fast and solid implementation of require calls parser. Plain cases are worked out by straightforward code walker, rest of the job is done by fastest in the field esprima AST parser.

Example

foo.js:

var one = require('one');
var two = require('two');
var slp = require('some/long' +
                        '/path');
var wrong = require(cannotTakeThat);

program.js:

var fs = require('fs');
var findRequires = require('find-requires')
 
var src = fs.readFileSync('foo.js', 'utf-8');
 
console.log(findRequires(src)); // => ['one', 'two', 'some/long/path']; 
 
// or we can get more detailed data with `raw` option: 
console.log(findRequires(src, { raw: true })); /* => [
    { value: 'one', raw: '\'one\'', point: 19, line: 1, column: 19 },
    { value: 'two', raw: '\'two\'', point: 45, line: 2, column: 19 },
    { value: 'some/long/path', raw: '\'some/long\' +\n\t\t\t\t\t\t\'/path\'',
        point: 71, line: 3, column: 19  },
    { raw: 'cannotTakeThat', point: 121, line: 5, column: 21 }
*/

CLI Example

> npm install -g find-requires

Find all requires in a file:

> find-requires file1.js
test1.js:3:LIB + '/test2'
test1.js:4:fs

Find all places the fs module is required: find-requires -m fs $(find . -name '*.js')

Tests Build Status

$ npm test