-
Notifications
You must be signed in to change notification settings - Fork 21
Description
Say I have the following project:
environment:
sdk: ^3.0.0
dependencies:
pubspec_parse: ^1.5.0
This compiles, Pub doesn't complain, and this tool validates it with no issues. However, pubspec_parse
version 1.5 requires Dart 3.6! Everything works because, coincidentally, I happen to have Dart 3.6 on my PC. But someone else might not, especially a CI workflow (this just happened in #138 but it happens to me all the time). I have a use case where I need to be entirely offline, so I'd like to know if I need to upgrade my Dart SDK as far in advance as possible.
To handle this, the tool should notice that pubspec_parse
requires Dart 3.6 and flag that my environment.sdk
is less than that. To handle the transitive case as well, the tool can look through .dart_tool/package_config.json
and use the highest languageVersion
it finds.
I filed dart-lang/pub#4488 to see if the Dart team wants to integrate this into Pub directly as well