I am using @typedef to define some custom types, with @property items.
When doing the same for a class I can just use {@link MyClass#property} to reference the property.
But for some reasons {@link MyType#property} does not resolve.
Is this a bug or is there a different way to reference such properties?
My usage example:
/**
* @typedef helpers.Column
*
* @property {String} name
*/
/**
* This one resolves correctly: {@link helpers.Column}
*
* This one does not resolve: {@link helpers.Column#name}
*/
When JSDoc parses @typedef, it always produces the "clean" (original formatting) output style of documentation. This happens regardless of whether you are using @namespace. Here's an example from a project I'm working on (Please ignore the poor docs lol).

So, @property and related tags under a @typedef are presented in a table rather than using sections, which makes linking impossible.
You used to be able to do your @typedef and exclude the @property. Then do another @typedef with the name parentName.propertyName to forcibly get around it. This appears to no longer be the case, regardless, it made code much harder to maintain due to not being compatible with non-global namespacing. For reference, the @link will appear and is clickable, but it just takes you to globals and the property no longer shows up under the document type.
As a side note, it's best to treat name as a reserved keyword. It can break a lot of things in a lot of places and make debugging dependencies a nightmare.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With