sleuth

    0.1.1 • Public • Published

    sleuth Flattr this!experimental

    Discover the variable names chosen for each of a file's top-level required modules.

    Won't pick up nested requires in if/for statements or inside functions, but is intended for detecting the names of variables to replace e.g. when creating inlining transforms such as brfs.

    Usage

    sleuth

    requires = sleuth(ast)

    Accepts an esprima-like ast object.

    Returns an object whose keys represent the variable names used to require a module, and whose values are the required module strings detected.

    Example

    var esprima = require('esprima')
    var walkers = require('astw')
    var files = require('fs')
     
    var src = files.readFileSync(__filename, 'utf8')
    var ast = esprima.parse(src)
     
    // Walk the generated AST
    var result = sleuth(ast)
    console.log(result)
     
    // Or you can try it this way:
    var result = sleuth(walkers(src))
    console.log(result)

    Which should give you back something like this:

    {
      esprima: 'esprima',
      walkers: 'astw',
      files: 'fs'
    }

    License

    MIT. See LICENSE.md for details.

    Install

    npm i sleuth

    DownloadsWeekly Downloads

    4,679

    Version

    0.1.1

    License

    MIT

    Last publish

    Collaborators

    • avatar