Hi again!
I would expect behavior similar to the one JSDoc 2 (
jsdoc-toolkit) is presenting, i.e. just printing the name of the extended object/class/module without necessarily making 'foo' to be obligatory defined and existing somewhere in the documented code or JSDoc.
More specific example:
https://gist.github.com/3341683The JSDoc 3 output is correct, but it ignores @extends tag.
If I change
@name Foo to
@class/@constructor Foo it throws the exception and stops processing regardless of lenient flag. In all those cases the 'extends' information on template is not shown/available. It should at least make use of the '-l' flag and ignore the missing dependency, continuing with docs generation, shouldn't it? Like in the
@name case.
If not a bug, isn't it inconsistent anyway?
Thanks again && cheers!
M.
PS. The exception is raised on line 323 of jsdoc.js.
PS2. There were situations while documenting projects with JSDoc 2, when I had to make mock JSDoc definitions just to provide some base for the following objects, but I think that providing it now for extended classes/objects could be quite troublesome in a project with many dependencies that I do not need to document myself.