-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for extracting ngdocs from AngularJS AST #157
Conversation
In its current form this supports: - Extracting components chained from angular.module(). - animation → @ngdoc animation - component → @ngdoc directive - config - skipped - constant → @ngdoc constant - controller → @ngdoc constant - decorator - skipped - directive → @ngdoc directive - factory → @ngdoc service - provider → @ngdoc provider - run - skipped - service → @ngdoc service - value → @ngdoc service - Extracting members. - class-like members (services, controllers...) - returned objects (factories, directives...) - literal objects (values, components, ...) - Resolving function references using escope. - DI detection, mapping to @requires tags. - Module dependencies, mapping to @requires tags. - Combining autogenerated tags with JSDoc.
Hi, Do you have any progress on this package? I'm looking for the same feature set and I'll be glad to help you with the implementation. Questions:
Thanks for contribution! |
Hi @wingedfox I haven't had much time to continue on this package. Also I'm not sure about the future of Angular 1.x / 2, which hasn't been very motivating to continue on this. If you want, I can enable issues for my fork and add you as a contributor.
I think it is useful to document the dependencies of one module on another. I suppose this could be changed to something like
I'm not aware of any of their parsing rules. I've based the parsing on my contributions to eslint-plugin-angular.
I don't recall the details, but I think there is, since the AST is converted to ngdocs which are then passed onto processors from the ngdocs provider. I feel like this may actually not be the best approach tough, but the automatic extraction is probably the most important feature to focus on.
Tried and succeeded. Members are extracted from class-like components (services, providers), object returning components (service, directive) and literal object components (value, constant). |
@remcohaszing - sorry I seem to have missed this when it arrived. |
@petebacondarwin the Also, will Angular 1.x still be relevant in the forseeable future? This question hasn't been very motivating me to continue on this feature. |
Any updates on this one? Would love to be able to document Controllers and Components now that 1.5.x has implemented the .component() architecture ! |
Nothing from me, I'm afraid. I have been too busy with other projects. |
Sorry, I'm too busy with other projects as well. Also, moved on to Angular2. Feel free to hijack my PR. ;) |
Closing as there is no one to work on this. |
In its current state this is not yet ready. Docs and tests are missing for example. This is basically just a code dump.
I still want to implement the following features:
restrict
.Furthermore I'd like to add the following, though it's not directly related to this feature:
@description
as a default start tag. It just looks silly to start every comment with this tag with all the boilerplate removed.objects.inv
of intersphinx. Adding@requires
for members not in the current project, causes a lot of warnings.Of course a PR will never be complete without some issue references: