If it could help, I have a demo project that has recursive components (comments) [1]. It can be seen in action on GitHub Pages [2].
The only issue I encountered is that recursive components must be named since they can't import themselves. This is covered in the official Vue docs [3]