dart-lang / pub-dev

The pub.dev website
https://pub.dev
BSD 3-Clause "New" or "Revised" License
785 stars 147 forks source link

When analysis times out, and is killed, but a log.txt has been uploaded, we should show it. #7563

Closed sigurdm closed 7 months ago

sigurdm commented 7 months ago

Otherwise it seems like analysis has not been run at all.

See: https://pub.dev/packages/fml/score

image

JeffOlajos commented 7 months ago

Im also not sure why I'm constantly getting [UNKNOWN PLATFORMS] when I publish my package?

When I run $pana locally, it shows supported platforms:

(## ✓ Platform support (20 / 20)

[*] 20/20 points: Supports 6 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

There is some verbage noting package geolocator/geolocator.dart doesnt support the platform howover in pub.dev, geolocator package supports all platforms????

Here is the pana output when running locally:

WARNING Flutter SDK path was not specified, pana will use the default Dart SDK to run dart analyze on Flutter packages. INFO Running dart.exe --version... INFO Running flutter.bat --no-version-check --version --machine... INFO Running git rev-parse --show-toplevel... INFO Running flutter.bat --no-version-check pub pub get --no-example... INFO Running flutter.bat --no-version-check pub pub get --no-example... INFO Running flutter.bat --no-version-check pub pub outdated --json --up-to-date --no-dev-dependencies --no-dependency-overrides... INFO Analyzing package... INFO Running dart.exe analyze --format machine lib... INFO Running git init... INFO Running git remote add origin https://github.com/AppDaddy-Software-Solutions-Inc/Flutter-Markup-Language... INFO Running git remote show origin... INFO Running git fetch --depth 1 --no-recurse-submodules origin main... INFO Running git ls-tree -r --name-only --full-tree origin/main... INFO Unable to read "example/pubspec.yaml". Path "example/pubspec.yaml" is not normalized. INFO Running git show origin/main:pubspec.yaml... INFO Running dart.exe format --output=none --set-exit-if-changed C:\Users\jeff\AppData\Local\Temp\pana_d17dd08e\.\lib... FINE Downloading: https://pub.dartlang.org/api/packages/audioplayers FINE Downloading: https://pub.dartlang.org/api/packages/intl INFO Running dart.exe pub global activate dartdoc... INFO Running flutter.bat --no-version-check pub global run dartdoc --output C:\Users\jeff\AppData\Local\Temp\pana.1710846528695.61fc232a\doc --sanitize-html --max-file-count 10000000 --max-total-size 2147483648 --no-validate-links...

✗ Follow Dart file conventions (20 / 30)

[*] 10/10 points: Provide a valid pubspec.yaml

[*] 5/5 points: Provide a valid README.md

[*] 5/5 points: Provide a valid CHANGELOG.md

[x] 0/10 points: Use an OSI-approved license

No license was recognized. Consider using an [OSI-approved license](https://opensource.org/licenses) in the `LICENSE` file to make it more accessible to the community.

✗ Provide documentation (10 / 20)

[~] 0/10 points: 20% or more of the public API has dartdoc comments

871 out of 5867 API elements (14.8 %) have documentation comments.

Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API. Document at least 20% of the public API elements.

Some symbols that are missing documentation: alarm_model, alarm_model.AlarmModel, alarm_model.AlarmModel.AlarmModel, alarm_model.AlarmModel.alarming, alarm_model.AlarmModel.deserialize.

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

✓ Platform support (20 / 20)

[*] 20/20 points: Supports 6 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

These issues are present but do not affect the score, because they may not originate in your package:

Package does not support platform `Android`. Because: * `package:fml/fml.dart` that imports: * `package:fml/theme/theme.dart` that imports: * `package:fml/widgets/theme/theme_model.dart` that imports: * `package:fml/helpers/helpers.dart` that imports: * `package:fml/helpers/template.dart` that imports: * `package:fml/observable/observable_barrel.dart` that imports: * `package:fml/observable/observable.dart` that imports: * `package:fml/eval/eval.dart` that imports: * `package:fml/log/manager.dart` that imports: * `package:fml/platform/platform.vm.dart` that imports: * `package:fml/system.dart` that imports: * `package:fml/datasources/gps/gps.dart` that imports: * `package:geolocator/geolocator.dart` that imports: * `package:geolocator_apple/geolocator_apple.dart` that declares support for platforms: `iOS`, `macOS`.
Package does not support platform `iOS`. Because: * `package:fml/fml.dart` that imports: * `package:fml/theme/theme.dart` that imports: * `package:fml/widgets/theme/theme_model.dart` that imports: * `package:fml/helpers/helpers.dart` that imports: * `package:fml/helpers/template.dart` that imports: * `package:fml/observable/observable_barrel.dart` that imports: * `package:fml/observable/observable.dart` that imports: * `package:fml/eval/eval.dart` that imports: * `package:fml/log/manager.dart` that imports: * `package:fml/platform/platform.vm.dart` that imports: * `package:fml/system.dart` that imports: * `package:fml/datasources/gps/gps.dart` that imports: * `package:geolocator/geolocator.dart` that imports: * `package:geolocator_android/geolocator_android.dart` that declares support for platforms: `Android`.
Package does not support platform `Windows`. Because: * `package:fml/fml.dart` that imports: * `package:fml/theme/theme.dart` that imports: * `package:fml/widgets/theme/theme_model.dart` that imports: * `package:fml/helpers/helpers.dart` that imports: * `package:fml/helpers/template.dart` that imports: * `package:fml/observable/observable_barrel.dart` that imports: * `package:fml/observable/observable.dart` that imports: * `package:fml/eval/eval.dart` that imports: * `package:fml/log/manager.dart` that imports: * `package:fml/platform/platform.vm.dart` that imports: * `package:fml/system.dart` that imports: * `package:fml/datasources/gps/gps.dart` that imports: * `package:geolocator/geolocator.dart` that imports: * `package:geolocator_apple/geolocator_apple.dart` that declares support for platforms: `iOS`, `macOS`.
Package does not support platform `Linux`. Because: * `package:fml/fml.dart` that imports: * `package:fml/theme/theme.dart` that imports: * `package:fml/widgets/theme/theme_model.dart` that imports: * `package:fml/helpers/helpers.dart` that imports: * `package:fml/helpers/template.dart` that imports: * `package:fml/observable/observable_barrel.dart` that imports: * `package:fml/observable/observable.dart` that imports: * `package:fml/eval/eval.dart` that imports: * `package:fml/log/manager.dart` that imports: * `package:fml/platform/platform.vm.dart` that imports: * `package:fml/system.dart` that imports: * `package:fml/widgets/framework/framework_model.dart` that imports: * `package:fml/widgets/framework/framework_view.dart` that imports: * `package:fml/widgets/drawer/drawer_view.dart` that imports: * `package:fml/widgets/widget/widget_state.dart` that imports: * `package:fml/widgets/viewable/viewable_widget_model.dart` that imports: * `package:fml/widgets/prototype/prototype_model.dart` that imports: * `package:fml/widgets/form/form_model.dart` that imports: * `package:fml/widgets/input/input_model.dart` that imports: * `package:fml/widgets/form/decorated_input_model.dart` that imports: * `package:fml/widgets/form/form_field_model.dart` that imports: * `package:fml/event/handler.dart` that imports: * `package:fml/navigation/navigation_manager.dart` that imports: * `package:fml/store/store_view.dart` that imports: * `package:fml/store/store_model.dart` that imports: * `package:fml/application/application_model.dart` that imports: * `package:firebase_core/firebase_core.dart` that declares support for platforms: `Android`, `iOS`, `Windows`, `macOS`, `Web`.
Package does not support platform `macOS`. Because: * `package:fml/fml.dart` that imports: * `package:fml/theme/theme.dart` that imports: * `package:fml/widgets/theme/theme_model.dart` that imports: * `package:fml/helpers/helpers.dart` that imports: * `package:fml/helpers/template.dart` that imports: * `package:fml/observable/observable_barrel.dart` that imports: * `package:fml/observable/observable.dart` that imports: * `package:fml/eval/eval.dart` that imports: * `package:fml/log/manager.dart` that imports: * `package:fml/platform/platform.vm.dart` that imports: * `package:fml/system.dart` that imports: * `package:fml/datasources/gps/gps.dart` that imports: * `package:geolocator/geolocator.dart` that imports: * `package:geolocator_android/geolocator_android.dart` that declares support for platforms: `Android`.
Package does not support platform `Web`. Because: * `package:fml/fml.dart` that imports: * `package:fml/theme/theme.dart` that imports: * `package:fml/widgets/theme/theme_model.dart` that imports: * `package:fml/helpers/helpers.dart` that imports: * `package:fml/helpers/template.dart` that imports: * `package:fml/observable/observable_barrel.dart` that imports: * `package:fml/observable/observable.dart` that imports: * `package:fml/eval/eval.dart` that imports: * `package:fml/log/manager.dart` that imports: * `package:fml/platform/platform.web.dart` that imports: * `package:fml/event/manager.dart` that imports: * `package:fml/event/event.dart` that imports: * `package:fml/widgets/widget/widget_model.dart` that imports: * `package:fml/widgets/framework/framework_model.dart` that imports: * `package:fml/widgets/framework/framework_view.dart` that imports: * `package:fml/widgets/drawer/drawer_view.dart` that imports: * `package:fml/widgets/widget/widget_state.dart` that imports: * `package:fml/widgets/viewable/viewable_widget_model.dart` that imports: * `package:fml/widgets/constraints/constraint_model.dart` that imports: * `package:fml/system.dart` that imports: * `package:fml/datasources/gps/gps.dart` that imports: * `package:geolocator/geolocator.dart` that imports: * `package:geolocator_apple/geolocator_apple.dart` that declares support for platforms: `iOS`, `macOS`.

✗ Pass static analysis (40 / 50)

[~] 40/50 points: code has no errors, warnings, lints, or formatting issues

Found 393 issues. Showing the first 2:

INFO: Uses 'await' on an instance of 'RoutePopDisposition', which is not a subtype of 'Future'. `lib\navigation\navigation_manager.dart:193:27` ``` ╷ 193 │ var disposition = await route.popDisposition; │ ^^^^^ ╵ ``` To reproduce make sure you are using the [lints_core](https://pub.dev/packages/lints) and run `flutter analyze lib\navigation\navigation_manager.dart`
INFO: The type of the right operand ('TargetPlatform') isn't a subtype or a supertype of the left operand ('Type'). `lib\navigation\page.dart:130:30` ``` ╷ 130 │ if (TargetPlatform == TargetPlatform.iOS) builder = CupertinoPageTransitionsBuilder(); │ ^^ ╵ ``` To reproduce make sure you are using the [lints_core](https://pub.dev/packages/lints) and run `flutter analyze lib\navigation\page.dart`

✗ Support up-to-date dependencies (10 / 20)

[x] 0/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest
audioplayers ^5.2.1 5.2.1 6.0.0
camera ^0.10.3 0.10.5+9 0.10.5+9
camera_windows ^0.2.1+9 0.2.1+9 0.2.1+9
collection ^1.18.0 1.18.0 1.18.0
community_charts_common ^1.0.1 1.0.2 1.0.2
community_charts_flutter ^1.0.1 1.0.2 1.0.2
connectivity_plus ^5.0.2 5.0.2 5.0.2
cross_file ^0.3.3+1 0.3.4+1 0.3.4+1
crypto ^3.0.2 3.0.3 3.0.3
decimal ^2.3.3 2.3.3 2.3.3
expressions 0.2.5+1 0.2.5+1 0.2.5+1
file_picker ^6.2.0 6.2.0 6.2.0
firebase_auth ^4.9.0 4.17.9 4.17.9
firebase_core ^2.15.1 2.27.1 2.27.1
fl_chart ^0.66.1 0.66.2 0.66.2
flex_color_picker ^3.4.0 3.4.1 3.4.1
flutter flutter 0.0.0 0.0.0
flutter_beacon ^0.5.1 0.5.1 0.5.1
flutter_code_editor ^0.3.1 0.3.1 0.3.1
flutter_highlight ^0.7.0 0.7.0 0.7.0
flutter_image_transform ^1.0.1 1.0.1 1.0.1
flutter_map ^6.1.0 6.1.0 6.1.0
flutter_multi_formatter ^2.12.4 2.12.4 2.12.4
flutter_nfc_kit ^3.4.2 3.4.2 3.4.2
flutter_svg ^2.0.10+1 2.0.10+1 2.0.10+1
flutter_typeahead ^5.2.0 5.2.0 5.2.0
geolocator ^11.0.0 11.0.0 11.0.0
google_fonts ^6.2.1 6.2.1 6.2.1
google_maps_flutter ^2.6.0 2.6.0 2.6.0
google_maps_flutter_web ^0.5.6+2 0.5.6+2 0.5.6+2
google_mlkit_barcode_scanning ^0.10.0 0.10.0 0.10.0
google_mlkit_text_recognition ^0.11.0 0.11.0 0.11.0
highlight ^0.7.0 0.7.0 0.7.0
hive ^2.2.3 2.2.3 2.2.3
http ^1.2.1 1.2.1 1.2.1
image ^4.0.17 4.1.7 4.1.7
intl ^0.18.0 0.18.1 0.19.0
jaguar_jwt ^3.0.0 3.0.0 3.0.0
jiffy ^6.2.1 6.2.1 6.2.2
latlong2 ^0.9.0 0.9.0 0.9.0
mime ^1.0.4 1.0.5 1.0.5
mqtt_client ^10.2.0 10.2.0 10.2.0
ndef ^0.3.1 0.3.3 0.3.3
open_filex ^4.2.2 4.4.0 4.4.0
path ^1.8.2 1.9.0 1.9.0
path_provider ^2.0.11 2.1.2 2.1.2
perfect_freehand ^2.3.2 2.3.2 2.3.2
petitparser ^6.0.2 6.0.2 6.0.2
pluto_grid_plus ^8.3.0 8.3.0 8.3.0
pluto_grid_plus_export ^1.0.4 1.0.4 1.0.4
pointycastle ^3.7.3 3.7.4 3.7.4
provider ^6.0.3 6.1.2 6.1.2
quiver ^3.2.1 3.2.1 3.2.1
stream_channel ^2.1.1 2.1.2 2.1.2
universal_html ^2.2.4 2.2.4 2.2.4
url_launcher ^6.2.5 6.2.5 6.2.5
uuid ^4.3.3 4.3.3 4.3.3
validators ^3.0.0 3.0.0 3.0.0
video_player ^2.8.3 2.8.3 2.8.3
video_player_win ^2.3.5 2.3.5 2.3.5
visibility_detector ^0.4.0+2 0.4.0+2 0.4.0+2
web_socket_channel ^2.2.0 2.4.4 2.4.4
webview_flutter ^4.7.0 4.7.0 4.7.0
xml ^6.5.0 6.5.0 6.5.0
xml2json ^6.2.2 6.2.2 6.2.2
zxing_lib ^1.1.2 1.1.2 1.1.2
Transitive dependencies |Package|Constraint|Compatible|Latest| |:-|:-|:-|:-| |[`_flutterfire_internals`]|-|1.3.26|1.3.26| |[`archive`]|-|3.4.10|3.4.10| |[`args`]|-|2.4.2|2.4.2| |[`async`]|-|2.11.0|2.11.0| |[`audioplayers_android`]|-|4.0.3|5.0.0| |[`audioplayers_darwin`]|-|5.0.2|6.0.0| |[`audioplayers_linux`]|-|3.1.0|4.0.0| |[`audioplayers_platform_interface`]|-|6.1.0|7.0.0| |[`audioplayers_web`]|-|4.1.0|5.0.0| |[`audioplayers_windows`]|-|3.1.0|4.0.0| |[`auth_header`]|-|3.0.1|3.0.1| |[`autotrie`]|-|2.0.0|2.0.0| |[`barcode`]|-|2.2.6|2.2.6| |[`base58check`]|-|2.0.0|2.0.0| |[`bech32`]|-|0.2.2|0.2.2| |[`bidi`]|-|2.0.10|2.0.10| |[`boolean_selector`]|-|2.1.1|2.1.1| |[`camera_android`]|-|0.10.8+16|0.10.8+16| |[`camera_avfoundation`]|-|0.9.14+1|0.9.14+1| |[`camera_platform_interface`]|-|2.7.4|2.7.4| |[`camera_web`]|-|0.3.2+4|0.3.2+4| |[`characters`]|-|1.3.0|1.3.0| |[`charcode`]|-|1.3.1|1.3.1| |[`charset`]|-|2.0.1|2.0.1| |[`clock`]|-|1.1.1|1.1.1| |[`connectivity_plus_platform_interface`]|-|1.2.4|1.2.4| |[`convert`]|-|3.1.1|3.1.1| |[`csslib`]|-|1.0.0|1.0.0| |[`csv`]|-|5.1.1|6.0.0| |[`dbus`]|-|0.7.10|0.7.10| |[`equatable`]|-|2.0.5|2.0.5| |[`event_bus`]|-|2.0.0|2.0.0| |[`fake_async`]|-|1.3.1|1.3.1| |[`ffi`]|-|2.1.2|2.1.2| |[`file`]|-|7.0.0|7.0.0| |[`firebase_auth_platform_interface`]|-|7.1.9|7.1.9| |[`firebase_auth_web`]|-|5.10.0|5.10.0| |[`firebase_core_platform_interface`]|-|5.0.0|5.0.0| |[`firebase_core_web`]|-|2.12.0|2.12.0| |[`fixnum`]|-|1.1.0|1.1.0| |[`flex_seed_scheme`]|-|1.4.0|1.4.0| |[`flutter_keyboard_visibility`]|-|6.0.0|6.0.0| |[`flutter_keyboard_visibility_linux`]|-|1.0.0|1.0.0| |[`flutter_keyboard_visibility_macos`]|-|1.0.0|1.0.0| |[`flutter_keyboard_visibility_platform_interface`]|-|2.0.0|2.0.0| |[`flutter_keyboard_visibility_web`]|-|2.0.0|2.0.0| |[`flutter_keyboard_visibility_windows`]|-|1.0.0|1.0.0| |[`flutter_plugin_android_lifecycle`]|-|2.0.17|2.0.17| |[`flutter_test`]|-|0.0.0|0.0.0| |[`flutter_web_plugins`]|-|0.0.0|0.0.0| |[`geolocator_android`]|-|4.5.3+1|4.5.3+1| |[`geolocator_apple`]|-|2.3.7|2.3.7| |[`geolocator_platform_interface`]|-|4.2.2|4.2.2| |[`geolocator_web`]|-|3.0.0|3.0.0| |[`geolocator_windows`]|-|0.2.3|0.2.3| |[`google_maps`]|-|7.1.0|7.1.0| |[`google_maps_flutter_android`]|-|2.7.0|2.7.0| |[`google_maps_flutter_ios`]|-|2.5.0|2.5.0| |[`google_maps_flutter_platform_interface`]|-|2.6.0|2.6.0| |[`google_mlkit_commons`]|-|0.6.1|0.6.1| |[`html`]|-|0.15.4|0.15.4| |[`http_parser`]|-|4.0.2|4.0.2| |[`js`]|-|0.6.7|0.7.1| |[`js_wrapping`]|-|0.7.4|0.7.4| |[`json_annotation`]|-|4.8.1|4.8.1| |[`leak_tracker`]|-|10.0.0|10.0.4| |[`leak_tracker_flutter_testing`]|-|2.0.1|3.0.3| |[`leak_tracker_testing`]|-|2.0.1|3.0.1| |[`linked_scroll_controller`]|-|0.2.0|0.2.0| |[`lists`]|-|1.0.1|1.0.1| |[`logger`]|-|2.1.0|2.1.0| |[`logging`]|-|1.2.0|1.2.0| |[`matcher`]|-|0.12.16+1|0.12.16+1| |[`material_color_utilities`]|-|0.8.0|0.11.1| |[`meta`]|-|1.11.0|1.12.0| |[`mgrs_dart`]|-|2.0.0|2.0.0| |[`mocktail`]|-|1.0.3|1.0.3| |[`nested`]|-|1.0.0|1.0.0| |[`nm`]|-|0.5.0|0.5.0| |[`path_parsing`]|-|1.0.1|1.0.1| |[`path_provider_android`]|-|2.2.2|2.2.2| |[`path_provider_foundation`]|-|2.3.2|2.3.2| |[`path_provider_linux`]|-|2.2.1|2.2.1| |[`path_provider_platform_interface`]|-|2.1.2|2.1.2| |[`path_provider_windows`]|-|2.2.1|2.2.1| |[`pdf`]|-|3.10.8|3.10.8| |[`pdf_widget_wrapper`]|-|1.0.3|1.0.4| |[`platform`]|-|3.1.4|3.1.4| |[`plugin_platform_interface`]|-|2.1.8|2.1.8| |[`pointer_interceptor`]|-|0.10.1|0.10.1| |[`pointer_interceptor_ios`]|-|0.10.0+2|0.10.0+2| |[`pointer_interceptor_platform_interface`]|-|0.10.0+1|0.10.0+1| |[`pointer_interceptor_web`]|-|0.10.2|0.10.2| |[`polylabel`]|-|1.0.1|1.0.1| |[`printing`]|-|5.12.0|5.12.0| |[`proj4dart`]|-|2.1.0|2.1.0| |[`qr`]|-|3.0.1|3.0.1| |[`rational`]|-|2.2.2|2.2.2| |[`rxdart`]|-|0.27.7|0.27.7| |[`sanitize_html`]|-|2.1.0|2.1.0| |[`scrollable_positioned_list`]|-|0.3.8|0.3.8| |[`sky_engine`]|-|0.0.99|0.0.99| |[`source_span`]|-|1.10.0|1.10.0| |[`sprintf`]|-|7.0.0|7.0.0| |[`squadron`]|-|4.3.8|5.1.6| |[`stack_trace`]|-|1.11.1|1.11.1| |[`stream_transform`]|-|2.1.0|2.1.0| |[`string_scanner`]|-|1.2.0|1.2.0| |[`synchronized`]|-|3.1.0+1|3.1.0+1| |[`term_glyph`]|-|1.2.1|1.2.1| |[`test_api`]|-|0.6.1|0.7.0| |[`tuple`]|-|2.0.2|2.0.2| |[`typed_data`]|-|1.3.2|1.3.2| |[`unicode`]|-|0.3.1|0.3.1| |[`universal_io`]|-|2.2.2|2.2.2| |[`url_launcher_android`]|-|6.3.0|6.3.0| |[`url_launcher_ios`]|-|6.2.5|6.2.5| |[`url_launcher_linux`]|-|3.1.1|3.1.1| |[`url_launcher_macos`]|-|3.1.0|3.1.0| |[`url_launcher_platform_interface`]|-|2.3.2|2.3.2| |[`url_launcher_web`]|-|2.3.0|2.3.0| |[`url_launcher_windows`]|-|3.1.1|3.1.1| |[`vector_graphics`]|-|1.1.11+1|1.1.11+1| |[`vector_graphics_codec`]|-|1.1.11+1|1.1.11+1| |[`vector_graphics_compiler`]|-|1.1.11+1|1.1.11+1| |[`vector_math`]|-|2.1.4|2.1.4| |[`video_player_android`]|-|2.4.12|2.4.12| |[`video_player_avfoundation`]|-|2.5.6|2.5.6| |[`video_player_platform_interface`]|-|6.2.2|6.2.2| |[`video_player_web`]|-|2.3.0|2.3.0| |[`vm_service`]|-|13.0.0|14.1.0| |[`web`]|-|0.5.1|0.5.1| |[`webview_flutter_android`]|-|3.16.0|3.16.0| |[`webview_flutter_platform_interface`]|-|2.10.0|2.10.0| |[`webview_flutter_wkwebview`]|-|3.13.0|3.13.0| |[`win32`]|-|5.3.0|5.3.0| |[`wkt_parser`]|-|2.0.0|2.0.0| |[`xdg_directories`]|-|1.0.4|1.0.4|

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

The constraint `^5.2.1` on audioplayers does not support the stable version `6.0.0`, that was published 0 days ago. When audioplayers is 30 days old, this package will no longer be awarded points in this category. Try running `dart pub upgrade --major-versions audioplayers` to update the constraint.
The constraint `^0.18.0` on intl does not support the stable version `0.19.0`. Try running `dart pub upgrade --major-versions intl` to update the constraint.

[*] 10/10 points: Package supports latest stable Dart and Flutter SDKs

Points: 100/140.

isoos commented 7 months ago

@JeffOlajos: It seems like analysis is timing out for some reason. If you have some time to debug this, you may run the exact image pub.dev is running using this tool (otherwise we should also find some time to debug such timouts, but it may not be an immediate priority): https://github.com/dart-lang/pub-dev/blob/master/pkg/pub_worker/tool/trypkg.dart