devtools icon indicating copy to clipboard operation
devtools copied to clipboard

Consider moving VM Service Manager logic into `devtools_shared.dart`

Open kenzieschmoll opened this issue 9 months ago • 0 comments

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

kenzieschmoll avatar Apr 09 '25 19:04 kenzieschmoll