sleuth
Discover the variable names chosen for each of a file's top-level required modules
Last updated 12 years ago by hughsk .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install sleuth 
SYNC missed versions from official npm registry.

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.

Current Tags

  • 0.1.1                                ...           latest (12 years ago)

3 Versions

  • 0.1.1                                ...           12 years ago
  • 0.1.0                                ...           12 years ago
  • 0.0.0                                ...           12 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 2
Last Month 1
Dependencies (2)
Dev Dependencies (2)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |