flutter / flutter/devtools

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

Aperta
#9,122 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
cross-screen P3
Lingua principale
Dart
Stelle
1.7k
Fork
404
Merge medio
6g 17h
PR unite (30g)
18

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start with packages/devtools_app_shared/lib/service.dart, the library named in the issue, and inventory its Flutter imports and public APIs using ValueNotifier or ValueListenable. Determine how those dependencies could be removed without Flutter, then verify that the first step is complete when the service manager APIs no longer require Flutter classes; moving them to devtools_shared is a later step.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
dart
Ambito
tooling
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.