{"action":"created","issue":{"url":"https://api.github.com/repos/angular/dgeni-packages/issues/157","repository_url":"https://api.github.com/repos/angular/dgeni-packages","labels_url":"https://api.github.com/repos/angular/dgeni-packages/issues/157/labels{/name}","comments_url":"https://api.github.com/repos/angular/dgeni-packages/issues/157/comments","events_url":"https://api.github.com/repos/angular/dgeni-packages/issues/157/events","html_url":"https://github.com/angular/dgeni-packages/pull/157","id":132830776,"number":157,"title":"Add support for extracting ngdocs from AngularJS AST","user":{"login":"remcohaszing","id":779047,"avatar_url":"https://avatars.githubusercontent.com/u/779047?v=3","gravatar_id":"","url":"https://api.github.com/users/remcohaszing","html_url":"https://github.com/remcohaszing","followers_url":"https://api.github.com/users/remcohaszing/followers","following_url":"https://api.github.com/users/remcohaszing/following{/other_user}","gists_url":"https://api.github.com/users/remcohaszing/gists{/gist_id}","starred_url":"https://api.github.com/users/remcohaszing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remcohaszing/subscriptions","organizations_url":"https://api.github.com/users/remcohaszing/orgs","repos_url":"https://api.github.com/users/remcohaszing/repos","events_url":"https://api.github.com/users/remcohaszing/events{/privacy}","received_events_url":"https://api.github.com/users/remcohaszing/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-10T22:08:53Z","updated_at":"2016-03-30T18:27:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/angular/dgeni-packages/pulls/157","html_url":"https://github.com/angular/dgeni-packages/pull/157","diff_url":"https://github.com/angular/dgeni-packages/pull/157.diff","patch_url":"https://github.com/angular/dgeni-packages/pull/157.patch"},"body":"In its current state this is not yet ready. Docs and tests are missing for example. This is basically just a code dump.\r\n\r\nI still want to implement the following features:\r\n- Customize handling of object properties. This can be used to:\r\n  - Resolve factories from providers.\r\n  - Resolve special directive properties, such as `restrict`.\r\n- Handle functions as services, instead of just objects.\r\n\r\nFurthermore I'd like to add the following, though it's not directly related to this feature:\r\n- Allow to use `@description` as a default start tag. It just looks silly to start every comment with this tag with all the boilerplate removed.\r\n- Enable linking to external projects using a standarized JSON file, similar to `objects.inv` of [intersphinx](http://www.sphinx-doc.org/en/stable/ext/intersphinx.html). Adding `@requires` for members not in the current project, causes a lot of warnings.\r\n\r\nOf course a PR will never be complete without some issue references:\r\n- #94\r\n- #156\r\n- [eslint-plugin-angular #335](https://github.com/Gillespie59/eslint-plugin-angular/issues/335)"},"comment":{"url":"https://api.github.com/repos/angular/dgeni-packages/issues/comments/203568104","html_url":"https://github.com/angular/dgeni-packages/pull/157#issuecomment-203568104","issue_url":"https://api.github.com/repos/angular/dgeni-packages/issues/157","id":203568104,"user":{"login":"remcohaszing","id":779047,"avatar_url":"https://avatars.githubusercontent.com/u/779047?v=3","gravatar_id":"","url":"https://api.github.com/users/remcohaszing","html_url":"https://github.com/remcohaszing","followers_url":"https://api.github.com/users/remcohaszing/followers","following_url":"https://api.github.com/users/remcohaszing/following{/other_user}","gists_url":"https://api.github.com/users/remcohaszing/gists{/gist_id}","starred_url":"https://api.github.com/users/remcohaszing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remcohaszing/subscriptions","organizations_url":"https://api.github.com/users/remcohaszing/orgs","repos_url":"https://api.github.com/users/remcohaszing/repos","events_url":"https://api.github.com/users/remcohaszing/events{/privacy}","received_events_url":"https://api.github.com/users/remcohaszing/received_events","type":"User","site_admin":false},"created_at":"2016-03-30T18:27:24Z","updated_at":"2016-03-30T18:27:24Z","body":"Hi @wingedfox \r\n\r\nI 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.\r\n\r\nIf you want, I can enable issues for my fork and add you as a contributor.\r\n\r\n> Is there a need to have @requires auto generation for a module? This may mislead readers as long as Installation section of the docs lists all requires as implicit dependencies.\r\n\r\nI think it is useful to document the dependencies of one module on another. I suppose this could be changed to something like `dependencies` instead of `requires`, but I think this is just a detail.\r\n\r\n> Have you tried the parsing rules from ng-annotate?\r\n\r\nI'm not aware of any of their parsing rules. I've based the parsing on my contributions to [eslint-plugin-angular](https://github.com/Gillespie59/eslint-plugin-angular).\r\n\r\n> Guess, there's no need to explicitly depend on ngdocs package?\r\n\r\nI 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.\r\n\r\n> Have you tried to extract @name for the services/properties/etc?\r\n\r\nTried and succeeded.\r\n\r\nMembers are extracted from class-like components (services, providers), object returning components (service, directive) and literal object components (value, constant)."}}