node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »



xrefs funcs top func library users status

defnode is a node.js package that maps JavaScript Identifier AST nodes to/from their corresponding definition nodes. It is useful in tools that perform JavaScript source introspection.

For example, suppose we have the following code.

function a(b) {
  var c = 1, d;

defnode maps the following Identifier/definition pairs:

  • a to/from the enclosing FunctionDeclaration node
  • b to/from itself (since its Identifier node is its own declaration)
  • c to/from its VariableDeclarator node
  • d to/from its VariableDeclarator node

defnode uses marijnh/tern, but it should work with any SpiderMonkey API-compliant JavaScript AST.

Documentation: defnode.js on Sourcegraph

Running tests

Run npm test.