JSPM

sleuth

0.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4769
  • Score
    100M100P100Q113699F
  • License MIT

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

Package Exports

  • sleuth

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sleuth) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.