Consider moving VM Service Manager logic into `devtools_shared.dart`
- Ngôn ngữ chính
- Dart
- Star
- 1.7k
- Fork
- 404
- Merge trung bình
- 6 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 18
Mô tả
Moving this logic to `devtools_shared` would allow using the `ServiceManager` and related classes (like `IsolateManager`, `ServiceExtensionManager`) etc. in non-Flutter packages. One place where we'd like to use this logic is in https://github.com/dart-lang/ai/tree/main/pkgs/dart_tooling_mcp_server.
The https://github.com/flutter/devtools/blob/master/packages/devtools_app_shared/lib/service.dart library currently exports code that contains Flutter imports, mainly for use of the `ValueNotifier` and `ValueListenable` classes. So we'd have to modify this code to remove the Flutter dependency in order to move this code to the `devtools_shared` package. This is the **first step** required for this change, and it would be a **breaking change** since several of the public APIs use these classes.
Provide that we can remove all the Flutter dependencies, the next step would be to move the code to the `devtools_shared` package, which would also be a breaking change for the `devtools_app_shared` package.
CC @jakemac53
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với packages/devtools_app_shared/lib/service.dart, thư viện được nêu trong issue, và lập danh mục các import Flutter cùng các API công khai sử dụng ValueNotifier hoặc ValueListenable. Xác định cách có thể loại bỏ các dependency đó mà không cần Flutter, sau đó xác minh rằng bước đầu tiên đã hoàn tất khi các API của service manager không còn yêu cầu các lớp Flutter; chuyển chúng sang devtools_shared là bước tiếp theo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- dart
- Lĩnh vực
- tooling
- Loại issue
- Tái cấu trúc
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 30/100