Consider moving VM Service Manager logic into `devtools_shared.dart`
- 主要语言
- Dart
- 星标
- 1.7k
- 派生
- 404
- 平均合并
- 6 天 17 小时
- 30 天内合并 PR
- 18
描述
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
贡献指南
调研方向
从 packages/devtools_app_shared/lib/service.dart 开始,这是 issue 中提到的库,并盘点其中的 Flutter imports 以及使用 ValueNotifier 或 ValueListenable 的 public APIs。确定如何在不依赖 Flutter 的情况下移除这些依赖,然后验证当 service manager APIs 不再需要 Flutter classes 时第一步已完成;将它们移动到 devtools_shared 是后续步骤。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- dart
- 领域
- tooling
- Issue 类型
- 重构
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 30/100