dart-lang / pana

Package ANAlysis for Dart
https://pub.dev/packages/pana
BSD 3-Clause "New" or "Revised" License
207 stars 44 forks source link

API validation is not happening while running pana locally #870

Closed dharanidharandharmasivam closed 1 year ago

dharanidharandharmasivam commented 3 years ago

In the Provide documentation section for pub points, mentioned like 20% API members contain API documentation, but when we run pana locally, the API documentation validation is not happening. Validation is done for example section as below and the score also shown for that.

`## ✓ Provide documentation (10 / 10)

[*] 10/10 points: Package has an example

But the packages on pub has 20 points for Provide documentation section 10 points for example and another 10 points for API documentation.

image

I am using pana command v0.16.0 to do the validation in my windows machine. How can I validate my API members in my packages using pana? Kindly help me on this.

isoos commented 3 years ago

@dharanidharandharmasivam: The issue here is that dartdoc itself doesn't provide this information. On pub.dev we are using a customized dartdoc process that extracts it, and then we can interpret/score it, however, that process is being planned to be more tightly integrated with pub.dev, and less likely to be released as a separate tool. (A few reasons: we want to make it more efficient by merging separate steps: (1) running dartdoc, (2) updating the HTML code for pub.dev, and (3) creating an archive that gets downloaded.)

With that, I don't think we will get a full replication of pub.dev in pana soon.

sigurdm commented 3 years ago

Hmm - but could that integrated code exist in pana, or as an option in dartdoc that pana could take advantage of?

isoos commented 3 years ago

Hmm - but could that integrated code exist in pana, or as an option in dartdoc that pana could take advantage of?

Unlikely, as package:dartdoc has a different dependency lifecycle from pana or pub-dev (e.g. they are not null-safe migrated yet). One thing that could work in the long run is if we (a) release pub_dartdoc separately or (b) run pub_dartdoc by cloning pub-dev repository and running from it directly.

Marcoslima016 commented 1 year ago

Hmm - but could that integrated code exist in pana, or as an option in dartdoc that pana could take advantage of?

Unlikely, as package:dartdoc has a different dependency lifecycle from pana or pub-dev (e.g. they are not null-safe migrated yet). One thing that could work in the long run is if we (a) release pub_dartdoc separately or (b) run pub_dartdoc by cloning pub-dev repository and running from it directly.

"run pub_dartdoc by cloning pub-dev repository and running from it directly" work for me. Thanks!

mateusfccp commented 1 year ago

I have this problem too. pana in pub.dev says that I am documenting 1 out of 2 public APIs, but I can't find the API that I did not document, so I tried running locally to see if I could get more details, but API validation doesn't happen locally...

sigurdm commented 1 year ago

Pana should just run dartdoc itself, that also simplifies the pub-worker which currently runs both pana and dartdoc and somehow merges the results into a report.

sigurdm commented 1 year ago

Closing as duplicate, as this is a part of https://github.com/dart-lang/pana/issues/1229