senchalabs / jsduck

Simple JavaScript Duckumentation generator.
http://docs.sencha.com/
GNU General Public License v3.0
1.5k stars 238 forks source link

JSDuck & ExtJS6 - Universal app. #669

Open fairport opened 7 years ago

fairport commented 7 years ago

With ExtJS, in a project using both classic & modern toolkits... See attached config json file... It seems that once duck finds the first instance of a class (e.g. in the classic src folders or even the common app source folders) , it ignores any subsequent instance of that class (e.g. in the modern src folders)

Am I correct or am I missing a vital setting in my json file? jsduck.json.txt Thanks.

nene commented 7 years ago

What would you expect JSDuck to do when it finds two definitions of the same class?

When JSDuck sees repeated definitions of the same class, it merges them together. This is to support the case where methods of one class have been split to several files. Perhaps this is what happens in your case, and it just seems to you that JSDuck is ignoring the other definition.

To better understand the problem though, try to limit your input to as few files as possible. Then reduce these files to as few lines as possible, reaching to minimal amount of source code that still reproduces the problem. From that minimal amount of code it will be much easier to diagnose what the problem might be.

PS. Your configuration file looks fine to me.

fairport commented 7 years ago

OK. Thanks. I thought perhaps I'd missed something important in the JSON file. For example - with the introduction of the "universal app" ... maybe I need to setup classes differently to comply with jsDuck.

Right now, what I am seeing are quite random effects & I am expecting jsDuck to read my mind! I think I need to use the words Modern & Classic within my class names. That will fix it.

and .. I am very impressed with jsDuck ... I am amazed how well it builds beautiful, professional looking documentation.

nene commented 7 years ago

Glad it works. Though you should be aware I haven't maintained it for several years, so it has zero knowledge of ExtJS6 and other newer stuff.

dawesi commented 1 week ago

I know this is no longer being maintained, but would be great if it could detect the classic or modern directory structure and create two trees one for each. ;-)

Maybe I'll have a look at doing that with a fork. Any tips on best way to do this would be appreciated.