function getGraph(targetPath) {
  const nodes = new Set()
  /** @type {Link[]} */
  const links = []
  walkUsage(targetPath, {
    // onNode (refLink) {
    //   nodes.push()
    // },
    /**
     *
     * @param {import('@babel/traverse').NodePath<import('@babel/types').Node>} targetPath
     * @param {*} refLink
     */
    onLink(targetPath, refLink) {
      const originNode = targetPath.node
      const destNode = refLink.path.node
      const linkLabel = refLink.label

      // originNode._id = originNode._id || Math.random()
      // destNode._id = destNode._id || Math.random()
      nodes.add(originNode)
      nodes.add(destNode)
      links.push({ from: originNode, to: destNode, label: linkLabel })
    },
  })
  return { links, nodes: Array.from(nodes) }
}
@param {import('@babel/traverse').NodePath<import('@babel/types').Node>} targetPath
@returns