dart-archive / pub_server

Reusable components for making a pub package server
https://pub.dev/packages/pub_server
BSD 3-Clause "New" or "Revised" License
220 stars 84 forks source link

Add hasDocumentation flag to PackageVersion. #15

Closed isoos closed 6 years ago

isoos commented 6 years ago

Required change for https://github.com/dart-lang/pub-dartlang-dart/issues/1119

/cc @jakobr-google

@kevmoo: instead of overriding the map, adding the explicit flag seemed better.

kevmoo commented 6 years ago

This seems okay – are we sure this doesn't mess up the pub client? 😄

mkustermann commented 6 years ago

Does the pub client need a hasDocumentation value in the json response ? If the answer is no, then this PR should probably not land (The only purpose of package:pub_server is to encapsulate the json api used by the pub client!)

Just because pub.dartlang.org also has support for analyzing packages, indexing packages, and generating documentation for them (and maybe more features in the future) shouldn't clutter this API.

Therefore my recommendation would be to expose separate APIs for separate services: For example https://pub.dartlang.org/api/docs/<name>(/<version>) could expose the results of dartdoc generation.

-> This keeps the different services separate, which also means that if the dartdoc service is not working (e.g. a bug in dartdoc), it has no effect on the core package hosting service. So I highly recommend to keep things separate!

Though I leave the decision to @jakobr-google, since he has taken over the maintenance of this now.

isoos commented 6 years ago

(The only purpose of package:pub_server is to encapsulate the json api used by the pub client!)

This wasn't really apparent from the project page.

For example https://pub.dartlang.org/api/docs/<name>(/<version>) could expose the results of dartdoc generation.

Yeah, that could work too. Closing this.