It uses tern (http://ternjs.net/) to perform static analysis on JavaScript and then outputs it in a format that describes all of the definitions (functions, variables, modules, etc.) and links all names in the source code to the definitions they refer to.
We use it to produce JavaScript docs and examples at Sourcegraph (e.g., https://sourcegraph.com/github.com/joyent/node), but it can also be useful for automatic JavaScript doc generation, automatic bug detection, and other static analysis tasks to improve the quality of your JavaScript code.
https://github.com/sourcegraph/jsg
It uses tern (http://ternjs.net/) to perform static analysis on JavaScript and then outputs it in a format that describes all of the definitions (functions, variables, modules, etc.) and links all names in the source code to the definitions they refer to.
We use it to produce JavaScript docs and examples at Sourcegraph (e.g., https://sourcegraph.com/github.com/joyent/node), but it can also be useful for automatic JavaScript doc generation, automatic bug detection, and other static analysis tasks to improve the quality of your JavaScript code.