Version: v1.6.0
Handlers written as exports.foo = () => {} / exports.foo = async () => {} (a very common Express/CommonJS controller style) don't seem to be indexed as function nodes. node/callers can't find them, and calls into them collapse to file level (the calling function is lost).
Repro:
controller.js:
exports.getItems = async (req, res) => { /* ... */ };
wired in a router: router.get('/items', getItems)
codegraph node getItems → "Symbol not found", although it's a real, route-wired handler.
Impact: in one real Express codebase, 60+ route handlers written in this style are invisible to the graph, so impact/callers analysis silently misses them.
Ask: index the exports.<name> = (arrow | async arrow | function) assignment form as a function node — the same treatment const X = () => {} already gets.
Version: v1.6.0
Handlers written as
exports.foo = () => {}/exports.foo = async () => {}(a very common Express/CommonJS controller style) don't seem to be indexed as function nodes.node/callerscan't find them, and calls into them collapse to file level (the calling function is lost).Repro:
controller.js:router.get('/items', getItems)codegraph node getItems→ "Symbol not found", although it's a real, route-wired handler.Impact: in one real Express codebase, 60+ route handlers written in this style are invisible to the graph, so impact/callers analysis silently misses them.
Ask: index the
exports.<name> = (arrow | async arrow | function)assignment form as a function node — the same treatmentconst X = () => {}already gets.