-
Notifications
You must be signed in to change notification settings - Fork 229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: package_incompatibilities.yaml
in the Dart SDK
#3962
Comments
It's sounds more like to verify the runtime error in the pub get phase, that's a good idea. |
That could be useful for restricting packages that implement a protocol that talks with the Dart SDK dart-lang/native#93. If @bkonyi ever needs to do a breaking change to the vm_service again (hopefully never), It would also help there I believe. |
I'm not sure it'd help with |
Ah right, the vscode plugin contains an already compiled version of the vm_service protocol. |
From discussion with @jonasfj Use cases:
|
The general idea is that in the root of the Dart SDK we should introduce a
package_incompatibilities.yaml
file.It should sit next to the existing
version
andrevision
files, and it should be explained in the README.md file.The
package_incompatibilities.yaml
file should have the following form:In essences the file would allow SDK developers to declare specific package versions to be incompatible with future versions of the Dart SDK.
Behavior:
package_incompatibilities.yaml
is inpubspec.lock
then using it is fine.dart pub get
should never allow a package version matched inpackage_incompatibilities.yaml
.package_incompatibilities.yaml
can be surfaced.Use cases:
^3.1.0-dev
instead of>=3.1.0-dev <3.1.0
(and we regret it because the experimental feature was changed).Whether we'd frequently want to use this functionality I don't know, I recall a few cases where it would have been a nice tool. I don't envision us wanting to use this frequently or at scale.
Mostly, I'm writing this proposal, so that we can consider implementing it should become relevant in the future.
The text was updated successfully, but these errors were encountered: