Reformat all code with recent Flutter/Dart SDK (#9871)
diff --git a/packages/devtools_app_shared/example/service_example.dart b/packages/devtools_app_shared/example/service_example.dart
index 95c7e8c..aec00ae 100644
--- a/packages/devtools_app_shared/example/service_example.dart
+++ b/packages/devtools_app_shared/example/service_example.dart
@@ -40,10 +40,8 @@
   );
 
   /// Example: Get a service extension state.
-  final performanceOverlayEnabled =
-      serviceManager.serviceExtensionManager.getServiceExtensionState(
-    extensions.performanceOverlay.extension,
-  );
+  final performanceOverlayEnabled = serviceManager.serviceExtensionManager
+      .getServiceExtensionState(extensions.performanceOverlay.extension);
 
   // Example: Set a service extension state.
   await serviceManager.serviceExtensionManager.setServiceExtensionState(
diff --git a/packages/devtools_app_shared/example/ui/split_example.dart b/packages/devtools_app_shared/example/ui/split_example.dart
index ef3f832..71ff8cd 100644
--- a/packages/devtools_app_shared/example/ui/split_example.dart
+++ b/packages/devtools_app_shared/example/ui/split_example.dart
@@ -20,10 +20,7 @@
       axis: Axis.horizontal,
       initialFractions: const [0.3, 0.7],
       minSizes: const [50.0, 100.0],
-      children: const [
-        Text('Left side'),
-        Text('Right side'),
-      ],
+      children: const [Text('Left side'), Text('Right side')],
     );
   }
 }
@@ -42,15 +39,8 @@
       axis: Axis.vertical,
       initialFractions: const [0.3, 0.3, 0.4],
       minSizes: const [50.0, 50.0, 100.0],
-      splitters: const [
-        CustomSplitter(),
-        CustomSplitter(),
-      ],
-      children: const [
-        Text('Top'),
-        Text('Middle'),
-        Text('Bottom'),
-      ],
+      splitters: const [CustomSplitter(), CustomSplitter()],
+      children: const [Text('Top'), Text('Middle'), Text('Bottom')],
     );
   }
 }
@@ -62,10 +52,7 @@
 
   @override
   Widget build(BuildContext context) {
-    return const SizedBox(
-      height: _size,
-      child: Icon(Icons.front_hand),
-    );
+    return const SizedBox(height: _size, child: Icon(Icons.front_hand));
   }
 
   @override
diff --git a/packages/devtools_app_shared/lib/src/service/connected_app.dart b/packages/devtools_app_shared/lib/src/service/connected_app.dart
index 39f1fc2..5c926ef 100644
--- a/packages/devtools_app_shared/lib/src/service/connected_app.dart
+++ b/packages/devtools_app_shared/lib/src/service/connected_app.dart
@@ -52,8 +52,8 @@
   String? _operatingSystem;
 
   // TODO(kenz): investigate if we can use `libraryUriAvailableNow` instead.
-  Future<bool> get isFlutterApp async => _isFlutterApp ??=
-      await serviceManager!.libraryUriAvailable(flutterLibraryUri);
+  Future<bool> get isFlutterApp async => _isFlutterApp ??= await serviceManager!
+      .libraryUriAvailable(flutterLibraryUri);
 
   bool? get isFlutterAppNow {
     assert(_isFlutterApp != null);
@@ -85,8 +85,8 @@
   bool? _isProfileBuild;
 
   // TODO(kenz): investigate if we can use `libraryUriAvailableNow` instead.
-  Future<bool> get isDartWebApp async => _isDartWebApp ??=
-      await serviceManager!.libraryUriAvailable(dartHtmlLibraryUri);
+  Future<bool> get isDartWebApp async => _isDartWebApp ??= await serviceManager!
+      .libraryUriAvailable(dartHtmlLibraryUri);
 
   bool? get isDartWebAppNow {
     assert(_isDartWebApp != null);
@@ -189,14 +189,14 @@
   }
 
   Map<String, Object?> toJson() => {
-        isFlutterAppKey: isFlutterAppNow,
-        isProfileBuildKey: isProfileBuildNow,
-        isDartWebAppKey: isDartWebAppNow,
-        isRunningOnDartVMKey: isRunningOnDartVM,
-        operatingSystemKey: operatingSystem,
-        if (flutterVersionNow != null && !flutterVersionNow!.unknown)
-          flutterVersionKey: flutterVersionNow!.version,
-      };
+    isFlutterAppKey: isFlutterAppNow,
+    isProfileBuildKey: isProfileBuildNow,
+    isDartWebAppKey: isDartWebAppNow,
+    isRunningOnDartVMKey: isRunningOnDartVM,
+    operatingSystemKey: operatingSystem,
+    if (flutterVersionNow != null && !flutterVersionNow!.unknown)
+      flutterVersionKey: flutterVersionNow!.version,
+  };
 }
 
 final class OfflineConnectedApp extends ConnectedApp {
@@ -215,7 +215,8 @@
       isProfileBuildNow: json[ConnectedApp.isProfileBuildKey] as bool?,
       isDartWebAppNow: json[ConnectedApp.isDartWebAppKey] as bool?,
       isRunningOnDartVM: json[ConnectedApp.isRunningOnDartVMKey] as bool?,
-      operatingSystem: (json[ConnectedApp.operatingSystemKey] as String?) ??
+      operatingSystem:
+          (json[ConnectedApp.operatingSystemKey] as String?) ??
           ConnectedApp.unknownOS,
     );
   }
diff --git a/packages/devtools_app_shared/lib/src/service/dtd_manager.dart b/packages/devtools_app_shared/lib/src/service/dtd_manager.dart
index 83f9970..9f78fdd 100644
--- a/packages/devtools_app_shared/lib/src/service/dtd_manager.dart
+++ b/packages/devtools_app_shared/lib/src/service/dtd_manager.dart
@@ -25,8 +25,9 @@
 
   /// The current state of the connection.
   ValueListenable<DTDConnectionState> get connectionState => _connectionState;
-  final _connectionState =
-      ValueNotifier<DTDConnectionState>(NotConnectedDTDState());
+  final _connectionState = ValueNotifier<DTDConnectionState>(
+    NotConnectedDTDState(),
+  );
 
   /// The URI of the current DTD connection.
   Uri? get uri => _uri;
@@ -77,13 +78,15 @@
     //
     // If this happens, just disconnect (without disabling reconnect) so the
     // done event fires and then the usual handling occurs.
-    _periodicConnectionCheck =
-        Timer.periodic(_periodicConnectionCheckInterval, (timer) async {
-      if (_dtd.isClosed) {
-        _log.warning('The DTD connection has dropped');
-        await disconnectImpl(allowReconnect: true);
-      }
-    });
+    _periodicConnectionCheck = Timer.periodic(
+      _periodicConnectionCheckInterval,
+      (timer) async {
+        if (_dtd.isClosed) {
+          _log.warning('The DTD connection has dropped');
+          await disconnectImpl(allowReconnect: true);
+        }
+      },
+    );
 
     return dtd;
   }
@@ -182,12 +185,16 @@
       // If a connection drops (and we hadn't disabled auto-reconnect, such
       // as by explicitly calling disconnect/dispose), we should attempt to
       // reconnect.
-      unawaited(connection.done
-          .then((_) => _reconnectAfterDroppedConnection(uri, onError: onError))
-          .catchError((_) {
-        // TODO(dantup): Create a devtools_app_shared version of safeUnawaited.
-        // https://github.com/flutter/devtools/pull/9587#discussion_r2624306047
-      }));
+      unawaited(
+        connection.done
+            .then(
+              (_) => _reconnectAfterDroppedConnection(uri, onError: onError),
+            )
+            .catchError((_) {
+              // TODO(dantup): Create a devtools_app_shared version of safeUnawaited.
+              // https://github.com/flutter/devtools/pull/9587#discussion_r2624306047
+            }),
+      );
     } catch (e, st) {
       onError?.call(e, st);
     }
@@ -229,8 +236,8 @@
   }) {
     // On explicit connections, we capture the connect function so that we
     // can call it again if [reconnect()] is called.
-    final connectFunc = _lastConnectFunc =
-        () => _connectImpl(uri, onError: onError, maxRetries: maxRetries);
+    final connectFunc = _lastConnectFunc = () =>
+        _connectImpl(uri, onError: onError, maxRetries: maxRetries);
     return connectFunc();
   }
 
@@ -284,15 +291,18 @@
 
   /// Listens for service registration events on the [dtd] connection.
   Future<void> _listenForServiceRegistrationEvents(
-      DartToolingDaemon dtd) async {
+    DartToolingDaemon dtd,
+  ) async {
     // We immediately begin listening for service registration events on the new
     // DTD connection before canceling the previous subscription. This
     // guarantees that we don't miss any events across reconnects.
     // ignore: cancel_subscriptions, false positive, it is canceled below.
     final nextServiceRegistrationSubscription = dtd
         .onEvent(CoreDtdServiceConstants.servicesStreamId)
-        .listen(_forwardServiceRegistrationEvents,
-            onError: _logServiceStreamError);
+        .listen(
+          _forwardServiceRegistrationEvents,
+          onError: _logServiceStreamError,
+        );
     await dtd.streamListen(CoreDtdServiceConstants.servicesStreamId);
 
     // Cancel the previous subscription.
@@ -307,7 +317,7 @@
     final kind = event.kind;
     final isRegistrationEvent =
         kind == CoreDtdServiceConstants.serviceRegisteredKind ||
-            kind == CoreDtdServiceConstants.serviceUnregisteredKind;
+        kind == CoreDtdServiceConstants.serviceUnregisteredKind;
 
     if (isRegistrationEvent) {
       _serviceRegistrationController.add(event);
diff --git a/packages/devtools_app_shared/lib/src/service/eval_on_dart_library.dart b/packages/devtools_app_shared/lib/src/service/eval_on_dart_library.dart
index 0fbe004..3de4f86 100644
--- a/packages/devtools_app_shared/lib/src/service/eval_on_dart_library.dart
+++ b/packages/devtools_app_shared/lib/src/service/eval_on_dart_library.dart
@@ -105,8 +105,9 @@
     }
 
     try {
-      final isolate =
-          await serviceManager.isolateManager.isolateState(isolateRef).isolate;
+      final isolate = await serviceManager.isolateManager
+          .isolateState(isolateRef)
+          .isolate;
       if (_currentRequestId != requestId) {
         // The initialize request is obsolete.
         return;
@@ -150,11 +151,7 @@
     }
     return await addRequest<InstanceRef?>(
       isAlive,
-      () => _eval(
-        expression,
-        scope: scope,
-        shouldLogError: shouldLogError,
-      ),
+      () => _eval(expression, scope: scope, shouldLogError: shouldLogError),
     );
   }
 
@@ -626,12 +623,14 @@
     int? count,
   }) {
     return addRequest<T>(isAlive, () async {
-      final T value = await service.getObject(
-        _isolateRef!.id!,
-        instance.id!,
-        offset: offset,
-        count: count,
-      ) as T;
+      final T value =
+          await service.getObject(
+                _isolateRef!.id!,
+                instance.id!,
+                offset: offset,
+                count: count,
+              )
+              as T;
       return value;
     });
   }
diff --git a/packages/devtools_app_shared/lib/src/service/flutter_version.dart b/packages/devtools_app_shared/lib/src/service/flutter_version.dart
index 5e41454..af02f82 100644
--- a/packages/devtools_app_shared/lib/src/service/flutter_version.dart
+++ b/packages/devtools_app_shared/lib/src/service/flutter_version.dart
@@ -94,14 +94,14 @@
 
   @override
   int get hashCode => Object.hash(
-        version,
-        channel,
-        repositoryUrl,
-        frameworkRevision,
-        frameworkCommitDate,
-        engineRevision,
-        dartSdkVersion,
-      );
+    version,
+    channel,
+    repositoryUrl,
+    frameworkRevision,
+    frameworkCommitDate,
+    engineRevision,
+    dartSdkVersion,
+  );
 
   static final _stableVersionRegex = RegExp(r'^\d+\.\d+\.\d+$');
   static final _isNumericRegex = RegExp(r'\d');
diff --git a/packages/devtools_app_shared/lib/src/service/isolate_state.dart b/packages/devtools_app_shared/lib/src/service/isolate_state.dart
index 3376476..d08e05e 100644
--- a/packages/devtools_app_shared/lib/src/service/isolate_state.dart
+++ b/packages/devtools_app_shared/lib/src/service/isolate_state.dart
@@ -34,7 +34,8 @@
   void handleIsolateLoad(Isolate isolate) {
     _isolateNow = isolate;
 
-    _isPaused.value = isolate.pauseEvent != null &&
+    _isPaused.value =
+        isolate.pauseEvent != null &&
         isolate.pauseEvent!.kind != EventKind.kResume;
 
     rootInfo = RootInfo(_isolateNow!.rootLib?.uri);
diff --git a/packages/devtools_app_shared/lib/src/service/resolved_uri_manager.dart b/packages/devtools_app_shared/lib/src/service/resolved_uri_manager.dart
index aaed614..1de7b81 100644
--- a/packages/devtools_app_shared/lib/src/service/resolved_uri_manager.dart
+++ b/packages/devtools_app_shared/lib/src/service/resolved_uri_manager.dart
@@ -31,8 +31,10 @@
   Future<void> fetchPackageUris(String isolateId, List<String> uris) async {
     if (uris.isEmpty) return;
     if (_packagePathMappings != null) {
-      final packageUris =
-          (await _service!.lookupPackageUris(isolateId, uris)).uris;
+      final packageUris = (await _service!.lookupPackageUris(
+        isolateId,
+        uris,
+      )).uris;
 
       if (packageUris != null) {
         _packagePathMappings!.addMappings(
@@ -54,9 +56,10 @@
   /// * [packageUris] - List of URIs to fetch full file paths for.
   Future<void> fetchFileUris(String isolateId, List<String> packageUris) async {
     if (_packagePathMappings != null) {
-      final fileUris =
-          (await _service!.lookupResolvedPackageUris(isolateId, packageUris))
-              .uris;
+      final fileUris = (await _service!.lookupResolvedPackageUris(
+        isolateId,
+        packageUris,
+      )).uris;
 
       // [_packagePathMappings] could have been set to null during the async gap
       // so check that it is non-null again here.
@@ -95,15 +98,11 @@
   String? lookupPackageToFullPathMapping(
     String isolateId,
     String packagePath,
-  ) =>
-      _isolatePackageToFullPathMappings[isolateId]?[packagePath];
+  ) => _isolatePackageToFullPathMappings[isolateId]?[packagePath];
 
   /// Returns the full path to package path mapping if it has already
   /// been fetched.
-  String? lookupFullPathToPackageMapping(
-    String isolateId,
-    String fullPath,
-  ) =>
+  String? lookupFullPathToPackageMapping(String isolateId, String fullPath) =>
       _isolateFullPathToPackageMappings[isolateId]?[fullPath];
 
   /// Saves the mappings of [fullPaths] to [packagePaths].
@@ -118,16 +117,10 @@
     required List<String?> packagePaths,
   }) {
     assert(fullPaths.length == packagePaths.length);
-    final fullPathToPackageMappings =
-        _isolateFullPathToPackageMappings.putIfAbsent(
-      isolateId,
-      () => <String, String?>{},
-    );
-    final packageToFullPathMappings =
-        _isolatePackageToFullPathMappings.putIfAbsent(
-      isolateId,
-      () => <String, String?>{},
-    );
+    final fullPathToPackageMappings = _isolateFullPathToPackageMappings
+        .putIfAbsent(isolateId, () => <String, String?>{});
+    final packageToFullPathMappings = _isolatePackageToFullPathMappings
+        .putIfAbsent(isolateId, () => <String, String?>{});
 
     assert(fullPaths.length == packagePaths.length);
 
diff --git a/packages/devtools_app_shared/lib/src/service/service_extension_manager.dart b/packages/devtools_app_shared/lib/src/service/service_extension_manager.dart
index 7e1eda1..a76f8b0 100644
--- a/packages/devtools_app_shared/lib/src/service/service_extension_manager.dart
+++ b/packages/devtools_app_shared/lib/src/service/service_extension_manager.dart
@@ -148,7 +148,7 @@
     _pendingServiceExtensions.clear();
     await [
       for (final extension in extensionsToProcess)
-        _addServiceExtension(extension)
+        _addServiceExtension(extension),
     ].wait;
   }
 
@@ -184,11 +184,12 @@
         }
         await [
           for (final extension in extensionRpcs)
-            _maybeAddServiceExtension(extension)
+            _maybeAddServiceExtension(extension),
         ].wait;
       } else {
         await [
-          for (final extension in extensionRpcs) _addServiceExtension(extension)
+          for (final extension in extensionRpcs)
+            _addServiceExtension(extension),
         ].wait;
       }
     }
@@ -489,10 +490,8 @@
 
     _performActionAndClearMap(
       _serviceExtensionStates,
-      action: (state) => state.value = ServiceExtensionState(
-        enabled: false,
-        value: null,
-      ),
+      action: (state) =>
+          state.value = ServiceExtensionState(enabled: false, value: null),
     );
   }
 
@@ -572,21 +571,15 @@
   }
 
   ValueNotifier<ServiceExtensionState> _serviceExtensionState(String name) {
-    return _serviceExtensionStates.putIfAbsent(
-      name,
-      () {
-        final state = _enabledServiceExtensions[name];
-        return ValueNotifier(
-          state ?? ServiceExtensionState(enabled: false, value: null),
-        );
-      },
-    );
+    return _serviceExtensionStates.putIfAbsent(name, () {
+      final state = _enabledServiceExtensions[name];
+      return ValueNotifier(
+        state ?? ServiceExtensionState(enabled: false, value: null),
+      );
+    });
   }
 
-  void vmServiceOpened(
-    VmService service,
-    ConnectedApp connectedApp,
-  ) async {
+  void vmServiceOpened(VmService service, ConnectedApp connectedApp) async {
     _checkForFirstFrameStarted = false;
     cancelStreamSubscriptions();
     cancelListeners();
@@ -610,8 +603,9 @@
     final mainIsolateRef = _isolateManager.mainIsolate.value;
     if (mainIsolateRef != null) {
       _checkForFirstFrameStarted = false;
-      final mainIsolate =
-          await _isolateManager.isolateState(mainIsolateRef).isolate;
+      final mainIsolate = await _isolateManager
+          .isolateState(mainIsolateRef)
+          .isolate;
       if (mainIsolate != null) {
         await _registerMainIsolate(mainIsolate, mainIsolateRef);
       }
@@ -638,10 +632,7 @@
   }
 
   @override
-  int get hashCode => Object.hash(
-        enabled,
-        value,
-      );
+  int get hashCode => Object.hash(enabled, value);
 
   @override
   String toString() {
diff --git a/packages/devtools_app_shared/lib/src/service/service_manager.dart b/packages/devtools_app_shared/lib/src/service/service_manager.dart
index 8745c2c..da70413 100644
--- a/packages/devtools_app_shared/lib/src/service/service_manager.dart
+++ b/packages/devtools_app_shared/lib/src/service/service_manager.dart
@@ -49,9 +49,7 @@
   afterCloseVmService,
 }
 
-enum ServiceManagerOverride {
-  initIsolates,
-}
+enum ServiceManagerOverride { initIsolates }
 
 // TODO(kenz): add an offline service manager implementation.
 // TODO(https://github.com/flutter/devtools/issues/6239): try to remove this.
@@ -149,8 +147,9 @@
 
   ValueListenable<ConnectedState> get connectedState => _connectedState;
 
-  final _connectedState =
-      ValueNotifier<ConnectedState>(const ConnectedState(false));
+  final _connectedState = ValueNotifier<ConnectedState>(
+    const ConnectedState(false),
+  );
 
   final _deviceBusy = ValueNotifier<bool>(false);
 
@@ -210,10 +209,7 @@
     ServiceManagerCallback<T> callback,
   ) {
     _lifecycleCallbacks
-        .putIfAbsent(
-          lifecycle,
-          () => <ServiceManagerCallback<T>>[],
-        )
+        .putIfAbsent(lifecycle, () => <ServiceManagerCallback<T>>[])
         .add(callback);
   }
 
@@ -319,9 +315,7 @@
 
     try {
       await vmService.setFlag('pause_isolates_on_start', 'true');
-      await vmService.requirePermissionToResume(
-        onPauseStart: true,
-      );
+      await vmService.requirePermissionToResume(onPauseStart: true);
     } catch (error) {
       _log.warning('$error');
     }
@@ -433,8 +427,10 @@
   Future<void> manuallyDisconnect() async {
     if (connectedState.value.connected) {
       await vmServiceClosed(
-        connectionState:
-            const ConnectedState(false, userInitiatedConnectionState: true),
+        connectionState: const ConnectedState(
+          false,
+          userInitiatedConnectionState: true,
+        ),
       );
     }
   }
@@ -475,9 +471,7 @@
   }
 
   Future<Response> get flutterVersion async {
-    return await callServiceOnMainIsolate(
-      flutterVersionService.service,
-    );
+    return await callServiceOnMainIsolate(flutterVersionService.service);
   }
 
   /// This can throw an [RPCError].
@@ -513,8 +507,9 @@
   /// running the test runner, and not the test library itself, so we have to do
   /// some extra work to find the package root of the test target.
   Future<Uri?> connectedAppPackageRoot(DTDManager dtdManager) async {
-    var packageRootUriString =
-        await rootPackageDirectoryForMainIsolate(dtdManager);
+    var packageRootUriString = await rootPackageDirectoryForMainIsolate(
+      dtdManager,
+    );
     _log.fine(
       '[connectedAppPackageRoot] root package directory for main isolate: '
       '$packageRootUriString',
@@ -525,14 +520,12 @@
     if (packageRootUriString?.endsWith('.dart') ?? false) {
       final rootLibrary = await _mainIsolateRootLibrary();
       if (rootLibrary != null) {
-        packageRootUriString = (await _lookupPackageRootByEval(rootLibrary)) ??
+        packageRootUriString =
+            (await _lookupPackageRootByEval(rootLibrary)) ??
             // TODO(kenz): remove this fallback once all test bootstrap
             // generators include the `packageConfigLocation` constant we
             // can evaluate.
-            await _lookupPackageRootByImportPrefix(
-              rootLibrary,
-              dtdManager,
-            );
+            await _lookupPackageRootByImportPrefix(rootLibrary, dtdManager);
       }
     }
     _log.fine(
@@ -559,14 +552,15 @@
       final packageConfig = (await eval.evalInstance(
         'packageConfigLocation',
         isAlive: evalDisposable,
-      ))
-          .valueAsString;
+      )).valueAsString;
 
       // TODO(https://github.com/flutter/devtools/issues/7944): return the
       // unmodified package config location. For this case, be sure to handle
       // invalid values like the empty String or 'null'.
-      final packageConfigIdentifier =
-          path.join('.dart_tool', 'package_config.json');
+      final packageConfigIdentifier = path.join(
+        '.dart_tool',
+        'package_config.json',
+      );
       if (packageConfig?.endsWith(packageConfigIdentifier) ?? false) {
         _log.fine(
           '[connectedAppPackageRoot] detected test package config from root '
diff --git a/packages/devtools_app_shared/lib/src/ui/buttons.dart b/packages/devtools_app_shared/lib/src/ui/buttons.dart
index 9fe9534..c726cac 100644
--- a/packages/devtools_app_shared/lib/src/ui/buttons.dart
+++ b/packages/devtools_app_shared/lib/src/ui/buttons.dart
@@ -25,9 +25,9 @@
     this.outlined = true,
     this.tooltipPadding,
   }) : assert(
-          label != null || icon != null,
-          'Either icon or label must be specified.',
-        );
+         label != null || icon != null,
+         'Either icon or label must be specified.',
+       );
 
   factory DevToolsButton.iconOnly({
     required IconData icon,
@@ -92,8 +92,9 @@
     final colorScheme = Theme.of(context).colorScheme;
     var textColor = color;
     if (textColor == null && elevated) {
-      textColor =
-          onPressed == null ? colorScheme.onSurface : colorScheme.onPrimary;
+      textColor = onPressed == null
+          ? colorScheme.onSurface
+          : colorScheme.onPrimary;
     }
     final iconLabel = MaterialIconLabel(
       label: label!,
@@ -116,10 +117,7 @@
         child: maybeWrapWithTooltip(
           tooltip: tooltip,
           tooltipPadding: tooltipPadding,
-          child: ElevatedButton(
-            onPressed: onPressed,
-            child: iconLabel,
-          ),
+          child: ElevatedButton(onPressed: onPressed, child: iconLabel),
         ),
       );
     }
@@ -239,8 +237,9 @@
   Widget build(BuildContext context) {
     final theme = Theme.of(context);
     return DevToolsToggleButtonGroup(
-      borderColor:
-          outlined || isSelected ? theme.focusColor : Colors.transparent,
+      borderColor: outlined || isSelected
+          ? theme.focusColor
+          : Colors.transparent,
       selectedStates: [isSelected],
       onPressed: (_) => onPressed(),
       fillColor: fillColor,
@@ -291,9 +290,7 @@
         button = Container(
           decoration: BoxDecoration(
             border: Border(
-              left: BorderSide(
-                color: Theme.of(context).focusColor,
-              ),
+              left: BorderSide(color: Theme.of(context).focusColor),
             ),
           ),
           child: button,
@@ -306,9 +303,7 @@
       height: defaultButtonHeight,
       child: RoundedOutlinedBorder(
         child: Row(
-          children: [
-            for (int i = 0; i < items.length; i++) buildButton(i),
-          ],
+          children: [for (int i = 0; i < items.length; i++) buildButton(i)],
         ),
       ),
     );
@@ -366,15 +361,15 @@
     String? tooltip,
     this.onPressed,
     this.autofocus = false,
-  })  : tooltip = tooltip ?? label,
-        assert(
-          label != null || icon != null || iconAsset != null,
-          'At least one of icon, iconAsset, or label must be specified.',
-        ),
-        assert(
-          icon == null || iconAsset == null,
-          'Only one of icon and iconAsset may be specified.',
-        );
+  }) : tooltip = tooltip ?? label,
+       assert(
+         label != null || icon != null || iconAsset != null,
+         'At least one of icon, iconAsset, or label must be specified.',
+       ),
+       assert(
+         icon == null || iconAsset == null,
+         'Only one of icon and iconAsset may be specified.',
+       );
 
   final String? label;
   final IconData? icon;
diff --git a/packages/devtools_app_shared/lib/src/ui/common.dart b/packages/devtools_app_shared/lib/src/ui/common.dart
index 90b196e..f27a29c 100644
--- a/packages/devtools_app_shared/lib/src/ui/common.dart
+++ b/packages/devtools_app_shared/lib/src/ui/common.dart
@@ -34,9 +34,7 @@
         crossAxisAlignment: CrossAxisAlignment.stretch,
         children: [
           header,
-          Expanded(
-            child: child,
-          ),
+          Expanded(child: child),
         ],
       ),
     );
@@ -94,7 +92,8 @@
   Widget build(BuildContext context) {
     final theme = Theme.of(context);
     final borderSide = defaultBorderSide(theme);
-    final decoration = !roundedTopBorder &&
+    final decoration =
+        !roundedTopBorder &&
             (includeTopBorder ||
                 includeBottomBorder ||
                 includeLeftBorder ||
@@ -130,10 +129,7 @@
     if (roundedTopBorder) {
       container = RoundedOutlinedBorder.onlyTop(child: container);
     }
-    return SizedBox.fromSize(
-      size: preferredSize,
-      child: container,
-    );
+    return SizedBox.fromSize(size: preferredSize, child: container);
   }
 
   @override
@@ -183,24 +179,22 @@
   factory RoundedOutlinedBorder.onlyTop({
     required Widget? child,
     bool clip = false,
-  }) =>
-      RoundedOutlinedBorder(
-        showBottomLeft: false,
-        showBottomRight: false,
-        clip: clip,
-        child: child,
-      );
+  }) => RoundedOutlinedBorder(
+    showBottomLeft: false,
+    showBottomRight: false,
+    clip: clip,
+    child: child,
+  );
 
   factory RoundedOutlinedBorder.onlyBottom({
     required Widget? child,
     bool clip = false,
-  }) =>
-      RoundedOutlinedBorder(
-        showTopLeft: false,
-        showTopRight: false,
-        clip: clip,
-        child: child,
-      );
+  }) => RoundedOutlinedBorder(
+    showTopLeft: false,
+    showTopRight: false,
+    clip: clip,
+    child: child,
+  );
 
   final bool showTopLeft;
   final bool showTopRight;
@@ -326,22 +320,19 @@
   });
 
   const PaddedDivider.thin({super.key})
-      : padding = const EdgeInsets.only(bottom: 4.0);
+    : padding = const EdgeInsets.only(bottom: 4.0);
 
   const PaddedDivider.noPadding({super.key}) : padding = EdgeInsets.zero;
 
   PaddedDivider.vertical({super.key, double padding = densePadding})
-      : padding = EdgeInsets.symmetric(vertical: padding);
+    : padding = EdgeInsets.symmetric(vertical: padding);
 
   /// The padding to place around the divider.
   final EdgeInsets padding;
 
   @override
   Widget build(BuildContext context) {
-    return Padding(
-      padding: padding,
-      child: const Divider(thickness: 1.0),
-    );
+    return Padding(padding: padding, child: const Divider(thickness: 1.0));
   }
 }
 
@@ -416,10 +407,7 @@
         icon,
         // TODO(jacobr): animate showing and hiding the text.
         if (isScreenWiderThan(context, unscaledMinIncludeTextWidth))
-          Padding(
-            padding: const EdgeInsets.only(left: 8.0),
-            child: Text(text),
-          ),
+          Padding(padding: const EdgeInsets.only(left: 8.0), child: Text(text)),
       ],
     );
   }
@@ -434,14 +422,14 @@
     this.iconSize,
     this.color,
     this.minScreenWidthForText,
-  })  : assert(
-          label != null || iconData != null || iconAsset != null,
-          'At least one of iconData, iconAsset, or label must be specified.',
-        ),
-        assert(
-          iconData == null || iconAsset == null,
-          'Only one of iconData and iconAsset may be specified.',
-        );
+  }) : assert(
+         label != null || iconData != null || iconAsset != null,
+         'At least one of iconData, iconAsset, or label must be specified.',
+       ),
+       assert(
+         iconData == null || iconAsset == null,
+         'Only one of iconData and iconAsset may be specified.',
+       );
 
   final IconData? iconData;
   final String? iconAsset;
@@ -520,8 +508,9 @@
     return SelectionArea(
       child: Text(
         json != null ? encoder.convert(json) : formattedString!,
-        style:
-            useSubtleStyle ? theme.subtleFixedFontStyle : theme.fixedFontStyle,
+        style: useSubtleStyle
+            ? theme.subtleFixedFontStyle
+            : theme.fixedFontStyle,
       ),
     );
   }
@@ -530,8 +519,8 @@
 /// An extension on [ScrollController] to facilitate having the scrolling widget
 /// auto scroll to the bottom on new content.
 extension ScrollControllerAutoScroll on ScrollController {
-// TODO(devoncarew): We lose dock-to-bottom when we receive content when we're
-// off screen.
+  // TODO(devoncarew): We lose dock-to-bottom when we receive content when we're
+  // off screen.
 
   /// Return whether the view is currently scrolled to the bottom.
   bool get atScrollBottom {
@@ -575,14 +564,14 @@
     VoidCallback? onLaunchUrlError,
     TextStyle? style,
   }) : super(
-          text: link.display,
-          style: style ?? Theme.of(context).linkTextStyle,
-          recognizer: TapGestureRecognizer()
-            ..onTap = () async {
-              onTap?.call();
-              await launchUrl(link.url, onError: onLaunchUrlError);
-            },
-        );
+         text: link.display,
+         style: style ?? Theme.of(context).linkTextStyle,
+         recognizer: TapGestureRecognizer()
+           ..onTap = () async {
+             onTap?.call();
+             await launchUrl(link.url, onError: onLaunchUrlError);
+           },
+       );
 }
 
 /// A data model for a clickable link in a UI.
@@ -647,9 +636,10 @@
         overflow: TextOverflow.clip,
         softWrap: false,
         style: theme.regularTextStyle.copyWith(
-            color: textColor ?? colorScheme.onSecondary,
-            backgroundColor: backgroundColor ?? colorScheme.secondary,
-            fontSize: fontSize ?? defaultFontSize),
+          color: textColor ?? colorScheme.onSecondary,
+          backgroundColor: backgroundColor ?? colorScheme.secondary,
+          fontSize: fontSize ?? defaultFontSize,
+        ),
       ),
     );
     return tooltipText != null
diff --git a/packages/devtools_app_shared/lib/src/ui/dialogs.dart b/packages/devtools_app_shared/lib/src/ui/dialogs.dart
index 07c46ff..8eb9162 100644
--- a/packages/devtools_app_shared/lib/src/ui/dialogs.dart
+++ b/packages/devtools_app_shared/lib/src/ui/dialogs.dart
@@ -189,10 +189,7 @@
 
   @override
   Widget build(BuildContext context) {
-    return Text(
-      helpText,
-      style: textStyle(context),
-    );
+    return Text(helpText, style: textStyle(context));
   }
 }
 
@@ -260,10 +257,7 @@
 
   @override
   Widget build(BuildContext context) {
-    return TextButton(
-      onPressed: onPressed,
-      child: child,
-    );
+    return TextButton(onPressed: onPressed, child: child);
   }
 }
 
@@ -280,12 +274,10 @@
         title: DialogTitleText(title),
         includeDivider: false,
         content: content,
-        actionsAlignment:
-            actions.isNotEmpty ? MainAxisAlignment.spaceBetween : null,
-        actions: [
-          ...actions,
-          const DialogCloseButton(),
-        ],
+        actionsAlignment: actions.isNotEmpty
+            ? MainAxisAlignment.spaceBetween
+            : null,
+        actions: [...actions, const DialogCloseButton()],
       ),
     ),
   );
diff --git a/packages/devtools_app_shared/lib/src/ui/flex_split_column.dart b/packages/devtools_app_shared/lib/src/ui/flex_split_column.dart
index 5b39be9..ee7cc76 100644
--- a/packages/devtools_app_shared/lib/src/ui/flex_split_column.dart
+++ b/packages/devtools_app_shared/lib/src/ui/flex_split_column.dart
@@ -32,17 +32,17 @@
     required List<Widget> children,
     required List<double> initialFractions,
     required List<double> minSizes,
-  })  : assert(children.length >= 2),
-        assert(initialFractions.length >= 2),
-        assert(children.length == initialFractions.length),
-        assert(minSizes.length == children.length),
-        _children = buildChildrenWithFirstHeader(children, headers),
-        _initialFractions = modifyInitialFractionsToIncludeFirstHeader(
-          initialFractions,
-          headers,
-          totalHeight,
-        ),
-        _minSizes = modifyMinSizesToIncludeFirstHeader(minSizes, headers);
+  }) : assert(children.length >= 2),
+       assert(initialFractions.length >= 2),
+       assert(children.length == initialFractions.length),
+       assert(minSizes.length == children.length),
+       _children = buildChildrenWithFirstHeader(children, headers),
+       _initialFractions = modifyInitialFractionsToIncludeFirstHeader(
+         initialFractions,
+         headers,
+         totalHeight,
+       ),
+       _minSizes = modifyMinSizesToIncludeFirstHeader(minSizes, headers);
 
   /// The headers that will be laid out above each corresponding child in
   /// `children`.
diff --git a/packages/devtools_app_shared/lib/src/ui/icons.dart b/packages/devtools_app_shared/lib/src/ui/icons.dart
index 977cb95..4661641 100644
--- a/packages/devtools_app_shared/lib/src/ui/icons.dart
+++ b/packages/devtools_app_shared/lib/src/ui/icons.dart
@@ -9,13 +9,17 @@
 /// A widget that renders either an [icon] from a font glyph or an [iconAsset]
 /// from the app bundle.
 final class DevToolsIcon extends StatelessWidget {
-  const DevToolsIcon(
-      {super.key, this.icon, this.iconAsset, this.color, double? size})
-      : assert(
-          (icon == null) != (iconAsset == null),
-          'Exactly one of icon and iconAsset must be specified.',
-        ),
-        size = size ?? defaultIconSize;
+  const DevToolsIcon({
+    super.key,
+    this.icon,
+    this.iconAsset,
+    this.color,
+    double? size,
+  }) : assert(
+         (icon == null) != (iconAsset == null),
+         'Exactly one of icon and iconAsset must be specified.',
+       ),
+       size = size ?? defaultIconSize;
 
   /// The icon to use for this screen's tab.
   ///
@@ -53,8 +57,8 @@
     this.color,
     double? height,
     double? width,
-  })  : _width = width,
-        _height = height;
+  }) : _width = width,
+       _height = height;
 
   final String asset;
   final Color? color;
diff --git a/packages/devtools_app_shared/lib/src/ui/split_pane.dart b/packages/devtools_app_shared/lib/src/ui/split_pane.dart
index 4bda05e..d68a2e6 100644
--- a/packages/devtools_app_shared/lib/src/ui/split_pane.dart
+++ b/packages/devtools_app_shared/lib/src/ui/split_pane.dart
@@ -29,9 +29,9 @@
     required this.initialFractions,
     this.minSizes,
     this.splitters,
-  })  : assert(children.length >= 2),
-        assert(initialFractions.length >= 2),
-        assert(children.length == initialFractions.length) {
+  }) : assert(children.length >= 2),
+       assert(initialFractions.length >= 2),
+       assert(children.length == initialFractions.length) {
     _verifyFractionsSumTo1(initialFractions);
     if (minSizes != null) {
       assert(minSizes!.length == children.length);
@@ -142,8 +142,10 @@
         minSizeForIndex(index) / availableSize;
 
     void clampFraction(int index) {
-      fractions[index] =
-          fractions[index].clamp(minFractionForIndex(index), 1.0);
+      fractions[index] = fractions[index].clamp(
+        minFractionForIndex(index),
+        1.0,
+      );
     }
 
     double sizeForIndex(int index) => availableSize * fractions[index];
@@ -190,8 +192,9 @@
     final sizes = List.generate(fractions.length, (i) => sizeForIndex(i));
 
     void updateSpacing(DragUpdateDetails dragDetails, int splitterIndex) {
-      final dragDelta =
-          isHorizontal ? dragDetails.delta.dx : dragDetails.delta.dy;
+      final dragDelta = isHorizontal
+          ? dragDetails.delta.dx
+          : dragDetails.delta.dy;
       final fractionalDelta = dragDelta / axisSize;
 
       // Returns the actual delta applied to elements before the splitter.
@@ -241,12 +244,14 @@
         // the shrinking children first so that we do not over-increase the size
         // of the growing children and cause layout overflow errors.
         if (fractionalDelta <= 0.0) {
-          final appliedDelta =
-              updateSpacingBeforeSplitterIndex(fractionalDelta);
+          final appliedDelta = updateSpacingBeforeSplitterIndex(
+            fractionalDelta,
+          );
           updateSpacingAfterSplitterIndex(-appliedDelta);
         } else {
-          final appliedDelta =
-              updateSpacingAfterSplitterIndex(-fractionalDelta);
+          final appliedDelta = updateSpacingAfterSplitterIndex(
+            -fractionalDelta,
+          );
           updateSpacingBeforeSplitterIndex(-appliedDelta);
         }
       });
diff --git a/packages/devtools_app_shared/lib/src/ui/text_field.dart b/packages/devtools_app_shared/lib/src/ui/text_field.dart
index eda5451..918963a 100644
--- a/packages/devtools_app_shared/lib/src/ui/text_field.dart
+++ b/packages/devtools_app_shared/lib/src/ui/text_field.dart
@@ -36,8 +36,9 @@
 
   /// This is the default border radius used by the [OutlineInputBorder]
   /// constructor.
-  static const _defaultInputBorderRadius =
-      BorderRadius.all(Radius.circular(4.0));
+  static const _defaultInputBorderRadius = BorderRadius.all(
+    Radius.circular(4.0),
+  );
 
   @override
   Widget build(BuildContext context) {
@@ -151,30 +152,27 @@
 
   factory InputDecorationSuffixButton.clear({
     required VoidCallback? onPressed,
-  }) =>
-      InputDecorationSuffixButton(
-        icon: Icons.clear,
-        onPressed: onPressed,
-        tooltip: 'Clear',
-      );
+  }) => InputDecorationSuffixButton(
+    icon: Icons.clear,
+    onPressed: onPressed,
+    tooltip: 'Clear',
+  );
 
   factory InputDecorationSuffixButton.close({
     required VoidCallback? onPressed,
-  }) =>
-      InputDecorationSuffixButton(
-        icon: Icons.close,
-        onPressed: onPressed,
-        tooltip: 'Close',
-      );
+  }) => InputDecorationSuffixButton(
+    icon: Icons.close,
+    onPressed: onPressed,
+    tooltip: 'Close',
+  );
 
   factory InputDecorationSuffixButton.help({
     required VoidCallback? onPressed,
-  }) =>
-      InputDecorationSuffixButton(
-        icon: Icons.question_mark,
-        onPressed: onPressed,
-        tooltip: 'Help',
-      );
+  }) => InputDecorationSuffixButton(
+    icon: Icons.question_mark,
+    onPressed: onPressed,
+    tooltip: 'Help',
+  );
 
   final IconData icon;
   final VoidCallback? onPressed;
diff --git a/packages/devtools_app_shared/lib/src/ui/theme/_ide_theme_web.dart b/packages/devtools_app_shared/lib/src/ui/theme/_ide_theme_web.dart
index 7640fbd..4b55e70 100644
--- a/packages/devtools_app_shared/lib/src/ui/theme/_ide_theme_web.dart
+++ b/packages/devtools_app_shared/lib/src/ui/theme/_ide_theme_web.dart
@@ -22,8 +22,9 @@
   // If the environment has provided a background color, set it immediately
   // to avoid a white page until the first Flutter frame is rendered.
   if (overrides.backgroundColor != null) {
-    document.body!.style.backgroundColor =
-        toCssHexColor(overrides.backgroundColor!);
+    document.body!.style.backgroundColor = toCssHexColor(
+      overrides.backgroundColor!,
+    );
   }
 
   return overrides;
diff --git a/packages/devtools_app_shared/lib/src/ui/theme/theme.dart b/packages/devtools_app_shared/lib/src/ui/theme/theme.dart
index 0480cf3..cc3f080 100644
--- a/packages/devtools_app_shared/lib/src/ui/theme/theme.dart
+++ b/packages/devtools_app_shared/lib/src/ui/theme/theme.dart
@@ -26,35 +26,23 @@
       : _lightTheme(ideTheme: ideTheme, theme: theme);
 
   return colorTheme.copyWith(
-      primaryTextTheme:
-          theme.primaryTextTheme.merge(colorTheme.primaryTextTheme),
-      textTheme: theme.textTheme.merge(colorTheme.textTheme));
+    primaryTextTheme: theme.primaryTextTheme.merge(colorTheme.primaryTextTheme),
+    textTheme: theme.textTheme.merge(colorTheme.textTheme),
+  );
 }
 
-ThemeData _darkTheme({
-  required IdeTheme ideTheme,
-  required ThemeData theme,
-}) {
+ThemeData _darkTheme({required IdeTheme ideTheme, required ThemeData theme}) {
   final background = isValidDarkColor(ideTheme.backgroundColor)
       ? ideTheme.backgroundColor!
       : theme.colorScheme.surface;
-  return _baseTheme(
-    theme: theme,
-    backgroundColor: background,
-  );
+  return _baseTheme(theme: theme, backgroundColor: background);
 }
 
-ThemeData _lightTheme({
-  required IdeTheme ideTheme,
-  required ThemeData theme,
-}) {
+ThemeData _lightTheme({required IdeTheme ideTheme, required ThemeData theme}) {
   final background = isValidLightColor(ideTheme.backgroundColor)
       ? ideTheme.backgroundColor!
       : theme.colorScheme.surface;
-  return _baseTheme(
-    theme: theme,
-    backgroundColor: background,
-  );
+  return _baseTheme(theme: theme, backgroundColor: background);
 }
 
 ThemeData _baseTheme({
@@ -68,8 +56,9 @@
       tabAlignment: TabAlignment.start,
       dividerColor: Colors.transparent,
       labelStyle: theme.regularTextStyle,
-      labelPadding:
-          const EdgeInsets.symmetric(horizontal: defaultTabBarPadding),
+      labelPadding: const EdgeInsets.symmetric(
+        horizontal: defaultTabBarPadding,
+      ),
     ),
     canvasColor: backgroundColor,
     scaffoldBackgroundColor: backgroundColor,
@@ -110,17 +99,13 @@
         fixedSize: const WidgetStatePropertyAll<Size>(Size.fromHeight(24.0)),
       ),
     ),
-    dropdownMenuTheme: DropdownMenuThemeData(
-      textStyle: theme.regularTextStyle,
-    ),
+    dropdownMenuTheme: DropdownMenuThemeData(textStyle: theme.regularTextStyle),
     progressIndicatorTheme: const ProgressIndicatorThemeData(
       linearMinHeight: defaultLinearProgressIndicatorHeight,
     ),
     primaryTextTheme: _devToolsTextTheme(theme, theme.primaryTextTheme),
     textTheme: _devToolsTextTheme(theme, theme.textTheme),
-    colorScheme: theme.colorScheme.copyWith(
-      surface: backgroundColor,
-    ),
+    colorScheme: theme.colorScheme.copyWith(surface: backgroundColor),
   );
 }
 
@@ -381,11 +366,8 @@
   bool get isDarkTheme => brightness == Brightness.dark;
 
   TextStyle get regularTextStyle => fixBlurryText(
-        TextStyle(
-          color: colorScheme.onSurface,
-          fontSize: defaultFontSize,
-        ),
-      );
+    TextStyle(color: colorScheme.onSurface, fontSize: defaultFontSize),
+  );
 
   TextStyle regularTextStyleWithColor(Color? color, {Color? backgroundColor}) =>
       regularTextStyle.copyWith(color: color, backgroundColor: backgroundColor);
@@ -405,66 +387,58 @@
       regularTextStyle.copyWith(color: colorScheme.subtleTextColor);
 
   TextStyle get fixedFontStyle => fixBlurryText(
-        regularTextStyle.copyWith(
-          fontFamily: 'RobotoMono',
-          // Slightly smaller for fixes font text since it will appear larger
-          // to begin with.
-          fontSize: defaultFontSize - 1,
-        ),
-      );
+    regularTextStyle.copyWith(
+      fontFamily: 'RobotoMono',
+      // Slightly smaller for fixes font text since it will appear larger
+      // to begin with.
+      fontSize: defaultFontSize - 1,
+    ),
+  );
 
-  TextStyle get subtleFixedFontStyle => fixedFontStyle.copyWith(
-        color: colorScheme.subtleTextColor,
-      );
+  TextStyle get subtleFixedFontStyle =>
+      fixedFontStyle.copyWith(color: colorScheme.subtleTextColor);
 
   TextStyle get selectedSubtleTextStyle =>
       subtleTextStyle.copyWith(color: colorScheme.onSurface);
 
-  TextStyle get tooltipFixedFontStyle => fixedFontStyle.copyWith(
-        color: colorScheme.tooltipTextColor,
-      );
+  TextStyle get tooltipFixedFontStyle =>
+      fixedFontStyle.copyWith(color: colorScheme.tooltipTextColor);
 
   TextStyle get fixedFontLinkStyle => fixedFontStyle.copyWith(
-        color: colorScheme._devtoolsLink,
-        decoration: TextDecoration.underline,
-      );
+    color: colorScheme._devtoolsLink,
+    decoration: TextDecoration.underline,
+  );
 
   TextStyle get linkTextStyle => fixBlurryText(
-        TextStyle(
-          color: colorScheme._devtoolsLink,
-          decoration: TextDecoration.underline,
-          fontSize: defaultFontSize,
-        ),
-      );
+    TextStyle(
+      color: colorScheme._devtoolsLink,
+      decoration: TextDecoration.underline,
+      fontSize: defaultFontSize,
+    ),
+  );
 
   TextStyle get subtleChartTextStyle => fixBlurryText(
-        TextStyle(
-          color: colorScheme._chartSubtleColor,
-          fontSize: smallFontSize,
-        ),
-      );
+    TextStyle(color: colorScheme._chartSubtleColor, fontSize: smallFontSize),
+  );
 
   TextStyle get searchMatchHighlightStyle => fixBlurryText(
-        const TextStyle(
-          color: Colors.black,
-          backgroundColor: activeSearchMatchColor,
-        ),
-      );
+    const TextStyle(
+      color: Colors.black,
+      backgroundColor: activeSearchMatchColor,
+    ),
+  );
 
   TextStyle get searchMatchHighlightStyleFocused => fixBlurryText(
-        const TextStyle(
-          color: Colors.black,
-          backgroundColor: searchMatchColor,
-        ),
-      );
+    const TextStyle(color: Colors.black, backgroundColor: searchMatchColor),
+  );
 
   TextStyle get legendTextStyle => fixBlurryText(
-        const TextStyle(
-          fontWeight: FontWeight.normal,
-          fontSize: smallFontSize,
-          decoration: TextDecoration.none,
-        ),
-      );
+    const TextStyle(
+      fontWeight: FontWeight.normal,
+      fontSize: smallFontSize,
+      decoration: TextDecoration.none,
+    ),
+  );
 }
 
 /// Returns a [TextStyle] with [FontFeature.proportionalFigures] applied to
@@ -541,10 +515,7 @@
 
 /// Measures the screen size to determine whether it is strictly larger
 /// than [width], scaled to the current font factor.
-bool isScreenWiderThan(
-  BuildContext context,
-  double? width,
-) {
+bool isScreenWiderThan(BuildContext context, double? width) {
   return width == null || MediaQuery.of(context).size.width > width;
 }
 
diff --git a/packages/devtools_app_shared/lib/src/utils/auto_dispose.dart b/packages/devtools_app_shared/lib/src/utils/auto_dispose.dart
index a0eff8a..a151245 100644
--- a/packages/devtools_app_shared/lib/src/utils/auto_dispose.dart
+++ b/packages/devtools_app_shared/lib/src/utils/auto_dispose.dart
@@ -191,8 +191,9 @@
     if (listener == null) return;
 
     assert(_listenables.length == _listeners.length);
-    final foundIndex =
-        _listeners.indexWhere((currentListener) => currentListener == listener);
+    final foundIndex = _listeners.indexWhere(
+      (currentListener) => currentListener == listener,
+    );
     if (foundIndex == -1) return;
     _listenables[foundIndex].removeListener(_listeners[foundIndex]);
     _listenables.removeAt(foundIndex);
@@ -350,9 +351,7 @@
   ///
   /// If any index in [indices] is out of range, an exception will be thrown.
   void removeAllExceptIndices(List<int> indices) {
-    final tmp = [
-      for (final index in indices) this[index],
-    ];
+    final tmp = [for (final index in indices) this[index]];
     clear();
     addAll(tmp);
   }
diff --git a/packages/devtools_app_shared/lib/src/utils/url/_url_web.dart b/packages/devtools_app_shared/lib/src/utils/url/_url_web.dart
index 67e84ee..4e81763 100644
--- a/packages/devtools_app_shared/lib/src/utils/url/_url_web.dart
+++ b/packages/devtools_app_shared/lib/src/utils/url/_url_web.dart
@@ -27,13 +27,10 @@
   } else {
     newQueryParams[key] = value;
   }
-  final newUri = Uri.parse(window.location.toString())
-      .replace(queryParameters: newQueryParams);
-  window.history.replaceState(
-    window.history.state,
-    '',
-    newUri.toString(),
-  );
+  final newUri = Uri.parse(
+    window.location.toString(),
+  ).replace(queryParameters: newQueryParams);
+  window.history.replaceState(window.history.state, '', newUri.toString());
 
   if (reload) {
     window.location.reload();
diff --git a/packages/devtools_app_shared/test/service/flutter_version_test.dart b/packages/devtools_app_shared/test/service/flutter_version_test.dart
index a1904d6..8c8059f 100644
--- a/packages/devtools_app_shared/test/service/flutter_version_test.dart
+++ b/packages/devtools_app_shared/test/service/flutter_version_test.dart
@@ -8,40 +8,45 @@
 void main() {
   group('FlutterVersion', () {
     test('infers semantic version', () {
-      var flutterVersion =
-          FlutterVersion.parse({'frameworkVersion': '1.10.7-pre.42'});
+      var flutterVersion = FlutterVersion.parse({
+        'frameworkVersion': '1.10.7-pre.42',
+      });
       expect(flutterVersion.major, equals(1));
       expect(flutterVersion.minor, equals(10));
       expect(flutterVersion.patch, equals(7));
       expect(flutterVersion.preReleaseMajor, equals(42));
       expect(flutterVersion.preReleaseMinor, equals(0));
 
-      flutterVersion =
-          FlutterVersion.parse({'frameworkVersion': '1.10.7-pre42'});
+      flutterVersion = FlutterVersion.parse({
+        'frameworkVersion': '1.10.7-pre42',
+      });
       expect(flutterVersion.major, equals(1));
       expect(flutterVersion.minor, equals(10));
       expect(flutterVersion.patch, equals(7));
       expect(flutterVersion.preReleaseMajor, equals(42));
       expect(flutterVersion.preReleaseMinor, equals(0));
 
-      flutterVersion =
-          FlutterVersion.parse({'frameworkVersion': '1.10.11-pre42'});
+      flutterVersion = FlutterVersion.parse({
+        'frameworkVersion': '1.10.11-pre42',
+      });
       expect(flutterVersion.major, equals(1));
       expect(flutterVersion.minor, equals(10));
       expect(flutterVersion.patch, equals(11));
       expect(flutterVersion.preReleaseMajor, equals(42));
       expect(flutterVersion.preReleaseMinor, equals(0));
 
-      flutterVersion =
-          FlutterVersion.parse({'frameworkVersion': '2.3.0-17.0.pre.355'});
+      flutterVersion = FlutterVersion.parse({
+        'frameworkVersion': '2.3.0-17.0.pre.355',
+      });
       expect(flutterVersion.major, equals(2));
       expect(flutterVersion.minor, equals(3));
       expect(flutterVersion.patch, equals(0));
       expect(flutterVersion.preReleaseMajor, equals(17));
       expect(flutterVersion.preReleaseMinor, equals(0));
 
-      flutterVersion =
-          FlutterVersion.parse({'frameworkVersion': '2.3.0-17.0.pre'});
+      flutterVersion = FlutterVersion.parse({
+        'frameworkVersion': '2.3.0-17.0.pre',
+      });
       expect(flutterVersion.major, equals(2));
       expect(flutterVersion.minor, equals(3));
       expect(flutterVersion.patch, equals(0));
@@ -62,8 +67,9 @@
       expect(flutterVersion.preReleaseMajor, isNull);
       expect(flutterVersion.preReleaseMinor, isNull);
 
-      flutterVersion =
-          FlutterVersion.parse({'frameworkVersion': 'bad-version'});
+      flutterVersion = FlutterVersion.parse({
+        'frameworkVersion': 'bad-version',
+      });
       expect(flutterVersion.major, equals(0));
       expect(flutterVersion.minor, equals(0));
       expect(flutterVersion.patch, equals(0));
@@ -72,33 +78,44 @@
     group('identifies correct Flutter channel', () {
       test('uses channel string if it exists', () {
         expect(
-            FlutterVersion.identifyChannel('ignored-version',
-                channelStr: 'dev'),
-            equals(FlutterChannel.dev));
+          FlutterVersion.identifyChannel('ignored-version', channelStr: 'dev'),
+          equals(FlutterChannel.dev),
+        );
 
         expect(
-            FlutterVersion.identifyChannel('ignored-version',
-                channelStr: 'beta'),
-            equals(FlutterChannel.beta));
+          FlutterVersion.identifyChannel('ignored-version', channelStr: 'beta'),
+          equals(FlutterChannel.beta),
+        );
 
         expect(
-            FlutterVersion.identifyChannel('ignored-version',
-                channelStr: 'stable'),
-            equals(FlutterChannel.stable));
+          FlutterVersion.identifyChannel(
+            'ignored-version',
+            channelStr: 'stable',
+          ),
+          equals(FlutterChannel.stable),
+        );
       });
 
       test('identifies channel from version string', () {
-        expect(FlutterVersion.identifyChannel('2.3.0-17.0.pre.355'),
-            equals(FlutterChannel.dev));
+        expect(
+          FlutterVersion.identifyChannel('2.3.0-17.0.pre.355'),
+          equals(FlutterChannel.dev),
+        );
 
-        expect(FlutterVersion.identifyChannel('2.3.0-17.0.pre-355'),
-            equals(FlutterChannel.dev));
+        expect(
+          FlutterVersion.identifyChannel('2.3.0-17.0.pre-355'),
+          equals(FlutterChannel.dev),
+        );
 
-        expect(FlutterVersion.identifyChannel('2.3.0-17.0.pre'),
-            equals(FlutterChannel.beta));
+        expect(
+          FlutterVersion.identifyChannel('2.3.0-17.0.pre'),
+          equals(FlutterChannel.beta),
+        );
 
-        expect(FlutterVersion.identifyChannel('2.3.0'),
-            equals(FlutterChannel.stable));
+        expect(
+          FlutterVersion.identifyChannel('2.3.0'),
+          equals(FlutterChannel.stable),
+        );
 
         expect(FlutterVersion.identifyChannel('bad-version'), isNull);
 
diff --git a/packages/devtools_app_shared/test/test_utils.dart b/packages/devtools_app_shared/test/test_utils.dart
index 8c04ae0..5a36b4e 100644
--- a/packages/devtools_app_shared/test/test_utils.dart
+++ b/packages/devtools_app_shared/test/test_utils.dart
@@ -21,15 +21,9 @@
     theme: themeFor(
       isDarkTheme: false,
       ideTheme: IdeTheme(),
-      theme: ThemeData(
-        useMaterial3: true,
-        colorScheme: lightColorScheme,
-      ),
+      theme: ThemeData(useMaterial3: true, colorScheme: lightColorScheme),
     ),
-    home: Directionality(
-      textDirection: TextDirection.ltr,
-      child: widget,
-    ),
+    home: Directionality(textDirection: TextDirection.ltr, child: widget),
   );
 }
 
@@ -40,15 +34,11 @@
   WidgetTesterCallback test, {
   bool skip = false,
 }) {
-  testWidgets(
-    name,
-    (WidgetTester tester) async {
-      await _setWindowSize(tester, windowSize);
-      await test(tester);
-      await _resetWindowSize(tester);
-    },
-    skip: skip,
-  );
+  testWidgets(name, (WidgetTester tester) async {
+    await _setWindowSize(tester, windowSize);
+    await test(tester);
+    await _resetWindowSize(tester);
+  }, skip: skip);
 }
 
 Future<void> _setWindowSize(WidgetTester tester, Size windowSize) async {
diff --git a/packages/devtools_app_shared/test/ui/common_test.dart b/packages/devtools_app_shared/test/ui/common_test.dart
index c0cecde..21f96b9 100644
--- a/packages/devtools_app_shared/test/ui/common_test.dart
+++ b/packages/devtools_app_shared/test/ui/common_test.dart
@@ -17,52 +17,30 @@
   group('AreaPaneHeader', () {
     const titleText = 'The title';
 
-    testWidgets(
-      'actions do not take up space when not present',
-      (WidgetTester tester) async {
-        await tester.pumpWidget(
-          wrap(
-            const AreaPaneHeader(
-              title: Text(titleText),
-            ),
-          ),
-        );
+    testWidgets('actions do not take up space when not present', (
+      WidgetTester tester,
+    ) async {
+      await tester.pumpWidget(
+        wrap(const AreaPaneHeader(title: Text(titleText))),
+      );
 
-        final row = tester.widget(find.byType(Row)) as Row;
-        expect(
-          row.children.length,
-          equals(1),
-        );
-        expect(
-          find.text(titleText),
-          findsOneWidget,
-        );
-      },
-    );
+      final row = tester.widget(find.byType(Row)) as Row;
+      expect(row.children.length, equals(1));
+      expect(find.text(titleText), findsOneWidget);
+    });
 
     testWidgets('shows actions', (WidgetTester tester) async {
       const actionText = 'The Action Text';
       const action = Text(actionText);
 
       await tester.pumpWidget(
-        wrap(
-          const AreaPaneHeader(
-            title: Text(titleText),
-            actions: [action],
-          ),
-        ),
+        wrap(const AreaPaneHeader(title: Text(titleText), actions: [action])),
       );
 
       final row = tester.widget(find.byType(Row)) as Row;
-      expect(
-        row.children.length,
-        equals(2),
-      );
+      expect(row.children.length, equals(2));
       expect(find.text(actionText), findsOneWidget);
-      expect(
-        find.text(titleText),
-        findsOneWidget,
-      );
+      expect(find.text(titleText), findsOneWidget);
     });
   });
 }
diff --git a/packages/devtools_app_shared/test/ui/flex_split_column_test.dart b/packages/devtools_app_shared/test/ui/flex_split_column_test.dart
index abeecd2..44d48a1 100644
--- a/packages/devtools_app_shared/test/ui/flex_split_column_test.dart
+++ b/packages/devtools_app_shared/test/ui/flex_split_column_test.dart
@@ -40,33 +40,31 @@
     test('modifyInitialFractionsToIncludeFirstHeader', () {
       final adjustedFractions =
           FlexSplitColumn.modifyInitialFractionsToIncludeFirstHeader(
-        initialFractions,
-        headers,
-        totalHeight,
-      );
+            initialFractions,
+            headers,
+            totalHeight,
+          );
       expect(
-        const DeepCollectionEquality().equals(
-          adjustedFractions,
-          [
-            0.2857142857142857,
-            0.23809523809523808,
-            0.23809523809523808,
-            0.23809523809523808,
-          ],
-        ),
+        const DeepCollectionEquality().equals(adjustedFractions, [
+          0.2857142857142857,
+          0.23809523809523808,
+          0.23809523809523808,
+          0.23809523809523808,
+        ]),
         isTrue,
       );
     });
 
     test('modifyMinSizesToIncludeFirstHeader', () {
       final adjustedFractions =
-          FlexSplitColumn.modifyMinSizesToIncludeFirstHeader(
-        minSizes,
-        headers,
-      );
+          FlexSplitColumn.modifyMinSizesToIncludeFirstHeader(minSizes, headers);
       expect(
-        const DeepCollectionEquality()
-            .equals(adjustedFractions, [60.0, 10.0, 10.0, 10.0]),
+        const DeepCollectionEquality().equals(adjustedFractions, [
+          60.0,
+          10.0,
+          10.0,
+          10.0,
+        ]),
         isTrue,
       );
     });
@@ -77,10 +75,10 @@
 
       // Wrap each child in a container so we can build the elements in a
       // arbitrary column to check for [firstHeaderKey].
-      final adjustedChildren =
-          FlexSplitColumn.buildChildrenWithFirstHeader(children, headers)
-              .map((child) => SizedBox(height: 100.0, child: child))
-              .toList();
+      final adjustedChildren = FlexSplitColumn.buildChildrenWithFirstHeader(
+        children,
+        headers,
+      ).map((child) => SizedBox(height: 100.0, child: child)).toList();
       await tester.pumpWidget(Column(children: adjustedChildren));
       expect(find.byKey(firstHeaderKey), findsOneWidget);
     });
diff --git a/packages/devtools_app_shared/test/ui/split_pane_test.dart b/packages/devtools_app_shared/test/ui/split_pane_test.dart
index 068f9ed..2082752 100644
--- a/packages/devtools_app_shared/test/ui/split_pane_test.dart
+++ b/packages/devtools_app_shared/test/ui/split_pane_test.dart
@@ -83,8 +83,10 @@
       });
 
       testWidgets('with 0% space to first child', (WidgetTester tester) async {
-        final split =
-            buildSplitPane(Axis.horizontal, initialFractions: [0.0, 1.0]);
+        final split = buildSplitPane(
+          Axis.horizontal,
+          initialFractions: [0.0, 1.0],
+        );
         await tester.pumpWidget(wrap(split));
         expect(find.byKey(_k1), findsOneWidget);
         expect(find.byKey(_k2), findsOneWidget);
@@ -103,31 +105,30 @@
         );
       });
 
-      testWidgets(
-        'with 100% space to first child',
-        (WidgetTester tester) async {
-          final split = buildSplitPane(
-            Axis.horizontal,
-            initialFractions: [1.0, 0.0],
-          );
-          await tester.pumpWidget(wrap(split));
-          expect(find.byKey(_k1), findsOneWidget);
-          expect(find.byKey(_k2), findsOneWidget);
-          expect(find.byKey(split.dividerKey(0)), findsOneWidget);
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(788, 600),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(0, 600),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(split.dividerKey(0))).size!,
-            const Size(12, 600),
-          );
-        },
-      );
+      testWidgets('with 100% space to first child', (
+        WidgetTester tester,
+      ) async {
+        final split = buildSplitPane(
+          Axis.horizontal,
+          initialFractions: [1.0, 0.0],
+        );
+        await tester.pumpWidget(wrap(split));
+        expect(find.byKey(_k1), findsOneWidget);
+        expect(find.byKey(_k2), findsOneWidget);
+        expect(find.byKey(split.dividerKey(0)), findsOneWidget);
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(788, 600),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(0, 600),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(split.dividerKey(0))).size!,
+          const Size(12, 600),
+        );
+      });
 
       testWidgets('with n children', (WidgetTester tester) async {
         final split = buildSplitPane(
@@ -172,36 +173,37 @@
         );
       });
 
-      testWidgets(
-        'with initialFraction rounding errors',
-        (WidgetTester tester) async {
-          const oneThird = 0.333333;
-          final split = buildSplitPane(
-            Axis.horizontal,
-            children: [_w1, _w2, _w3],
-            initialFractions: [oneThird, oneThird, oneThird],
-          );
-          await tester.pumpWidget(wrap(split));
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(258.666416, 600),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(258.666416, 600),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(258.666416, 600),
-          );
-        },
-      );
+      testWidgets('with initialFraction rounding errors', (
+        WidgetTester tester,
+      ) async {
+        const oneThird = 0.333333;
+        final split = buildSplitPane(
+          Axis.horizontal,
+          children: [_w1, _w2, _w3],
+          initialFractions: [oneThird, oneThird, oneThird],
+        );
+        await tester.pumpWidget(wrap(split));
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(258.666416, 600),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(258.666416, 600),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(258.666416, 600),
+        );
+      });
     });
 
     group('builds vertical layout', () {
       testWidgets('with 25% space to first child', (WidgetTester tester) async {
-        final split =
-            buildSplitPane(Axis.vertical, initialFractions: [0.25, 0.75]);
+        final split = buildSplitPane(
+          Axis.vertical,
+          initialFractions: [0.25, 0.75],
+        );
         await tester.pumpWidget(wrap(split));
         expect(find.byKey(_k1), findsOneWidget);
         expect(find.byKey(_k2), findsOneWidget);
@@ -221,8 +223,10 @@
       });
 
       testWidgets('with 50% space to first child', (WidgetTester tester) async {
-        final split =
-            buildSplitPane(Axis.vertical, initialFractions: [0.5, 0.5]);
+        final split = buildSplitPane(
+          Axis.vertical,
+          initialFractions: [0.5, 0.5],
+        );
         await tester.pumpWidget(wrap(split));
         expectEqualSizes(
           tester.element(find.byKey(_k1)).size!,
@@ -235,8 +239,10 @@
       });
 
       testWidgets('with 75% space to first child', (WidgetTester tester) async {
-        final split =
-            buildSplitPane(Axis.vertical, initialFractions: [0.75, 0.25]);
+        final split = buildSplitPane(
+          Axis.vertical,
+          initialFractions: [0.75, 0.25],
+        );
         await tester.pumpWidget(wrap(split));
         expectEqualSizes(
           tester.element(find.byKey(_k1)).size!,
@@ -249,8 +255,10 @@
       });
 
       testWidgets('with 0% space to first child', (WidgetTester tester) async {
-        final split =
-            buildSplitPane(Axis.vertical, initialFractions: [0.0, 1.0]);
+        final split = buildSplitPane(
+          Axis.vertical,
+          initialFractions: [0.0, 1.0],
+        );
         await tester.pumpWidget(wrap(split));
         expect(find.byKey(_k1), findsOneWidget);
         expect(find.byKey(_k2), findsOneWidget);
@@ -269,29 +277,30 @@
         );
       });
 
-      testWidgets(
-        'with 100% space to first child',
-        (WidgetTester tester) async {
-          final split =
-              buildSplitPane(Axis.vertical, initialFractions: [1.0, 0.0]);
-          await tester.pumpWidget(wrap(split));
-          expect(find.byKey(_k1), findsOneWidget);
-          expect(find.byKey(_k2), findsOneWidget);
-          expect(find.byKey(split.dividerKey(0)), findsOneWidget);
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(800, 588),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(800, 0),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(split.dividerKey(0))).size!,
-            const Size(800, 12),
-          );
-        },
-      );
+      testWidgets('with 100% space to first child', (
+        WidgetTester tester,
+      ) async {
+        final split = buildSplitPane(
+          Axis.vertical,
+          initialFractions: [1.0, 0.0],
+        );
+        await tester.pumpWidget(wrap(split));
+        expect(find.byKey(_k1), findsOneWidget);
+        expect(find.byKey(_k2), findsOneWidget);
+        expect(find.byKey(split.dividerKey(0)), findsOneWidget);
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(800, 588),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(800, 0),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(split.dividerKey(0))).size!,
+          const Size(800, 12),
+        );
+      });
 
       testWidgets('with n children', (WidgetTester tester) async {
         final split = buildSplitPane(
@@ -336,36 +345,37 @@
         );
       });
 
-      testWidgets(
-        'with initialFraction rounding errors',
-        (WidgetTester tester) async {
-          const oneThird = 0.333333;
-          final split = buildSplitPane(
-            Axis.vertical,
-            children: [_w1, _w2, _w3],
-            initialFractions: [oneThird, oneThird, oneThird],
-          );
-          await tester.pumpWidget(wrap(split));
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(800, 191.99981599999998),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(800, 191.99981599999998),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(800, 191.99981599999998),
-          );
-        },
-      );
+      testWidgets('with initialFraction rounding errors', (
+        WidgetTester tester,
+      ) async {
+        const oneThird = 0.333333;
+        final split = buildSplitPane(
+          Axis.vertical,
+          children: [_w1, _w2, _w3],
+          initialFractions: [oneThird, oneThird, oneThird],
+        );
+        await tester.pumpWidget(wrap(split));
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(800, 191.99981599999998),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(800, 191.99981599999998),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(800, 191.99981599999998),
+        );
+      });
     });
 
     group('drags properly', () {
       testWidgets('with horizontal layout', (WidgetTester tester) async {
-        final split =
-            buildSplitPane(Axis.horizontal, initialFractions: [0.5, 0.5]);
+        final split = buildSplitPane(
+          Axis.horizontal,
+          initialFractions: [0.5, 0.5],
+        );
         await tester.pumpWidget(wrap(split));
 
         // We start at 0.5 size.
@@ -470,8 +480,10 @@
       });
 
       testWidgets('with vertical layout', (WidgetTester tester) async {
-        final split =
-            buildSplitPane(Axis.vertical, initialFractions: [0.5, 0.5]);
+        final split = buildSplitPane(
+          Axis.vertical,
+          initialFractions: [0.5, 0.5],
+        );
         await tester.pumpWidget(wrap(split));
 
         // We start at 0.5 size.
@@ -811,13 +823,13 @@
 
     group('resizes contents', () {
       testWidgets('in a horizontal layout', (WidgetTester tester) async {
-        final split =
-            buildSplitPane(Axis.horizontal, initialFractions: [0.0, 1.0]);
+        final split = buildSplitPane(
+          Axis.horizontal,
+          initialFractions: [0.0, 1.0],
+        );
         await tester.pumpWidget(
           wrap(
-            Center(
-              child: SizedBox(width: 300.0, height: 300.0, child: split),
-            ),
+            Center(child: SizedBox(width: 300.0, height: 300.0, child: split)),
           ),
         );
         expectEqualSizes(
@@ -831,9 +843,7 @@
 
         await tester.pumpWidget(
           wrap(
-            Center(
-              child: SizedBox(width: 200.0, height: 200.0, child: split),
-            ),
+            Center(child: SizedBox(width: 200.0, height: 200.0, child: split)),
           ),
         );
         expectEqualSizes(
@@ -846,235 +856,214 @@
         );
       });
 
-      testWidgets(
-        'in a horizontal layout with n children',
-        (WidgetTester tester) async {
-          final split = buildSplitPane(
-            Axis.horizontal,
-            children: [_w1, _w2, _w3],
-            initialFractions: [0.2, 0.4, 0.4],
-          );
-          await tester.pumpWidget(
-            wrap(
-              Center(
-                child: SizedBox(width: 400.0, height: 400.0, child: split),
-              ),
-            ),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(75.2, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(150.4, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(150.4, 400),
-          );
-
-          await tester.pumpWidget(
-            wrap(
-              Center(
-                child: SizedBox(width: 200.0, height: 200.0, child: split),
-              ),
-            ),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(35.2, 200),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(70.4, 200),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(70.4, 200),
-          );
-        },
-      );
-
-      testWidgets(
-        'with violated minsize constraints',
-        (WidgetTester tester) async {
-          final split = buildSplitPane(
-            Axis.horizontal,
-            children: [_w1, _w2, _w3],
-            initialFractions: [0.1, 0.7, 0.2],
-            minSizes: [100.0, 0, 100.0],
-          );
-          await tester.pumpWidget(
-            wrap(
-              Center(
-                child: SizedBox(width: 400.0, height: 400.0, child: split),
-              ),
-            ),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(100, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(176.0, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(100, 400),
-          );
-
-          await tester.pumpWidget(
-            wrap(
-              Center(
-                child: SizedBox(width: 230.0, height: 200.0, child: split),
-              ),
-            ),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(100.0, 200),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(6.0, 200),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(100.0, 200),
-          );
-
-          // It would be nice if we restored the size of w2 in this case but the
-          // logic is simpler if we don't as this way the layout calculation can
-          // avoid tracking state about what the previous fractions were before
-          // clipping which would add more complexity and shouldn't really matter.
-          await tester.pumpWidget(
-            wrap(
-              Center(
-                child: SizedBox(width: 400.0, height: 400.0, child: split),
-              ),
-            ),
-          );
-          // TODO(dantup): These now fail, as the results are 100/176/100. It's not
-          // clear why these expectations are different to the above when it's
-          // in the same size box?
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(182.5242718446602, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(10.951456310679607, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(182.5242718446602, 400),
-          );
-        },
-      );
-
-      testWidgets(
-        'with impossible minsize constraints',
-        (WidgetTester tester) async {
-          final split = buildSplitPane(
-            Axis.horizontal,
-            children: [_w1, _w2, _w3],
-            initialFractions: [0.2, 0.4, 0.4],
-            minSizes: [200.0, 0, 400.0],
-          );
-          await tester.pumpWidget(
-            wrap(
-              Center(
-                child: SizedBox(width: 400.0, height: 400.0, child: split),
-              ),
-            ),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(125.33333333333333, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(0, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(250.66666666666666, 400),
-          );
-
-          await tester.pumpWidget(
-            wrap(
-              Center(
-                child: SizedBox(width: 200.0, height: 200.0, child: split),
-              ),
-            ),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(58.666666666666664, 200),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(0, 200),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(117.33333333333333, 200),
-          );
-
-          // Min size constraints still violated but not violated by as much.
-          await tester.pumpWidget(
-            wrap(
-              Center(
-                child: SizedBox(width: 400.0, height: 400.0, child: split),
-              ),
-            ),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(125.33333333333333, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(0, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(250.66666666666666, 400),
-          );
-
-          // Min size constraints are now satisfied.
-          await tester.pumpWidget(
-            wrap(
-              Center(
-                child: SizedBox(width: 800.0, height: 400.0, child: split),
-              ),
-            ),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(258.66666666666666, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(0, 400),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(517.3333333333333, 400),
-          );
-        },
-      );
-
-      testWidgets('in a vertical layout', (WidgetTester tester) async {
-        final split =
-            buildSplitPane(Axis.vertical, initialFractions: [0.0, 1.0]);
+      testWidgets('in a horizontal layout with n children', (
+        WidgetTester tester,
+      ) async {
+        final split = buildSplitPane(
+          Axis.horizontal,
+          children: [_w1, _w2, _w3],
+          initialFractions: [0.2, 0.4, 0.4],
+        );
         await tester.pumpWidget(
           wrap(
-            Center(
-              child: SizedBox(width: 300.0, height: 300.0, child: split),
-            ),
+            Center(child: SizedBox(width: 400.0, height: 400.0, child: split)),
+          ),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(75.2, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(150.4, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(150.4, 400),
+        );
+
+        await tester.pumpWidget(
+          wrap(
+            Center(child: SizedBox(width: 200.0, height: 200.0, child: split)),
+          ),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(35.2, 200),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(70.4, 200),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(70.4, 200),
+        );
+      });
+
+      testWidgets('with violated minsize constraints', (
+        WidgetTester tester,
+      ) async {
+        final split = buildSplitPane(
+          Axis.horizontal,
+          children: [_w1, _w2, _w3],
+          initialFractions: [0.1, 0.7, 0.2],
+          minSizes: [100.0, 0, 100.0],
+        );
+        await tester.pumpWidget(
+          wrap(
+            Center(child: SizedBox(width: 400.0, height: 400.0, child: split)),
+          ),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(100, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(176.0, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(100, 400),
+        );
+
+        await tester.pumpWidget(
+          wrap(
+            Center(child: SizedBox(width: 230.0, height: 200.0, child: split)),
+          ),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(100.0, 200),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(6.0, 200),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(100.0, 200),
+        );
+
+        // It would be nice if we restored the size of w2 in this case but the
+        // logic is simpler if we don't as this way the layout calculation can
+        // avoid tracking state about what the previous fractions were before
+        // clipping which would add more complexity and shouldn't really matter.
+        await tester.pumpWidget(
+          wrap(
+            Center(child: SizedBox(width: 400.0, height: 400.0, child: split)),
+          ),
+        );
+        // TODO(dantup): These now fail, as the results are 100/176/100. It's not
+        // clear why these expectations are different to the above when it's
+        // in the same size box?
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(182.5242718446602, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(10.951456310679607, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(182.5242718446602, 400),
+        );
+      });
+
+      testWidgets('with impossible minsize constraints', (
+        WidgetTester tester,
+      ) async {
+        final split = buildSplitPane(
+          Axis.horizontal,
+          children: [_w1, _w2, _w3],
+          initialFractions: [0.2, 0.4, 0.4],
+          minSizes: [200.0, 0, 400.0],
+        );
+        await tester.pumpWidget(
+          wrap(
+            Center(child: SizedBox(width: 400.0, height: 400.0, child: split)),
+          ),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(125.33333333333333, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(0, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(250.66666666666666, 400),
+        );
+
+        await tester.pumpWidget(
+          wrap(
+            Center(child: SizedBox(width: 200.0, height: 200.0, child: split)),
+          ),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(58.666666666666664, 200),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(0, 200),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(117.33333333333333, 200),
+        );
+
+        // Min size constraints still violated but not violated by as much.
+        await tester.pumpWidget(
+          wrap(
+            Center(child: SizedBox(width: 400.0, height: 400.0, child: split)),
+          ),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(125.33333333333333, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(0, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(250.66666666666666, 400),
+        );
+
+        // Min size constraints are now satisfied.
+        await tester.pumpWidget(
+          wrap(
+            Center(child: SizedBox(width: 800.0, height: 400.0, child: split)),
+          ),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(258.66666666666666, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(0, 400),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(517.3333333333333, 400),
+        );
+      });
+
+      testWidgets('in a vertical layout', (WidgetTester tester) async {
+        final split = buildSplitPane(
+          Axis.vertical,
+          initialFractions: [0.0, 1.0],
+        );
+        await tester.pumpWidget(
+          wrap(
+            Center(child: SizedBox(width: 300.0, height: 300.0, child: split)),
           ),
         );
         expectEqualSizes(
@@ -1088,9 +1077,7 @@
 
         await tester.pumpWidget(
           wrap(
-            Center(
-              child: SizedBox(width: 200.0, height: 200.0, child: split),
-            ),
+            Center(child: SizedBox(width: 200.0, height: 200.0, child: split)),
           ),
         );
         expectEqualSizes(
@@ -1103,116 +1090,109 @@
         );
       });
 
-      testWidgets(
-        'in a vertical layout with n children',
-        (WidgetTester tester) async {
-          final split = buildSplitPane(
-            Axis.vertical,
-            children: [_w1, _w2, _w3],
-            initialFractions: [0.2, 0.4, 0.4],
-          );
-          await tester.pumpWidget(
-            wrap(
-              Center(
-                child: SizedBox(width: 400.0, height: 400.0, child: split),
-              ),
-            ),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(400, 75.2),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(400, 150.4),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(400, 150.4),
-          );
+      testWidgets('in a vertical layout with n children', (
+        WidgetTester tester,
+      ) async {
+        final split = buildSplitPane(
+          Axis.vertical,
+          children: [_w1, _w2, _w3],
+          initialFractions: [0.2, 0.4, 0.4],
+        );
+        await tester.pumpWidget(
+          wrap(
+            Center(child: SizedBox(width: 400.0, height: 400.0, child: split)),
+          ),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(400, 75.2),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(400, 150.4),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(400, 150.4),
+        );
 
-          await tester.pumpWidget(
-            wrap(
-              Center(
-                child: SizedBox(width: 200.0, height: 200.0, child: split),
-              ),
-            ),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k1)).size!,
-            const Size(200, 35.2),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k2)).size!,
-            const Size(200, 70.4),
-          );
-          expectEqualSizes(
-            tester.element(find.byKey(_k3)).size!,
-            const Size(200, 70.4),
-          );
-        },
-      );
+        await tester.pumpWidget(
+          wrap(
+            Center(child: SizedBox(width: 200.0, height: 200.0, child: split)),
+          ),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k1)).size!,
+          const Size(200, 35.2),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k2)).size!,
+          const Size(200, 70.4),
+        );
+        expectEqualSizes(
+          tester.element(find.byKey(_k3)).size!,
+          const Size(200, 70.4),
+        );
+      });
     });
 
     group('rebuilds with a different number of children', () {
-      testWidgets(
-        'does not throw a RangeError when child count shrinks',
-        (WidgetTester tester) async {
-          final threeChildSplit = buildSplitPane(
-            Axis.horizontal,
-            children: const [_w1, _w2, _w3],
-            initialFractions: const [0.2, 0.4, 0.4],
-            minSizes: const [50.0, 50.0, 50.0],
-          );
-          await tester.pumpWidget(wrap(threeChildSplit));
-          expect(find.byKey(_k1), findsOneWidget);
-          expect(find.byKey(_k2), findsOneWidget);
-          expect(find.byKey(_k3), findsOneWidget);
+      testWidgets('does not throw a RangeError when child count shrinks', (
+        WidgetTester tester,
+      ) async {
+        final threeChildSplit = buildSplitPane(
+          Axis.horizontal,
+          children: const [_w1, _w2, _w3],
+          initialFractions: const [0.2, 0.4, 0.4],
+          minSizes: const [50.0, 50.0, 50.0],
+        );
+        await tester.pumpWidget(wrap(threeChildSplit));
+        expect(find.byKey(_k1), findsOneWidget);
+        expect(find.byKey(_k2), findsOneWidget);
+        expect(find.byKey(_k3), findsOneWidget);
 
-          final twoChildSplit = buildSplitPane(
-            Axis.horizontal,
-            children: const [_w1, _w2],
-            initialFractions: const [0.5, 0.5],
-            minSizes: const [50.0, 50.0],
-          );
-          await tester.pumpWidget(wrap(twoChildSplit));
-          await tester.pumpAndSettle();
+        final twoChildSplit = buildSplitPane(
+          Axis.horizontal,
+          children: const [_w1, _w2],
+          initialFractions: const [0.5, 0.5],
+          minSizes: const [50.0, 50.0],
+        );
+        await tester.pumpWidget(wrap(twoChildSplit));
+        await tester.pumpAndSettle();
 
-          expect(tester.takeException(), isNull);
-          expect(find.byKey(_k1), findsOneWidget);
-          expect(find.byKey(_k2), findsOneWidget);
-          expect(find.byKey(_k3), findsNothing);
-        },
-      );
+        expect(tester.takeException(), isNull);
+        expect(find.byKey(_k1), findsOneWidget);
+        expect(find.byKey(_k2), findsOneWidget);
+        expect(find.byKey(_k3), findsNothing);
+      });
 
-      testWidgets(
-        'does not throw a RangeError when child count grows',
-        (WidgetTester tester) async {
-          final twoChildSplit = buildSplitPane(
-            Axis.horizontal,
-            children: const [_w1, _w2],
-            initialFractions: const [0.5, 0.5],
-            minSizes: const [50.0, 50.0],
-          );
-          await tester.pumpWidget(wrap(twoChildSplit));
-          expect(find.byKey(_k1), findsOneWidget);
-          expect(find.byKey(_k2), findsOneWidget);
+      testWidgets('does not throw a RangeError when child count grows', (
+        WidgetTester tester,
+      ) async {
+        final twoChildSplit = buildSplitPane(
+          Axis.horizontal,
+          children: const [_w1, _w2],
+          initialFractions: const [0.5, 0.5],
+          minSizes: const [50.0, 50.0],
+        );
+        await tester.pumpWidget(wrap(twoChildSplit));
+        expect(find.byKey(_k1), findsOneWidget);
+        expect(find.byKey(_k2), findsOneWidget);
 
-          final threeChildSplit = buildSplitPane(
-            Axis.horizontal,
-            children: const [_w1, _w2, _w3],
-            initialFractions: const [0.2, 0.4, 0.4],
-            minSizes: const [50.0, 50.0, 50.0],
-          );
-          await tester.pumpWidget(wrap(threeChildSplit));
-          await tester.pumpAndSettle();
+        final threeChildSplit = buildSplitPane(
+          Axis.horizontal,
+          children: const [_w1, _w2, _w3],
+          initialFractions: const [0.2, 0.4, 0.4],
+          minSizes: const [50.0, 50.0, 50.0],
+        );
+        await tester.pumpWidget(wrap(threeChildSplit));
+        await tester.pumpAndSettle();
 
-          expect(tester.takeException(), isNull);
-          expect(find.byKey(_k1), findsOneWidget);
-          expect(find.byKey(_k2), findsOneWidget);
-          expect(find.byKey(_k3), findsOneWidget);
-        },
-      );
+        expect(tester.takeException(), isNull);
+        expect(find.byKey(_k1), findsOneWidget);
+        expect(find.byKey(_k2), findsOneWidget);
+        expect(find.byKey(_k3), findsOneWidget);
+      });
     });
 
     group('axisFor', () {
@@ -1224,8 +1204,12 @@
             wrap(
               Builder(
                 builder: (context) {
-                  unawaited(expectLater(
-                      SplitPane.axisFor(context, 1.0), Axis.horizontal));
+                  unawaited(
+                    expectLater(
+                      SplitPane.axisFor(context, 1.0),
+                      Axis.horizontal,
+                    ),
+                  );
                   return Container();
                 },
               ),
@@ -1233,23 +1217,22 @@
           );
         },
       );
-      testWidgetsWithWindowSize(
-        'return Axis.vertical',
-        const Size(500, 800),
-        (WidgetTester tester) async {
-          await tester.pumpWidget(
-            wrap(
-              Builder(
-                builder: (context) {
-                  unawaited(expectLater(
-                      SplitPane.axisFor(context, 1.0), Axis.vertical));
-                  return Container();
-                },
-              ),
+      testWidgetsWithWindowSize('return Axis.vertical', const Size(500, 800), (
+        WidgetTester tester,
+      ) async {
+        await tester.pumpWidget(
+          wrap(
+            Builder(
+              builder: (context) {
+                unawaited(
+                  expectLater(SplitPane.axisFor(context, 1.0), Axis.vertical),
+                );
+                return Container();
+              },
             ),
-          );
-        },
-      );
+          ),
+        );
+      });
     });
   });
 }
diff --git a/packages/devtools_app_shared/test/ui/theme_test.dart b/packages/devtools_app_shared/test/ui/theme_test.dart
index 29043fe..c5ffa4d 100644
--- a/packages/devtools_app_shared/test/ui/theme_test.dart
+++ b/packages/devtools_app_shared/test/ui/theme_test.dart
@@ -19,40 +19,25 @@
       theme = themeFor(
         isDarkTheme: true,
         ideTheme: IdeTheme(),
-        theme: ThemeData(
-          useMaterial3: true,
-          colorScheme: darkColorScheme,
-        ),
+        theme: ThemeData(useMaterial3: true, colorScheme: darkColorScheme),
       );
       expect(theme.brightness, equals(Brightness.dark));
-      expect(
-        theme.scaffoldBackgroundColor,
-        equals(darkColorScheme.surface),
-      );
+      expect(theme.scaffoldBackgroundColor, equals(darkColorScheme.surface));
 
       theme = themeFor(
         isDarkTheme: false,
         ideTheme: IdeTheme(),
-        theme: ThemeData(
-          useMaterial3: true,
-          colorScheme: lightColorScheme,
-        ),
+        theme: ThemeData(useMaterial3: true, colorScheme: lightColorScheme),
       );
       expect(theme.brightness, equals(Brightness.light));
-      expect(
-        theme.scaffoldBackgroundColor,
-        equals(lightColorScheme.surface),
-      );
+      expect(theme.scaffoldBackgroundColor, equals(lightColorScheme.surface));
     });
 
     test('can be inferred from override background color', () {
       theme = themeFor(
         isDarkTheme: false, // Will be overridden by white BG
         ideTheme: IdeTheme(backgroundColor: Colors.white70),
-        theme: ThemeData(
-          useMaterial3: true,
-          colorScheme: lightColorScheme,
-        ),
+        theme: ThemeData(useMaterial3: true, colorScheme: lightColorScheme),
       );
       expect(theme.brightness, equals(Brightness.light));
       expect(theme.scaffoldBackgroundColor, equals(Colors.white70));
@@ -60,10 +45,7 @@
       theme = themeFor(
         isDarkTheme: true, // Will be overridden by black BG
         ideTheme: IdeTheme(backgroundColor: Colors.black),
-        theme: ThemeData(
-          useMaterial3: true,
-          colorScheme: darkColorScheme,
-        ),
+        theme: ThemeData(useMaterial3: true, colorScheme: darkColorScheme),
       );
       expect(theme.brightness, equals(Brightness.dark));
       expect(theme.scaffoldBackgroundColor, equals(Colors.black));
@@ -73,30 +55,18 @@
       theme = themeFor(
         isDarkTheme: false, // Will not be overridden - not dark enough
         ideTheme: IdeTheme(backgroundColor: Colors.orange),
-        theme: ThemeData(
-          useMaterial3: true,
-          colorScheme: lightColorScheme,
-        ),
+        theme: ThemeData(useMaterial3: true, colorScheme: lightColorScheme),
       );
       expect(theme.brightness, equals(Brightness.light));
-      expect(
-        theme.scaffoldBackgroundColor,
-        equals(lightColorScheme.surface),
-      );
+      expect(theme.scaffoldBackgroundColor, equals(lightColorScheme.surface));
 
       theme = themeFor(
         isDarkTheme: true, // Will not be overridden - not light enough
         ideTheme: IdeTheme(backgroundColor: Colors.orange),
-        theme: ThemeData(
-          useMaterial3: true,
-          colorScheme: darkColorScheme,
-        ),
+        theme: ThemeData(useMaterial3: true, colorScheme: darkColorScheme),
       );
       expect(theme.brightness, equals(Brightness.dark));
-      expect(
-        theme.scaffoldBackgroundColor,
-        equals(darkColorScheme.surface),
-      );
+      expect(theme.scaffoldBackgroundColor, equals(darkColorScheme.surface));
     });
   });
 
diff --git a/packages/devtools_app_shared/test/utils/utils_test.dart b/packages/devtools_app_shared/test/utils/utils_test.dart
index 2568984..f342052 100644
--- a/packages/devtools_app_shared/test/utils/utils_test.dart
+++ b/packages/devtools_app_shared/test/utils/utils_test.dart
@@ -46,17 +46,11 @@
     test('parses 8 digit hex colors', () {
       expect(parseCssHexColor('#000000ff'), equals(Colors.black));
       expect(parseCssHexColor('000000ff'), equals(Colors.black));
-      expect(
-        parseCssHexColor('#00000000'),
-        equals(Colors.black.withAlpha(0)),
-      );
+      expect(parseCssHexColor('#00000000'), equals(Colors.black.withAlpha(0)));
       expect(parseCssHexColor('00000000'), equals(Colors.black.withAlpha(0)));
       expect(parseCssHexColor('#ffffffff'), equals(Colors.white));
       expect(parseCssHexColor('ffffffff'), equals(Colors.white));
-      expect(
-        parseCssHexColor('#ffffff00'),
-        equals(Colors.white.withAlpha(0)),
-      );
+      expect(parseCssHexColor('#ffffff00'), equals(Colors.white.withAlpha(0)));
       expect(parseCssHexColor('ffffff00'), equals(Colors.white.withAlpha(0)));
       expect(
         parseCssHexColor('#ff0000bb'),
diff --git a/packages/devtools_extensions/bin/_build_and_copy.dart b/packages/devtools_extensions/bin/_build_and_copy.dart
index a3d2ee6..5fa0a58 100644
--- a/packages/devtools_extensions/bin/_build_and_copy.dart
+++ b/packages/devtools_extensions/bin/_build_and_copy.dart
@@ -21,14 +21,16 @@
     argParser
       ..addOption(
         _sourceKey,
-        help: 'The source location for the extension flutter web app (can  be '
+        help:
+            'The source location for the extension flutter web app (can  be '
             'relative or absolute)',
         valueHelp: 'path/to/foo/packages/foo_devtools_extension',
         mandatory: true,
       )
       ..addOption(
         _destinationKey,
-        help: 'The destination location for the extension build output (can be '
+        help:
+            'The destination location for the extension build output (can be '
             'relative or absolute)',
         valueHelp: 'path/to/foo/packages/foo/extension/devtools',
         mandatory: true,
@@ -71,17 +73,12 @@
     // `chmod` or if we even need to perform `chmod` for linux / mac anymore.
     if (!Platform.isWindows) {
       _log('Setting canvaskit permissions...');
-      await _runProcess(
-        processManager,
-        'chmod',
-        [
-          '0755',
-          // Note: using a wildcard `canvaskit.*` throws.
-          'build/web/canvaskit/canvaskit.js',
-          'build/web/canvaskit/canvaskit.wasm',
-        ],
-        workingDirectory: source,
-      );
+      await _runProcess(processManager, 'chmod', [
+        '0755',
+        // Note: using a wildcard `canvaskit.*` throws.
+        'build/web/canvaskit/canvaskit.js',
+        'build/web/canvaskit/canvaskit.wasm',
+      ], workingDirectory: source);
     }
 
     _log('Copying built output to the extension destination...');
@@ -102,10 +99,7 @@
     }
     Directory(destinationBuildPath).createSync(recursive: true);
 
-    await copyPath(
-      sourceBuildPath,
-      destinationBuildPath,
-    );
+    await copyPath(sourceBuildPath, destinationBuildPath);
 
     _log(
       'Successfully copied extension assets from '
diff --git a/packages/devtools_extensions/bin/_validate.dart b/packages/devtools_extensions/bin/_validate.dart
index 89cda33..a0542f3 100644
--- a/packages/devtools_extensions/bin/_validate.dart
+++ b/packages/devtools_extensions/bin/_validate.dart
@@ -49,17 +49,15 @@
 
       // Try to parse the config.yaml file. This will throw an exception if there
       // are parsing errors.
-      DevToolsExtensionConfig.parse(
-        {
-          ..._configAsMap(packagePath),
-          // These are generated on the DevTools server, so pass in stubbed
-          // values for the sake of validation.
-          DevToolsExtensionConfig.extensionAssetsPathKey: '',
-          DevToolsExtensionConfig.devtoolsOptionsUriKey: '',
-          DevToolsExtensionConfig.isPubliclyHostedKey: 'false',
-          DevToolsExtensionConfig.detectedFromStaticContextKey: 'false',
-        },
-      );
+      DevToolsExtensionConfig.parse({
+        ..._configAsMap(packagePath),
+        // These are generated on the DevTools server, so pass in stubbed
+        // values for the sake of validation.
+        DevToolsExtensionConfig.extensionAssetsPathKey: '',
+        DevToolsExtensionConfig.devtoolsOptionsUriKey: '',
+        DevToolsExtensionConfig.isPubliclyHostedKey: 'false',
+        DevToolsExtensionConfig.detectedFromStaticContextKey: 'false',
+      });
 
       // If there are no exceptions at this point, the extension has successfully
       // been validated.
@@ -84,40 +82,32 @@
     path.join(packageDirectory.path, 'extension', 'devtools'),
   );
   if (!devtoolsExtensionDir.existsSync()) {
-    throw const FileSystemException(
-      '''
+    throw const FileSystemException('''
 An extension/devtools directory is required, but none was found.
 See ${ValidateExtensionCommand.docUrl}.
-''',
-    );
+''');
   }
 
   final buildDir = Directory(path.join(devtoolsExtensionDir.path, 'build'));
   if (!buildDir.existsSync()) {
-    throw const FileSystemException(
-      '''
+    throw const FileSystemException('''
 An extension/devtools/build directory is required, but none was found.
 See ${ValidateExtensionCommand.docUrl}.
-''',
-    );
+''');
   }
   if (buildDir.listSync().isEmpty) {
-    throw const FileSystemException(
-      '''
+    throw const FileSystemException('''
 A non-empty extension/devtools/build directory is required, but the directory is empty.
 See ${ValidateExtensionCommand.docUrl}.
-''',
-    );
+''');
   }
 
   final configFile = _lookupConfigFile(packagePath);
   if (!configFile.existsSync()) {
-    throw const FileSystemException(
-      '''
+    throw const FileSystemException('''
 An extension/devtools/config.yaml file is required, but none was found.
 See ${ValidateExtensionCommand.docUrl}.
-''',
-    );
+''');
   }
 }
 
@@ -130,9 +120,7 @@
 }
 
 File _lookupConfigFile(String packagePath) {
-  return File(
-    path.join(packagePath, 'extension', 'devtools', 'config.yaml'),
-  );
+  return File(path.join(packagePath, 'extension', 'devtools', 'config.yaml'));
 }
 
 void _logError(String error) {
diff --git a/packages/devtools_extensions/integration_test/test/simulated_environment_test.dart b/packages/devtools_extensions/integration_test/test/simulated_environment_test.dart
index 8816ee2..4e155ca 100644
--- a/packages/devtools_extensions/integration_test/test/simulated_environment_test.dart
+++ b/packages/devtools_extensions/integration_test/test/simulated_environment_test.dart
@@ -21,9 +21,7 @@
   IntegrationTestWidgetsFlutterBinding.ensureInitialized();
 
   testWidgets('end to end simulated environment', (tester) async {
-    runApp(
-      const DevToolsExtension(child: TestDevToolsExtension()),
-    );
+    runApp(const DevToolsExtension(child: TestDevToolsExtension()));
     await tester.pump(safePumpDuration);
     expect(find.byType(DevToolsExtension), findsOneWidget);
     expect(find.byType(TestDevToolsExtension), findsOneWidget);
@@ -86,24 +84,22 @@
 
   // Register a handler and verify it was called.
   int eventHandlerCalledCount = 0;
-  extensionManager.registerEventHandler(
-    DevToolsExtensionEventType.ping,
-    (event) {
-      eventHandlerCalledCount++;
-    },
-  );
+  extensionManager.registerEventHandler(DevToolsExtensionEventType.ping, (
+    event,
+  ) {
+    eventHandlerCalledCount++;
+  });
   await tester.tap(pingButtonFinder);
   await tester.pumpAndSettle();
   expect(eventHandlerCalledCount, 1);
 
   // Register a different handler and verify it has replaced the original.
   int secondEventHandlerCalledCount = 0;
-  extensionManager.registerEventHandler(
-    DevToolsExtensionEventType.ping,
-    (event) {
-      secondEventHandlerCalledCount++;
-    },
-  );
+  extensionManager.registerEventHandler(DevToolsExtensionEventType.ping, (
+    event,
+  ) {
+    secondEventHandlerCalledCount++;
+  });
   await tester.tap(pingButtonFinder);
   await tester.pumpAndSettle();
 
@@ -205,8 +201,9 @@
     matching: find.byType(SizedBox),
   );
 
-  final environmentPanelSizedBoxWidth =
-      tester.firstWidget<SizedBox>(environmentPanelSizedBox).width!;
+  final environmentPanelSizedBoxWidth = tester
+      .firstWidget<SizedBox>(environmentPanelSizedBox)
+      .width!;
 
   // Check that the [environmentPanelSizedBoxWidth] is the expected width.
   expect(
@@ -215,17 +212,12 @@
   );
 
   // Drag the divider to the right by [environmentPanelSizedBoxWidth].
-  await tester.drag(
-    divider,
-    Offset(
-      environmentPanelSizedBoxWidth,
-      0,
-    ),
-  );
+  await tester.drag(divider, Offset(environmentPanelSizedBoxWidth, 0));
   await tester.pumpAndSettle();
 
-  final simulatedDevToolsWrapperRect =
-      tester.getRect(find.byType(SimulatedDevToolsWrapper));
+  final simulatedDevToolsWrapperRect = tester.getRect(
+    find.byType(SimulatedDevToolsWrapper),
+  );
   final environmentPanelRect = tester.getRect(find.byWidget(environmentPanel));
 
   // Verify that the environment panel is off screen to the right of the
@@ -238,13 +230,7 @@
   // Drag the divider to the left by [environmentPanelSizedBoxWidth].
   //
   // This is to bring the 'Clear logs' button into view so it can be tapped.
-  await tester.drag(
-    divider,
-    Offset(
-      -environmentPanelSizedBoxWidth,
-      0,
-    ),
-  );
+  await tester.drag(divider, Offset(-environmentPanelSizedBoxWidth, 0));
   await tester.pumpAndSettle();
   await _clearLogs(tester, simController);
 }
@@ -276,9 +262,7 @@
       ),
       body: const Column(
         mainAxisSize: MainAxisSize.min,
-        children: [
-          CallingDevToolsExtensionsAPIsExample(),
-        ],
+        children: [CallingDevToolsExtensionsAPIsExample()],
       ),
     );
   }
diff --git a/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/_simulated_devtools_controller.dart b/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/_simulated_devtools_controller.dart
index 024550e..e1f2099 100644
--- a/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/_simulated_devtools_controller.dart
+++ b/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/_simulated_devtools_controller.dart
@@ -93,10 +93,7 @@
     void Function()? onUnknownEvent,
   }) {
     messageLogs.add(
-      MessageLogEntry(
-        source: MessageSource.extension,
-        data: event.toJson(),
-      ),
+      MessageLogEntry(source: MessageSource.extension, data: event.toJson()),
     );
   }
 
@@ -110,10 +107,7 @@
       window.origin.toJS,
     );
     messageLogs.add(
-      MessageLogEntry(
-        source: MessageSource.devtools,
-        data: eventJson,
-      ),
+      MessageLogEntry(source: MessageSource.devtools, data: eventJson),
     );
   }
 
@@ -153,7 +147,7 @@
 @visibleForTesting
 class MessageLogEntry {
   MessageLogEntry({required this.source, this.data, this.message})
-      : timestamp = DateTime.now();
+    : timestamp = DateTime.now();
 
   final MessageSource source;
   final Map<String, Object?>? data;
diff --git a/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/_simulated_devtools_environment.dart b/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/_simulated_devtools_environment.dart
index 1305aab..f674c25 100644
--- a/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/_simulated_devtools_environment.dart
+++ b/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/_simulated_devtools_environment.dart
@@ -193,10 +193,7 @@
         children: [
           Row(
             children: [
-              DevToolsButton(
-                label: 'PING',
-                onPressed: simController.ping,
-              ),
+              DevToolsButton(label: 'PING', onPressed: simController.ping),
               const SizedBox(width: denseSpacing),
               DevToolsButton(
                 label: 'TOGGLE THEME',
@@ -245,10 +242,7 @@
         Row(
           mainAxisAlignment: MainAxisAlignment.spaceBetween,
           children: [
-            Text(
-              'Logs:',
-              style: Theme.of(context).textTheme.titleMedium,
-            ),
+            Text('Logs:', style: Theme.of(context).textTheme.titleMedium),
             DevToolsButton.iconOnly(
               icon: Icons.clear,
               outlined: false,
@@ -258,11 +252,7 @@
           ],
         ),
         const PaddedDivider.thin(),
-        Expanded(
-          child: _LogMessages(
-            simController: simController,
-          ),
-        ),
+        Expanded(child: _LogMessages(simController: simController)),
       ],
     );
   }
@@ -333,10 +323,7 @@
             style: Theme.of(context).fixedFontStyle,
           ),
           if (log.message != null) Text(log.message!),
-          if (log.data != null)
-            FormattedJson(
-              json: log.data,
-            ),
+          if (log.data != null) FormattedJson(json: log.data),
         ],
       ),
     );
diff --git a/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_connect.dart b/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_connect.dart
index 2439d9d..8d5028b 100644
--- a/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_connect.dart
+++ b/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_connect.dart
@@ -77,19 +77,11 @@
         Column(
           crossAxisAlignment: CrossAxisAlignment.start,
           children: [
-            Text(
-              label,
-              style: theme.regularTextStyle,
-            ),
-            Text(
-              currentConnection(),
-              style: theme.boldTextStyle,
-            ),
+            Text(label, style: theme.regularTextStyle),
+            Text(currentConnection(), style: theme.boldTextStyle),
           ],
         ),
-        const Expanded(
-          child: SizedBox(width: denseSpacing),
-        ),
+        const Expanded(child: SizedBox(width: denseSpacing)),
         DevToolsButton(
           elevated: true,
           label: 'Disconnect',
@@ -97,10 +89,7 @@
         ),
         if (help != null) ...[
           const SizedBox(width: denseSpacing),
-          _ConnectionHelpButton(
-            dialogTitle: '$label help',
-            child: help!,
-          ),
+          _ConnectionHelpButton(dialogTitle: '$label help', child: help!),
         ],
       ],
     );
@@ -189,10 +178,7 @@
 }
 
 class _ConnectionHelpButton extends StatelessWidget {
-  const _ConnectionHelpButton({
-    required this.dialogTitle,
-    required this.child,
-  });
+  const _ConnectionHelpButton({required this.dialogTitle, required this.child});
 
   final String dialogTitle;
 
@@ -209,10 +195,7 @@
         showDevToolsDialog(
           context: context,
           title: dialogTitle,
-          content: SizedBox(
-            width: helpContentWidth,
-            child: child,
-          ),
+          content: SizedBox(width: helpContentWidth, child: child),
         );
       },
     );
diff --git a/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_dtd_connect.dart b/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_dtd_connect.dart
index fc2e64b..439deb9 100644
--- a/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_dtd_connect.dart
+++ b/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_dtd_connect.dart
@@ -75,24 +75,20 @@
                   'If your DevTools extension interacts with the Dart Tooling '
                   'Daemon (DTD) through ',
               children: [
-                TextSpan(
-                  text: 'dtdManager',
-                  style: theme.boldTextStyle,
-                ),
+                TextSpan(text: 'dtdManager', style: theme.boldTextStyle),
                 const TextSpan(
-                  text: ', then you will need to connect to a local instance '
+                  text:
+                      ', then you will need to connect to a local instance '
                       'of DTD to debug these features in the simulated '
                       'environment. There are multiple ways to access a local '
                       'instance of DTD:\n\n'
                       '1. If you are running a Dart or Flutter application '
                       'from command line, add the ',
                 ),
-                TextSpan(
-                  text: printDtdFlag,
-                  style: theme.boldTextStyle,
-                ),
+                TextSpan(text: printDtdFlag, style: theme.boldTextStyle),
                 const TextSpan(
-                  text: ' flag. This will output a Dart Tooling Daemon URI to '
+                  text:
+                      ' flag. This will output a Dart Tooling Daemon URI to '
                       'the command line that you can copy.',
                 ),
               ],
@@ -119,7 +115,8 @@
           RichText(
             text: TextSpan(
               style: theme.regularTextStyle,
-              text: '2. If you have a Dart or Flutter project open in your IDE '
+              text:
+                  '2. If you have a Dart or Flutter project open in your IDE '
                   '(VS Code, IntelliJ, or Android Studio), the IDE will have '
                   'a running instance of DTD that you can use. Use the '
                   'IDE\'s affordance to find an action (Command Pallette '
@@ -131,7 +128,8 @@
                   style: theme.boldTextStyle,
                 ),
                 const TextSpan(
-                  text: ' action.\n\n'
+                  text:
+                      ' action.\n\n'
                       'Now, you should have a DTD URI in your clipboard. Paste '
                       'this into the "Dart Tooling Daemon Connection" text '
                       'field to connect.',
diff --git a/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_vm_service_connect.dart b/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_vm_service_connect.dart
index e1fc42a..441149f 100644
--- a/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_vm_service_connect.dart
+++ b/packages/devtools_extensions/lib/src/template/_simulated_devtools_environment/connection_ui/_vm_service_connect.dart
@@ -55,14 +55,12 @@
           RichText(
             text: TextSpan(
               style: theme.regularTextStyle,
-              text: '1. Run a Dart or Flutter application. If you also need to '
+              text:
+                  '1. Run a Dart or Flutter application. If you also need to '
                   'connect your extension to the Dart Tooling Daemon, run your '
                   'app with the ',
               children: [
-                TextSpan(
-                  text: '--print-dtd',
-                  style: theme.boldTextStyle,
-                ),
+                TextSpan(text: '--print-dtd', style: theme.boldTextStyle),
                 const TextSpan(text: ' flag.'),
               ],
             ),
@@ -74,12 +72,14 @@
               text: '2. This will output text to the command line:',
               children: [
                 TextSpan(
-                  text: ' "A Dart VM Service is available at: '
+                  text:
+                      ' "A Dart VM Service is available at: '
                       'http://127.0.0.1:53985/6RVz1q0e9ok=". ',
                   style: theme.boldTextStyle,
                 ),
                 const TextSpan(
-                  text: 'Copy the VM Service URI and paste it into the "Dart '
+                  text:
+                      'Copy the VM Service URI and paste it into the "Dart '
                       'VM Service Connection" text field to connect.',
                 ),
               ],
diff --git a/packages/devtools_extensions/lib/src/template/devtools_extension.dart b/packages/devtools_extensions/lib/src/template/devtools_extension.dart
index 61c922c..5c9e43b 100644
--- a/packages/devtools_extensions/lib/src/template/devtools_extension.dart
+++ b/packages/devtools_extensions/lib/src/template/devtools_extension.dart
@@ -37,8 +37,9 @@
 ///   "args": [
 ///     "--dart-define=use_simulated_environment=true"
 ///   ]
-const _simulatedEnvironmentEnabled =
-    bool.fromEnvironment('use_simulated_environment');
+const _simulatedEnvironmentEnabled = bool.fromEnvironment(
+  'use_simulated_environment',
+);
 
 bool get _useSimulatedEnvironment =>
     !kReleaseMode && _simulatedEnvironmentEnabled;
diff --git a/packages/devtools_extensions/lib/src/template/extension_manager.dart b/packages/devtools_extensions/lib/src/template/extension_manager.dart
index 07012e4..48bcaeb 100644
--- a/packages/devtools_extensions/lib/src/template/extension_manager.dart
+++ b/packages/devtools_extensions/lib/src/template/extension_manager.dart
@@ -66,9 +66,7 @@
       // respond with a [DevToolsPluginEventType.connectedVmService] event
       // containing the currently connected app's vm service URI.
       postMessageToDevTools(
-        DevToolsExtensionEvent(
-          DevToolsExtensionEventType.vmServiceConnection,
-        ),
+        DevToolsExtensionEvent(DevToolsExtensionEventType.vmServiceConnection),
       );
     } else {
       unawaited(_connectToVmService(vmServiceUri));
@@ -97,8 +95,9 @@
 
     // Ignore events that are not supported for the DevTools => Extension
     // direction.
-    if (!extensionEvent.type
-        .supportedForDirection(ExtensionEventDirection.toExtension)) {
+    if (!extensionEvent.type.supportedForDirection(
+      ExtensionEventDirection.toExtension,
+    )) {
       return;
     }
 
@@ -110,8 +109,10 @@
         );
         break;
       case DevToolsExtensionEventType.vmServiceConnection:
-        final vmServiceUri = extensionEvent
-            .data?[ExtensionEventParameters.vmServiceConnectionUri] as String?;
+        final vmServiceUri =
+            extensionEvent.data?[ExtensionEventParameters
+                    .vmServiceConnectionUri]
+                as String?;
         unawaited(_connectToVmService(vmServiceUri));
         break;
       case DevToolsExtensionEventType.themeUpdate:
@@ -206,10 +207,7 @@
 
     try {
       await dtdManager.connect(Uri.parse(dtdUri));
-      updateQueryParameter(
-        _dtdQueryParameter,
-        dtdManager.uri.toString(),
-      );
+      updateQueryParameter(_dtdQueryParameter, dtdManager.uri.toString());
     } catch (e) {
       final errorMessage =
           'Unable to connect extension to the Dart Tooling Daemon at $dtdUri: $e';
@@ -219,7 +217,8 @@
   }
 
   void _setThemeForValue(String? themeValue) {
-    final useDarkTheme = (themeValue == null && useDarkThemeAsDefault) ||
+    final useDarkTheme =
+        (themeValue == null && useDarkThemeAsDefault) ||
         themeValue == ExtensionEventParameters.themeValueDark;
     darkThemeEnabled.value = useDarkTheme;
     // Use a post frame callback so that we do not try to update this while a
@@ -244,9 +243,7 @@
   ///
   /// See also [ShowNotificationExtensionEvent].
   void showNotification(String message) {
-    postMessageToDevTools(
-      ShowNotificationExtensionEvent(message: message),
-    );
+    postMessageToDevTools(ShowNotificationExtensionEvent(message: message));
   }
 
   /// Show a banner message in DevTools.
diff --git a/packages/devtools_extensions/test/api_test.dart b/packages/devtools_extensions/test/api_test.dart
index f2b162d..acf8d79 100644
--- a/packages/devtools_extensions/test/api_test.dart
+++ b/packages/devtools_extensions/test/api_test.dart
@@ -22,9 +22,7 @@
       expect(event.type, DevToolsExtensionEventType.pong);
       expect(event.data, {'baz': 'bob'});
 
-      event = DevToolsExtensionEvent.parse({
-        'type': 'idk',
-      });
+      event = DevToolsExtensionEvent.parse({'type': 'idk'});
       expect(event.type, DevToolsExtensionEventType.unknown);
       expect(event.data, isNull);
     });
@@ -124,42 +122,51 @@
     });
 
     test('supportedForDirection', () {
-      verifyEventDirection(
-        DevToolsExtensionEventType.ping,
-        (bidirectional: false, toDevTools: false, toExtension: true),
-      );
-      verifyEventDirection(
-        DevToolsExtensionEventType.pong,
-        (bidirectional: false, toDevTools: true, toExtension: false),
-      );
-      verifyEventDirection(
-        DevToolsExtensionEventType.forceReload,
-        (bidirectional: false, toDevTools: false, toExtension: true),
-      );
-      verifyEventDirection(
-        DevToolsExtensionEventType.vmServiceConnection,
-        (bidirectional: true, toDevTools: true, toExtension: true),
-      );
-      verifyEventDirection(
-        DevToolsExtensionEventType.themeUpdate,
-        (bidirectional: false, toDevTools: false, toExtension: true),
-      );
-      verifyEventDirection(
-        DevToolsExtensionEventType.showNotification,
-        (bidirectional: false, toDevTools: true, toExtension: false),
-      );
-      verifyEventDirection(
-        DevToolsExtensionEventType.showBannerMessage,
-        (bidirectional: false, toDevTools: true, toExtension: false),
-      );
-      verifyEventDirection(
-        DevToolsExtensionEventType.copyToClipboard,
-        (bidirectional: false, toDevTools: true, toExtension: false),
-      );
-      verifyEventDirection(
-        DevToolsExtensionEventType.unknown,
-        (bidirectional: true, toDevTools: true, toExtension: true),
-      );
+      verifyEventDirection(DevToolsExtensionEventType.ping, (
+        bidirectional: false,
+        toDevTools: false,
+        toExtension: true,
+      ));
+      verifyEventDirection(DevToolsExtensionEventType.pong, (
+        bidirectional: false,
+        toDevTools: true,
+        toExtension: false,
+      ));
+      verifyEventDirection(DevToolsExtensionEventType.forceReload, (
+        bidirectional: false,
+        toDevTools: false,
+        toExtension: true,
+      ));
+      verifyEventDirection(DevToolsExtensionEventType.vmServiceConnection, (
+        bidirectional: true,
+        toDevTools: true,
+        toExtension: true,
+      ));
+      verifyEventDirection(DevToolsExtensionEventType.themeUpdate, (
+        bidirectional: false,
+        toDevTools: false,
+        toExtension: true,
+      ));
+      verifyEventDirection(DevToolsExtensionEventType.showNotification, (
+        bidirectional: false,
+        toDevTools: true,
+        toExtension: false,
+      ));
+      verifyEventDirection(DevToolsExtensionEventType.showBannerMessage, (
+        bidirectional: false,
+        toDevTools: true,
+        toExtension: false,
+      ));
+      verifyEventDirection(DevToolsExtensionEventType.copyToClipboard, (
+        bidirectional: false,
+        toDevTools: true,
+        toExtension: false,
+      ));
+      verifyEventDirection(DevToolsExtensionEventType.unknown, (
+        bidirectional: true,
+        toDevTools: true,
+        toExtension: true,
+      ));
     });
   });
 
@@ -167,9 +174,7 @@
     test('constructs for expected values', () {
       final event = DevToolsExtensionEvent.parse({
         'type': 'showNotification',
-        'data': {
-          'message': 'foo message',
-        },
+        'data': {'message': 'foo message'},
       });
       final showNotificationEvent = ShowNotificationExtensionEvent.from(event);
       expect(showNotificationEvent.message, 'foo message');
@@ -181,12 +186,9 @@
           // Missing required fields.
         },
       });
-      expect(
-        () {
-          ShowNotificationExtensionEvent.from(event1);
-        },
-        throwsFormatException,
-      );
+      expect(() {
+        ShowNotificationExtensionEvent.from(event1);
+      }, throwsFormatException);
 
       final event2 = DevToolsExtensionEvent.parse({
         'type': 'showNotification',
@@ -195,12 +197,9 @@
           'msg': 'foo message',
         },
       });
-      expect(
-        () {
-          ShowNotificationExtensionEvent.from(event2);
-        },
-        throwsFormatException,
-      );
+      expect(() {
+        ShowNotificationExtensionEvent.from(event2);
+      }, throwsFormatException);
 
       final event3 = DevToolsExtensionEvent.parse({
         'type': 'showNotification',
@@ -209,26 +208,18 @@
           'message': false,
         },
       });
-      expect(
-        () {
-          ShowNotificationExtensionEvent.from(event3);
-        },
-        throwsFormatException,
-      );
+      expect(() {
+        ShowNotificationExtensionEvent.from(event3);
+      }, throwsFormatException);
 
       final event4 = DevToolsExtensionEvent.parse({
         // Wrong type.
         'type': 'showBannerMessage',
-        'data': {
-          'message': 'foo message',
-        },
+        'data': {'message': 'foo message'},
       });
-      expect(
-        () {
-          ShowNotificationExtensionEvent.from(event4);
-        },
-        throwsAssertionError,
-      );
+      expect(() {
+        ShowNotificationExtensionEvent.from(event4);
+      }, throwsAssertionError);
     });
   });
 
@@ -277,12 +268,9 @@
           'extensionName': 'foo',
         },
       });
-      expect(
-        () {
-          ShowBannerMessageExtensionEvent.from(event1);
-        },
-        throwsFormatException,
-      );
+      expect(() {
+        ShowBannerMessageExtensionEvent.from(event1);
+      }, throwsFormatException);
 
       final event2 = DevToolsExtensionEvent.parse({
         'type': 'showBannerMessage',
@@ -294,12 +282,9 @@
           'extension_name': 'foo',
         },
       });
-      expect(
-        () {
-          ShowBannerMessageExtensionEvent.from(event2);
-        },
-        throwsFormatException,
-      );
+      expect(() {
+        ShowBannerMessageExtensionEvent.from(event2);
+      }, throwsFormatException);
 
       final event3 = DevToolsExtensionEvent.parse({
         'type': 'showBannerMessage',
@@ -311,12 +296,9 @@
           'extensionName': 'foo',
         },
       });
-      expect(
-        () {
-          ShowBannerMessageExtensionEvent.from(event3);
-        },
-        throwsFormatException,
-      );
+      expect(() {
+        ShowBannerMessageExtensionEvent.from(event3);
+      }, throwsFormatException);
 
       final event4 = DevToolsExtensionEvent.parse({
         // Wrong type.
@@ -328,12 +310,9 @@
           'extensionName': 'foo',
         },
       });
-      expect(
-        () {
-          ShowBannerMessageExtensionEvent.from(event4);
-        },
-        throwsAssertionError,
-      );
+      expect(() {
+        ShowBannerMessageExtensionEvent.from(event4);
+      }, throwsAssertionError);
     });
   });
 
@@ -341,10 +320,7 @@
     test('constructs for expected values', () {
       final event = DevToolsExtensionEvent.parse({
         'type': 'copyToClipboard',
-        'data': {
-          'content': 'foo content',
-          'successMessage': 'foo success',
-        },
+        'data': {'content': 'foo content', 'successMessage': 'foo success'},
       });
       final copyToClipboardEvent = CopyToClipboardExtensionEvent.from(event);
       expect(copyToClipboardEvent.content, 'foo content');
@@ -357,12 +333,9 @@
           // Missing required fields.
         },
       });
-      expect(
-        () {
-          CopyToClipboardExtensionEvent.from(event1);
-        },
-        throwsFormatException,
-      );
+      expect(() {
+        CopyToClipboardExtensionEvent.from(event1);
+      }, throwsFormatException);
 
       final event2 = DevToolsExtensionEvent.parse({
         'type': 'copyToClipboard',
@@ -372,12 +345,9 @@
           'successMessage': 'foo success',
         },
       });
-      expect(
-        () {
-          CopyToClipboardExtensionEvent.from(event2);
-        },
-        throwsFormatException,
-      );
+      expect(() {
+        CopyToClipboardExtensionEvent.from(event2);
+      }, throwsFormatException);
 
       final event3 = DevToolsExtensionEvent.parse({
         'type': 'copyToClipboard',
@@ -387,27 +357,18 @@
           'successMessage': 'foo success',
         },
       });
-      expect(
-        () {
-          CopyToClipboardExtensionEvent.from(event3);
-        },
-        throwsFormatException,
-      );
+      expect(() {
+        CopyToClipboardExtensionEvent.from(event3);
+      }, throwsFormatException);
 
       final event4 = DevToolsExtensionEvent.parse({
         // Wrong type.
         'type': 'showBannerMessage',
-        'data': {
-          'content': 'foo content',
-          'successMessage': 'foo success',
-        },
+        'data': {'content': 'foo content', 'successMessage': 'foo success'},
       });
-      expect(
-        () {
-          CopyToClipboardExtensionEvent.from(event4);
-        },
-        throwsAssertionError,
-      );
+      expect(() {
+        CopyToClipboardExtensionEvent.from(event4);
+      }, throwsAssertionError);
     });
   });
 }
diff --git a/packages/devtools_extensions/test/validate_test.dart b/packages/devtools_extensions/test/validate_test.dart
index ec94dd1..8efcb5e 100644
--- a/packages/devtools_extensions/test/validate_test.dart
+++ b/packages/devtools_extensions/test/validate_test.dart
@@ -10,10 +10,7 @@
 void main() {
   final examplesWithExtensions = [
     (
-      relativePublishLocation: p.join(
-        '..',
-        'dart_foo',
-      ),
+      relativePublishLocation: p.join('..', 'dart_foo'),
       sourceCodeLocation: p.join(
         'example',
         'packages_with_extensions',
@@ -23,10 +20,7 @@
       ),
     ),
     (
-      relativePublishLocation: p.join(
-        '..',
-        'foo',
-      ),
+      relativePublishLocation: p.join('..', 'foo'),
       sourceCodeLocation: p.join(
         'example',
         'packages_with_extensions',
@@ -48,17 +42,13 @@
   group('devtools_extensions validate command succeeds', () {
     for (final example in examplesWithExtensions) {
       test(example.relativePublishLocation, () async {
-        final p = await Process.run(
-          'dart',
-          [
-            'run',
-            'devtools_extensions',
-            'validate',
-            '-p',
-            example.relativePublishLocation,
-          ],
-          workingDirectory: example.sourceCodeLocation,
-        );
+        final p = await Process.run('dart', [
+          'run',
+          'devtools_extensions',
+          'validate',
+          '-p',
+          example.relativePublishLocation,
+        ], workingDirectory: example.sourceCodeLocation);
         expect(p.stderr, isEmpty);
       });
     }
diff --git a/packages/devtools_extensions/test/web/devtools_extension_test.dart b/packages/devtools_extensions/test/web/devtools_extension_test.dart
index 03fd446..15a4eda 100644
--- a/packages/devtools_extensions/test/web/devtools_extension_test.dart
+++ b/packages/devtools_extensions/test/web/devtools_extension_test.dart
@@ -17,14 +17,13 @@
       expect(() => dtdManager, throwsStateError);
     });
 
-    testWidgets(
-      'building $DevToolsExtension initializes globals',
-      (tester) async {
-        await tester.pumpWidget(const DevToolsExtension(child: SizedBox()));
-        expect(serviceManager, isNotNull);
-        expect(extensionManager, isNotNull);
-        expect(dtdManager, isNotNull);
-      },
-    );
+    testWidgets('building $DevToolsExtension initializes globals', (
+      tester,
+    ) async {
+      await tester.pumpWidget(const DevToolsExtension(child: SizedBox()));
+      expect(serviceManager, isNotNull);
+      expect(extensionManager, isNotNull);
+      expect(dtdManager, isNotNull);
+    });
   });
 }
diff --git a/packages/devtools_shared/lib/src/common.dart b/packages/devtools_shared/lib/src/common.dart
index bd99c66..fc08b32 100644
--- a/packages/devtools_shared/lib/src/common.dart
+++ b/packages/devtools_shared/lib/src/common.dart
@@ -8,11 +8,8 @@
 
 /// Information about a Dart Tooling Daemon instance.
 class DtdInfo {
-  DtdInfo(
-    this.localUri, {
-    Uri? exposedUri,
-    this.secret,
-  }) : exposedUri = exposedUri ?? localUri;
+  DtdInfo(this.localUri, {Uri? exposedUri, this.secret})
+    : exposedUri = exposedUri ?? localUri;
 
   /// The URI for connecting to DTD from the backend.
   ///
diff --git a/packages/devtools_shared/lib/src/deeplink/app_link_settings.dart b/packages/devtools_shared/lib/src/deeplink/app_link_settings.dart
index 87a62e1..9d9d21f 100644
--- a/packages/devtools_shared/lib/src/deeplink/app_link_settings.dart
+++ b/packages/devtools_shared/lib/src/deeplink/app_link_settings.dart
@@ -39,22 +39,12 @@
   factory AppLinkSettings.fromErrorJson(String json) {
     final jsonObject = jsonDecode(json) as Map;
     final message = jsonObject[_kErrorKey]! as String;
-    return AppLinkSettings._(
-      '',
-      false,
-      <AndroidDeeplink>[],
-      message,
-    );
+    return AppLinkSettings._('', false, <AndroidDeeplink>[], message);
   }
 
   /// Used when the server can't retrieve app link settings.
   factory AppLinkSettings.error(String message) {
-    return AppLinkSettings._(
-      '',
-      false,
-      <AndroidDeeplink>[],
-      message,
-    );
+    return AppLinkSettings._('', false, <AndroidDeeplink>[], message);
   }
 
   static const _kApplicationIdKey = 'applicationId';
diff --git a/packages/devtools_shared/lib/src/deeplink/deeplink_manager.dart b/packages/devtools_shared/lib/src/deeplink/deeplink_manager.dart
index b395832..40aece3 100644
--- a/packages/devtools_shared/lib/src/deeplink/deeplink_manager.dart
+++ b/packages/devtools_shared/lib/src/deeplink/deeplink_manager.dart
@@ -75,11 +75,7 @@
       'DASH__TOOL': ide != null ? _mapIdeToDashToolLabel(ide) : 'devtools',
     };
 
-    return Process.run(
-      executable,
-      arguments,
-      environment: environment,
-    );
+    return Process.run(executable, arguments, environment: environment);
   }
 
   String _mapIdeToDashToolLabel(String ide) {
@@ -147,28 +143,22 @@
   Map<String, Object?> _handleRunFlutterError(
     covariant _FlutterProcessError error,
   ) {
-    return <String, String?>{
-      kErrorField: error.message,
-    };
+    return <String, String?>{kErrorField: error.message};
   }
 
   Future<Map<String, Object?>> _handleReadJsonFile(String filePath) {
-    return File(filePath)
-        .readAsString()
-        .then<Map<String, Object?>>(_handleJsonOutput);
+    return File(
+      filePath,
+    ).readAsString().then<Map<String, Object?>>(_handleJsonOutput);
   }
 
   Future<Map<String, Object?>> _handleJsonOutput(String jsonOutput) async {
     try {
       jsonEncode(jsonOutput);
     } on Error catch (e) {
-      return <String, String?>{
-        kErrorField: e.toString(),
-      };
+      return <String, String?>{kErrorField: e.toString()};
     }
-    return <String, String?>{
-      kOutputJsonField: jsonOutput,
-    };
+    return <String, String?>{kOutputJsonField: jsonOutput};
   }
 
   Future<Map<String, Object?>> getAndroidBuildVariants({
diff --git a/packages/devtools_shared/lib/src/deeplink/xcode_build_options.dart b/packages/devtools_shared/lib/src/deeplink/xcode_build_options.dart
index 1298652..2e3352f 100644
--- a/packages/devtools_shared/lib/src/deeplink/xcode_build_options.dart
+++ b/packages/devtools_shared/lib/src/deeplink/xcode_build_options.dart
@@ -10,8 +10,10 @@
       XcodeBuildOptions._(jsonDecode(json));
 
   /// Used when the the server can't retrieve ios build options.
-  static const empty =
-      XcodeBuildOptions._({_kConfigurationsKey: [], _kTargetsKey: []});
+  static const empty = XcodeBuildOptions._({
+    _kConfigurationsKey: [],
+    _kTargetsKey: [],
+  });
 
   static const _kConfigurationsKey = 'configurations';
   static const _kTargetsKey = 'targets';
diff --git a/packages/devtools_shared/lib/src/extensions/extension_enablement.dart b/packages/devtools_shared/lib/src/extensions/extension_enablement.dart
index 4d0abaa..d6a1267 100644
--- a/packages/devtools_shared/lib/src/extensions/extension_enablement.dart
+++ b/packages/devtools_shared/lib/src/extensions/extension_enablement.dart
@@ -16,7 +16,8 @@
   static const _extensionsKey = 'extensions';
   static const _descriptionKey = 'description';
   static const _documentationKey = 'documentation';
-  static const _defaultOptions = '''
+  static const _defaultOptions =
+      '''
 $_descriptionKey: This file stores settings for Dart & Flutter DevTools.
 $_documentationKey: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
 $_extensionsKey:
@@ -36,8 +37,8 @@
     final options = _optionsAsMap(optionsUri: devtoolsOptionsUri);
     if (options == null) return ExtensionEnabledState.error;
 
-    final extensions =
-        (options[_extensionsKey] as List?)?.cast<Map<String, Object?>>();
+    final extensions = (options[_extensionsKey] as List?)
+        ?.cast<Map<String, Object?>>();
     if (extensions == null) return ExtensionEnabledState.none;
 
     for (final e in extensions) {
@@ -65,8 +66,8 @@
     final options = _optionsAsMap(optionsUri: devtoolsOptionsUri);
     if (options == null) return ExtensionEnabledState.error;
 
-    var extensions =
-        (options[_extensionsKey] as List?)?.cast<Map<String, Object?>>();
+    var extensions = (options[_extensionsKey] as List?)
+        ?.cast<Map<String, Object?>>();
     if (extensions == null) {
       options[_extensionsKey] = <Map<String, Object?>>[];
       extensions = options[_extensionsKey] as List<Map<String, Object?>>;
@@ -111,10 +112,9 @@
   }) {
     final yamlEditor = YamlEditor('');
     yamlEditor.update([], options);
-    _lookupOptionsFile(optionsUri)?.writeAsStringSync(
-      yamlEditor.toString(),
-      flush: true,
-    );
+    _lookupOptionsFile(
+      optionsUri,
+    )?.writeAsStringSync(yamlEditor.toString(), flush: true);
   }
 
   /// Returns the `devtools_options.yaml` file at [optionsUri].
diff --git a/packages/devtools_shared/lib/src/extensions/extension_manager.dart b/packages/devtools_shared/lib/src/extensions/extension_manager.dart
index 7df4cee..92ad601 100644
--- a/packages/devtools_shared/lib/src/extensions/extension_manager.dart
+++ b/packages/devtools_shared/lib/src/extensions/extension_manager.dart
@@ -150,9 +150,10 @@
       final config = extension.config;
       // TODO(https://github.com/dart-lang/pub/issues/4042): make this check
       // more robust.
-      final isPubliclyHosted = (extension.rootUri.path.contains('pub.dev') ||
-              extension.rootUri.path.contains('pub.flutter-io.cn'))
-          .toString();
+      final isPubliclyHosted =
+          (extension.rootUri.path.contains('pub.dev') ||
+                  extension.rootUri.path.contains('pub.flutter-io.cn'))
+              .toString();
 
       // This should be relative to the 'extension/devtools/' directory and
       // defaults to 'build';
@@ -179,8 +180,8 @@
             devtoolsOptionsFileName,
           ),
           DevToolsExtensionConfig.isPubliclyHostedKey: isPubliclyHosted,
-          DevToolsExtensionConfig.detectedFromStaticContextKey:
-              staticContext.toString(),
+          DevToolsExtensionConfig.detectedFromStaticContextKey: staticContext
+              .toString(),
         });
         devtoolsExtensions.add(extensionConfig);
       } on StateError catch (e) {
diff --git a/packages/devtools_shared/lib/src/extensions/extension_model.dart b/packages/devtools_shared/lib/src/extensions/extension_model.dart
index e1630de..8d669e0 100644
--- a/packages/devtools_shared/lib/src/extensions/extension_model.dart
+++ b/packages/devtools_shared/lib/src/extensions/extension_model.dart
@@ -32,24 +32,23 @@
     final requiresConnection =
         requiresConnectionValue != false && requiresConnectionValue != 'false';
 
-    if (json
-        case {
-          // The exptected keys below are required fields in the extension's
-          // config.yaml file.
-          nameKey: final String name,
-          issueTrackerKey: final String issueTracker,
-          versionKey: final String version,
-          materialIconCodePointKey: final Object codePointFromJson,
-          // The expected keys below are not from the extension's config.yaml
-          // file; they are generated during the extension detection mechanism
-          // in the DevTools server.
-          extensionAssetsPathKey: final String extensionAssetsPath,
-          devtoolsOptionsUriKey: final String devtoolsOptionsUri,
-          isPubliclyHostedKey: final String isPubliclyHosted,
-          detectedFromStaticContextKey: final String detectedFromStaticContext,
-          // Note that the field [requiresConnectionKey] is not required for
-          // this check because it is optional.
-        }) {
+    if (json case {
+      // The exptected keys below are required fields in the extension's
+      // config.yaml file.
+      nameKey: final String name,
+      issueTrackerKey: final String issueTracker,
+      versionKey: final String version,
+      materialIconCodePointKey: final Object codePointFromJson,
+      // The expected keys below are not from the extension's config.yaml
+      // file; they are generated during the extension detection mechanism
+      // in the DevTools server.
+      extensionAssetsPathKey: final String extensionAssetsPath,
+      devtoolsOptionsUriKey: final String devtoolsOptionsUri,
+      isPubliclyHostedKey: final String isPubliclyHosted,
+      detectedFromStaticContextKey: final String detectedFromStaticContext,
+      // Note that the field [requiresConnectionKey] is not required for
+      // this check because it is optional.
+    }) {
       final underscoresAndLetters = RegExp(r'^[a-z0-9_]*$');
       if (!underscoresAndLetters.hasMatch(name)) {
         throw StateError(
@@ -88,13 +87,8 @@
     } else {
       _assertGeneratedKeysPresent(json);
       final jsonKeysFromConfigFile = Set.of(json.keys.toSet())
-        ..removeAll([
-          ..._serverGeneratedKeys,
-          ..._optionalKeys,
-        ]);
-      final diff = _requiredKeys.toSet().difference(
-            jsonKeysFromConfigFile,
-          );
+        ..removeAll([..._serverGeneratedKeys, ..._optionalKeys]);
+      final diff = _requiredKeys.toSet().difference(jsonKeysFromConfigFile);
       if (diff.isNotEmpty) {
         throw StateError(
           'Missing required fields ${diff.toString()} in the extension '
@@ -241,16 +235,16 @@
   String get analyticsSafeName => isPubliclyHosted ? name : 'private';
 
   Map<String, Object?> toJson() => {
-        nameKey: name,
-        issueTrackerKey: issueTrackerLink,
-        versionKey: version,
-        materialIconCodePointKey: materialIconCodePoint,
-        requiresConnectionKey: requiresConnection.toString(),
-        extensionAssetsPathKey: extensionAssetsPath,
-        devtoolsOptionsUriKey: devtoolsOptionsUri,
-        isPubliclyHostedKey: isPubliclyHosted.toString(),
-        detectedFromStaticContextKey: detectedFromStaticContext.toString(),
-      };
+    nameKey: name,
+    issueTrackerKey: issueTrackerLink,
+    versionKey: version,
+    materialIconCodePointKey: materialIconCodePoint,
+    requiresConnectionKey: requiresConnection.toString(),
+    extensionAssetsPathKey: extensionAssetsPath,
+    devtoolsOptionsUriKey: devtoolsOptionsUri,
+    isPubliclyHostedKey: isPubliclyHosted.toString(),
+    detectedFromStaticContextKey: detectedFromStaticContext.toString(),
+  };
 
   @override
   int compareTo(DevToolsExtensionConfig other) {
@@ -280,16 +274,16 @@
 
   @override
   int get hashCode => Object.hash(
-        name,
-        issueTrackerLink,
-        version,
-        materialIconCodePoint,
-        requiresConnection,
-        extensionAssetsPath,
-        devtoolsOptionsUri,
-        isPubliclyHosted,
-        detectedFromStaticContext,
-      );
+    name,
+    issueTrackerLink,
+    version,
+    materialIconCodePoint,
+    requiresConnection,
+    extensionAssetsPath,
+    devtoolsOptionsUri,
+    isPubliclyHosted,
+    detectedFromStaticContext,
+  );
 
   static void _assertGeneratedKeysPresent(Map<String, Object?> json) {
     final missingKeys = <String>[];
@@ -325,8 +319,9 @@
 
   /// Parses [value] and returns the matching [ExtensionEnabledState] if found.
   static ExtensionEnabledState from(String? value) {
-    return ExtensionEnabledState.values
-            .firstWhereOrNull((e) => e.name == value) ??
+    return ExtensionEnabledState.values.firstWhereOrNull(
+          (e) => e.name == value,
+        ) ??
         ExtensionEnabledState.none;
   }
 }
diff --git a/packages/devtools_shared/lib/src/memory/adb_memory_info.dart b/packages/devtools_shared/lib/src/memory/adb_memory_info.dart
index 3e65031..9487526 100644
--- a/packages/devtools_shared/lib/src/memory/adb_memory_info.dart
+++ b/packages/devtools_shared/lib/src/memory/adb_memory_info.dart
@@ -23,16 +23,16 @@
   /// then the data is in kilobytes. See the factory constructor
   /// [AdbMemoryInfo.fromJsonInKB].
   factory AdbMemoryInfo.fromJson(Map<String, Object?> json) => AdbMemoryInfo(
-        json[realTimeKey] as int,
-        json[javaHeapKey] as int,
-        json[nativeHeapKey] as int,
-        json[codeKey] as int,
-        json[stackKey] as int,
-        json[graphicsKey] as int,
-        json[otherKey] as int,
-        json[systemKey] as int,
-        json[totalKey] as int,
-      );
+    json[realTimeKey] as int,
+    json[javaHeapKey] as int,
+    json[nativeHeapKey] as int,
+    json[codeKey] as int,
+    json[stackKey] as int,
+    json[graphicsKey] as int,
+    json[otherKey] as int,
+    json[systemKey] as int,
+    json[totalKey] as int,
+  );
 
   /// Use when converting data received from the service extension,
   /// directly from ADB. All data received from ADB dumpsys meminfo is
@@ -85,16 +85,16 @@
 
   @override
   Map<String, dynamic> toJson() => <String, Object?>{
-        realTimeKey: realtime,
-        javaHeapKey: javaHeap,
-        nativeHeapKey: nativeHeap,
-        codeKey: code,
-        stackKey: stack,
-        graphicsKey: graphics,
-        otherKey: other,
-        systemKey: system,
-        totalKey: total,
-      };
+    realTimeKey: realtime,
+    javaHeapKey: javaHeap,
+    nativeHeapKey: nativeHeap,
+    codeKey: code,
+    stackKey: stack,
+    graphicsKey: graphics,
+    otherKey: other,
+    systemKey: system,
+    totalKey: total,
+  };
 
   /// Create an empty [AdbMemoryInfo], where all values are 0.
   static AdbMemoryInfo empty() => AdbMemoryInfo(0, 0, 0, 0, 0, 0, 0, 0, 0);
@@ -130,7 +130,8 @@
   Duration get bootDuration => Duration(milliseconds: realtime);
 
   @override
-  String toString() => '[AdbMemoryInfo '
+  String toString() =>
+      '[AdbMemoryInfo '
       '$realTimeKey: $realtime, '
       'realtimeDT: $realtimeDT, '
       'durationBoot: $bootDuration, '
diff --git a/packages/devtools_shared/lib/src/memory/class_heap_detail_stats.dart b/packages/devtools_shared/lib/src/memory/class_heap_detail_stats.dart
index 7e15120..6990959 100644
--- a/packages/devtools_shared/lib/src/memory/class_heap_detail_stats.dart
+++ b/packages/devtools_shared/lib/src/memory/class_heap_detail_stats.dart
@@ -13,11 +13,11 @@
     required int instances,
     int deltaInstances = 0,
     bool traceAllocations = false,
-  })  : bytesCurrent = bytes,
-        bytesDelta = deltaBytes,
-        instancesCurrent = instances,
-        instancesDelta = deltaInstances,
-        isStacktraced = traceAllocations;
+  }) : bytesCurrent = bytes,
+       bytesDelta = deltaBytes,
+       instancesCurrent = instances,
+       instancesDelta = deltaInstances,
+       isStacktraced = traceAllocations;
 
   factory ClassHeapDetailStats.fromJson(Map<String, Object?> json) {
     final {'id': classId, 'name': className} = json['class'] as Map;
@@ -33,16 +33,13 @@
   }
 
   Map<String, dynamic> toJson() => {
-        'class': {
-          'id': classRef.id,
-          'name': classRef.name,
-        },
-        'bytesCurrent': bytesCurrent,
-        'bytesDelta': bytesDelta,
-        'instancesCurrent': instancesCurrent,
-        'instancesDelta': instancesDelta,
-        'isStackedTraced': isStacktraced,
-      };
+    'class': {'id': classRef.id, 'name': classRef.name},
+    'bytesCurrent': bytesCurrent,
+    'bytesDelta': bytesDelta,
+    'instancesCurrent': instancesCurrent,
+    'instancesDelta': instancesDelta,
+    'isStackedTraced': isStacktraced,
+  };
 
   /// Version of [ClassHeapDetailStats] payload.
   static const version = 1;
@@ -60,6 +57,7 @@
   bool isStacktraced;
 
   @override
-  String toString() => '[ClassHeapDetailStats class: ${classRef.name}, '
+  String toString() =>
+      '[ClassHeapDetailStats class: ${classRef.name}, '
       'count: $instancesCurrent, bytes: $bytesCurrent]';
 }
diff --git a/packages/devtools_shared/lib/src/memory/event_sample.dart b/packages/devtools_shared/lib/src/memory/event_sample.dart
index 1234452..b51a12b 100644
--- a/packages/devtools_shared/lib/src/memory/event_sample.dart
+++ b/packages/devtools_shared/lib/src/memory/event_sample.dart
@@ -19,17 +19,17 @@
   AllocationAccumulator(this._start, this._continues, this._reset);
 
   AllocationAccumulator.start()
-      : _start = true,
-        _continues = false,
-        _reset = false;
+    : _start = true,
+      _continues = false,
+      _reset = false;
   AllocationAccumulator.continues()
-      : _start = false,
-        _continues = true,
-        _reset = false;
+    : _start = false,
+      _continues = true,
+      _reset = false;
   AllocationAccumulator.reset()
-      : _start = false,
-        _continues = false,
-        _reset = true;
+    : _start = false,
+      _continues = false,
+      _reset = true;
 
   factory AllocationAccumulator.fromJson(Map<String, Object?> json) =>
       AllocationAccumulator(
@@ -39,10 +39,10 @@
       );
 
   Map<String, dynamic> toJson() => <String, Object?>{
-        'start': _start,
-        'continues': _continues,
-        'reset': _reset,
-      };
+    'start': _start,
+    'continues': _continues,
+    'reset': _reset,
+  };
 
   static AllocationAccumulator empty() =>
       AllocationAccumulator(false, false, false);
@@ -64,13 +64,14 @@
   bool get isReset => _reset;
 
   @override
-  String toString() => '[AllocationAccumulator '
+  String toString() =>
+      '[AllocationAccumulator '
       '${const JsonEncoder.withIndent('  ').convert(toJson())}]';
 }
 
 class ExtensionEvent {
   ExtensionEvent(this.timestamp, this.eventKind, this.data)
-      : customEventName = null;
+    : customEventName = null;
 
   ExtensionEvent.custom(
     this.timestamp,
@@ -88,11 +89,11 @@
       );
 
   Map<String, dynamic> toJson() => <String, Object?>{
-        'timestamp': timestamp,
-        'eventKind': eventKind,
-        'data': data,
-        'customEventName': customEventName,
-      };
+    'timestamp': timestamp,
+    'eventKind': eventKind,
+    'data': data,
+    'customEventName': customEventName,
+  };
 
   static ExtensionEvent empty() =>
       ExtensionEvent.custom(null, null, null, null);
@@ -112,7 +113,8 @@
   final String? customEventName;
 
   @override
-  String toString() => '[ExtensionEvent '
+  String toString() =>
+      '[ExtensionEvent '
       '${const JsonEncoder.withIndent('  ').convert(toJson())}]';
 }
 
@@ -152,7 +154,8 @@
   void clear() => events.clear();
 
   @override
-  String toString() => '[ExtensionEvents = '
+  String toString() =>
+      '[ExtensionEvents = '
       '${const JsonEncoder.withIndent('  ').convert(toJson())}]';
 }
 
@@ -167,58 +170,52 @@
   );
 
   EventSample.gcEvent(this.timestamp, {ExtensionEvents? events})
-      : isEventGC = true,
-        isEventSnapshot = false,
-        isEventSnapshotAuto = false,
-        allocationAccumulator = null,
-        extensionEvents = events;
+    : isEventGC = true,
+      isEventSnapshot = false,
+      isEventSnapshotAuto = false,
+      allocationAccumulator = null,
+      extensionEvents = events;
 
   EventSample.snapshotEvent(
     this.timestamp, {
     bool snapshotAuto = false,
     ExtensionEvents? events,
-  })  : isEventGC = false,
-        isEventSnapshot = !snapshotAuto,
-        isEventSnapshotAuto = snapshotAuto,
-        allocationAccumulator = null,
-        extensionEvents = events;
+  }) : isEventGC = false,
+       isEventSnapshot = !snapshotAuto,
+       isEventSnapshotAuto = snapshotAuto,
+       allocationAccumulator = null,
+       extensionEvents = events;
 
-  EventSample.accumulatorStart(
-    this.timestamp, {
-    ExtensionEvents? events,
-  })  : isEventGC = false,
-        isEventSnapshot = false,
-        isEventSnapshotAuto = false,
-        allocationAccumulator = AllocationAccumulator.start(),
-        extensionEvents = events;
+  EventSample.accumulatorStart(this.timestamp, {ExtensionEvents? events})
+    : isEventGC = false,
+      isEventSnapshot = false,
+      isEventSnapshotAuto = false,
+      allocationAccumulator = AllocationAccumulator.start(),
+      extensionEvents = events;
 
-  EventSample.accumulatorContinues(
-    this.timestamp, {
-    ExtensionEvents? events,
-  })  : isEventGC = false,
-        isEventSnapshot = false,
-        isEventSnapshotAuto = false,
-        allocationAccumulator = AllocationAccumulator.continues(),
-        extensionEvents = events;
+  EventSample.accumulatorContinues(this.timestamp, {ExtensionEvents? events})
+    : isEventGC = false,
+      isEventSnapshot = false,
+      isEventSnapshotAuto = false,
+      allocationAccumulator = AllocationAccumulator.continues(),
+      extensionEvents = events;
 
-  EventSample.accumulatorReset(
-    this.timestamp, {
-    ExtensionEvents? events,
-  })  : isEventGC = false,
-        isEventSnapshot = false,
-        isEventSnapshotAuto = false,
-        allocationAccumulator = AllocationAccumulator.reset(),
-        extensionEvents = events;
+  EventSample.accumulatorReset(this.timestamp, {ExtensionEvents? events})
+    : isEventGC = false,
+      isEventSnapshot = false,
+      isEventSnapshotAuto = false,
+      allocationAccumulator = AllocationAccumulator.reset(),
+      extensionEvents = events;
 
   EventSample.extensionEvent(this.timestamp, this.extensionEvents)
-      : isEventGC = false,
-        isEventSnapshot = false,
-        isEventSnapshotAuto = false,
-        allocationAccumulator = null;
+    : isEventGC = false,
+      isEventSnapshot = false,
+      isEventSnapshotAuto = false,
+      allocationAccumulator = null;
 
   factory EventSample.fromJson(Map<String, Object?> json) {
-    final extensionEvents =
-        (json['extensionEvents'] as Map?)?.cast<String, Object>();
+    final extensionEvents = (json['extensionEvents'] as Map?)
+        ?.cast<String, Object>();
 
     return EventSample(
       json['timestamp'] as int,
@@ -238,13 +235,13 @@
 
   @override
   Map<String, dynamic> toJson() => <String, Object?>{
-        'timestamp': timestamp,
-        'gcEvent': isEventGC,
-        'snapshotEvent': isEventSnapshot,
-        'snapshotAutoEvent': isEventSnapshotAuto,
-        'allocationAccumulatorEvent': allocationAccumulator?.toJson(),
-        'extensionEvents': extensionEvents?.toJson(),
-      };
+    'timestamp': timestamp,
+    'gcEvent': isEventGC,
+    'snapshotEvent': isEventSnapshot,
+    'snapshotAutoEvent': isEventSnapshotAuto,
+    'allocationAccumulatorEvent': allocationAccumulator?.toJson(),
+    'extensionEvents': extensionEvents?.toJson(),
+  };
 
   EventSample clone(int timestamp, {ExtensionEvents? extensionEvents}) =>
       EventSample(
@@ -257,14 +254,8 @@
       );
 
   /// Create an empty event (all values are nothing).
-  static EventSample empty() => EventSample(
-        -1,
-        false,
-        false,
-        false,
-        AllocationAccumulator.empty(),
-        null,
-      );
+  static EventSample empty() =>
+      EventSample(-1, false, false, false, AllocationAccumulator.empty(), null);
 
   bool get isEmpty => timestamp == -1;
 
@@ -288,7 +279,8 @@
   final ExtensionEvents? extensionEvents;
 
   @override
-  String toString() => '[EventSample timestamp: $timestamp = '
+  String toString() =>
+      '[EventSample timestamp: $timestamp = '
       '${const JsonEncoder.withIndent('  ').convert(toJson())}]';
 }
 
@@ -314,11 +306,12 @@
 
   @override
   Map<String, dynamic> toJson() => <String, Object?>{
-        'layerBytes': layerBytes,
-        'pictureBytes': pictureBytes,
-      };
+    'layerBytes': layerBytes,
+    'pictureBytes': pictureBytes,
+  };
 
   @override
-  String toString() => '[RasterCache '
+  String toString() =>
+      '[RasterCache '
       '${const JsonEncoder.withIndent('  ').convert(toJson())}]';
 }
diff --git a/packages/devtools_shared/lib/src/memory/heap_sample.dart b/packages/devtools_shared/lib/src/memory/heap_sample.dart
index 5248072..8ba0e85 100644
--- a/packages/devtools_shared/lib/src/memory/heap_sample.dart
+++ b/packages/devtools_shared/lib/src/memory/heap_sample.dart
@@ -41,9 +41,9 @@
     AdbMemoryInfo? adbMemoryInfo,
     EventSample? memoryEventInfo,
     RasterCache? rasterCache,
-  )   : adbMemoryInfo = adbMemoryInfo ?? AdbMemoryInfo.empty(),
-        memoryEventInfo = memoryEventInfo ?? EventSample.empty(),
-        rasterCache = rasterCache ?? RasterCache.empty();
+  ) : adbMemoryInfo = adbMemoryInfo ?? AdbMemoryInfo.empty(),
+      memoryEventInfo = memoryEventInfo ?? EventSample.empty(),
+      rasterCache = rasterCache ?? RasterCache.empty();
 
   factory HeapSample.fromJson(Map<String, Object?> json) {
     return HeapSample(
@@ -72,16 +72,16 @@
 
   @override
   Map<String, dynamic> toJson() => <String, Object?>{
-        Json.timestamp.key: timestamp,
-        Json.rss.key: rss,
-        Json.capacity.key: capacity,
-        Json.used.key: used,
-        Json.external.key: external,
-        Json.gc.key: isGC,
-        Json.adbMemoryInfo.key: adbMemoryInfo,
-        Json.memoryEventInfo.key: memoryEventInfo,
-        Json.rasterCache.key: rasterCache,
-      };
+    Json.timestamp.key: timestamp,
+    Json.rss.key: rss,
+    Json.capacity.key: capacity,
+    Json.used.key: used,
+    Json.external.key: external,
+    Json.gc.key: isGC,
+    Json.adbMemoryInfo.key: adbMemoryInfo,
+    Json.memoryEventInfo.key: memoryEventInfo,
+    Json.rasterCache.key: rasterCache,
+  };
 
   /// Version of HeapSample JSON payload.
   static const version = 1;
@@ -105,6 +105,7 @@
   RasterCache rasterCache;
 
   @override
-  String toString() => '[HeapSample timestamp: $timestamp, '
+  String toString() =>
+      '[HeapSample timestamp: $timestamp, '
       '${const JsonEncoder.withIndent('  ').convert(toJson())}]';
 }
diff --git a/packages/devtools_shared/lib/src/memory/heap_space.dart b/packages/devtools_shared/lib/src/memory/heap_space.dart
index 9c45586..b0e0335 100644
--- a/packages/devtools_shared/lib/src/memory/heap_space.dart
+++ b/packages/devtools_shared/lib/src/memory/heap_space.dart
@@ -5,14 +5,13 @@
 /// HeapSpace of Dart VM collected heap data.
 class HeapSpace {
   HeapSpace._fromJson(this.json)
-      : avgCollectionPeriodMillis =
-            json['avgCollectionPeriodMillis'] as double?,
-        capacity = json['capacity'] as int?,
-        collections = json['collections'] as int?,
-        external = json['external'] as int?,
-        name = json['name'] as String?,
-        time = json['time'] as double?,
-        used = json['used'] as int?;
+    : avgCollectionPeriodMillis = json['avgCollectionPeriodMillis'] as double?,
+      capacity = json['capacity'] as int?,
+      collections = json['collections'] as int?,
+      external = json['external'] as int?,
+      name = json['name'] as String?,
+      time = json['time'] as double?,
+      used = json['used'] as int?;
 
   static HeapSpace? parse(Map<String, Object?>? json) =>
       json == null ? null : HeapSpace._fromJson(json);
@@ -34,15 +33,15 @@
   final int? used;
 
   Map<String, dynamic> toJson() => <String, Object?>{
-        'type': 'HeapSpace',
-        'avgCollectionPeriodMillis': avgCollectionPeriodMillis,
-        'capacity': capacity,
-        'collections': collections,
-        'external': external,
-        'name': name,
-        'time': time,
-        'used': used,
-      };
+    'type': 'HeapSpace',
+    'avgCollectionPeriodMillis': avgCollectionPeriodMillis,
+    'capacity': capacity,
+    'collections': collections,
+    'external': external,
+    'name': name,
+    'time': time,
+    'used': used,
+  };
 
   @override
   String toString() => '[HeapSpace]';
diff --git a/packages/devtools_shared/lib/src/memory/memory_json.dart b/packages/devtools_shared/lib/src/memory/memory_json.dart
index 9607c65..4b78fd7 100644
--- a/packages/devtools_shared/lib/src/memory/memory_json.dart
+++ b/packages/devtools_shared/lib/src/memory/memory_json.dart
@@ -97,10 +97,10 @@
     required String argJsonString,
     Map<String, Object?>? argDecodedMap,
   }) : super.decode(
-          _jsonMemoryPayloadField,
-          argJsonString: argJsonString,
-          argDecodedMap: argDecodedMap,
-        );
+         _jsonMemoryPayloadField,
+         argJsonString: argJsonString,
+         argDecodedMap: argDecodedMap,
+       );
 
   /// Exported JSON payload of collected memory statistics.
   static const _jsonMemoryPayloadField = 'samples';
@@ -180,10 +180,9 @@
   Map<String, dynamic> upgradeToVersion(
     Map<String, Object?> payload,
     int oldVersion,
-  ) =>
-      throw UnimplementedError(
-        '${HeapSample.version} is the only valid HeapSample version',
-      );
+  ) => throw UnimplementedError(
+    '${HeapSample.version} is the only valid HeapSample version',
+  );
 
   /// Given a list of [HeapSample], encode as a Json string.
   static String encodeList(List<HeapSample> data) {
@@ -201,7 +200,8 @@
     return '$header$result${MemoryJson.trailer}';
   }
 
-  static String get header => '{"$_jsonMemoryPayloadField": {'
+  static String get header =>
+      '{"$_jsonMemoryPayloadField": {'
       '"${MemoryJson.jsonVersionField}": ${HeapSample.version}, '
       '"${MemoryJson.jsonDevToolsScreenField}": "${MemoryJson.devToolsScreenValueMemory}", '
       '"${MemoryJson.jsonDataField}": [\n';
@@ -272,10 +272,10 @@
     required String argJsonString,
     Map<String, Object?>? argDecodedMap,
   }) : super.decode(
-          _jsonAllocationPayloadField,
-          argJsonString: argJsonString,
-          argDecodedMap: argDecodedMap,
-        );
+         _jsonAllocationPayloadField,
+         argJsonString: argJsonString,
+         argDecodedMap: argDecodedMap,
+       );
 
   /// Exported JSON payload of collected memory statistics.
   static const _jsonAllocationPayloadField = 'allocations';
@@ -308,10 +308,7 @@
       for (final data in oldData)
         {
           'type': 'ClassHeapStats',
-          'class': <String, Object?>{
-            'type': '@Class',
-            ...data.class_,
-          },
+          'class': <String, Object?>{'type': '@Class', ...data.class_},
           'bytesCurrent': data.bytesCurrent,
           'accumulatedSize': data.bytesDelta,
           'instancesCurrent': data.instancesCurrent,
@@ -355,7 +352,8 @@
   }
 
   /// Allocations Header portion:
-  static String get header => '{"$_jsonAllocationPayloadField": {'
+  static String get header =>
+      '{"$_jsonAllocationPayloadField": {'
       '"${MemoryJson.jsonVersionField}": $allocationFormatVersion, '
       '"${MemoryJson.jsonDevToolsScreenField}": "${MemoryJson.devToolsScreenValueMemory}", '
       '"${MemoryJson.jsonDataField}": [\n';
diff --git a/packages/devtools_shared/lib/src/server/devtools_store.dart b/packages/devtools_shared/lib/src/server/devtools_store.dart
index 00f9558..5efdf5d 100644
--- a/packages/devtools_shared/lib/src/server/devtools_store.dart
+++ b/packages/devtools_shared/lib/src/server/devtools_store.dart
@@ -88,8 +88,8 @@
 
   /// The active survey in [properties], as a [_ActiveSurveyJson].
   _ActiveSurveyJson get _activeSurveyFromProperties => _ActiveSurveyJson(
-        (properties[activeSurvey!] as Map).cast<String, Object?>(),
-      );
+    (properties[activeSurvey!] as Map).cast<String, Object?>(),
+  );
 
   int get surveyShownCount {
     assert(activeSurvey != null);
@@ -104,10 +104,7 @@
     assert(activeSurvey != null);
     surveyShownCount; // Ensure surveyShownCount has been initialized.
     final prop = _activeSurveyFromProperties;
-    rewriteActiveSurvey(
-      prop.surveyActionTaken,
-      prop.surveyShownCount! + 1,
-    );
+    rewriteActiveSurvey(prop.surveyActionTaken, prop.surveyShownCount! + 1);
   }
 
   bool get surveyActionTaken {
@@ -115,10 +112,7 @@
   }
 
   set surveyActionTaken(bool value) {
-    rewriteActiveSurvey(
-      value,
-      _activeSurveyFromProperties.surveyShownCount!,
-    );
+    rewriteActiveSurvey(value, _activeSurveyFromProperties.surveyShownCount!);
   }
 
   String get lastReleaseNotesVersion {
diff --git a/packages/devtools_shared/lib/src/server/file_system.dart b/packages/devtools_shared/lib/src/server/file_system.dart
index 1f79c0f..6a2036f 100644
--- a/packages/devtools_shared/lib/src/server/file_system.dart
+++ b/packages/devtools_shared/lib/src/server/file_system.dart
@@ -93,10 +93,7 @@
 }
 
 class IOPersistentProperties {
-  IOPersistentProperties(
-    this.name, {
-    String? documentDirPath,
-  }) {
+  IOPersistentProperties(this.name, {String? documentDirPath}) {
     final fileName = name.replaceAll(' ', '_');
     documentDirPath ??= LocalFileSystem._userHomeDir();
     _file = File(path.join(documentDirPath, fileName));
diff --git a/packages/devtools_shared/lib/src/server/handlers/_deeplink.dart b/packages/devtools_shared/lib/src/server/handlers/_deeplink.dart
index 42d05ec..b3d75e1 100644
--- a/packages/devtools_shared/lib/src/server/handlers/_deeplink.dart
+++ b/packages/devtools_shared/lib/src/server/handlers/_deeplink.dart
@@ -113,9 +113,7 @@
     if (error != null) {
       return api.serverError(error);
     }
-    return api.success(
-      result[DeeplinkManager.kOutputJsonField]! as String,
-    );
+    return api.success(result[DeeplinkManager.kOutputJsonField]! as String);
   }
 }
 
diff --git a/packages/devtools_shared/lib/src/server/handlers/_devtools_extensions.dart b/packages/devtools_shared/lib/src/server/handlers/_devtools_extensions.dart
index f7c6367..c01b8cc 100644
--- a/packages/devtools_shared/lib/src/server/handlers/_devtools_extensions.dart
+++ b/packages/devtools_shared/lib/src/server/handlers/_devtools_extensions.dart
@@ -28,8 +28,9 @@
     /// Helper to return a success response with all available extensions
     /// detected by [extensionsManager].
     shelf.Response succeedWithAvailableExtensions({String? warning}) {
-      final extensions =
-          extensionsManager.devtoolsExtensions.map((p) => p.toJson()).toList();
+      final extensions = extensionsManager.devtoolsExtensions
+          .map((p) => p.toJson())
+          .toList();
       result[ExtensionsApi.extensionsResultPropertyName] = extensions;
       if (warning != null) {
         result[ExtensionsApi.extensionsResultWarningPropertyName] = warning;
@@ -91,11 +92,11 @@
       );
       return ServerApi._encodeResponse(newState.name, api: api);
     }
-    final activationState =
-        ServerApi._devToolsOptions.lookupExtensionEnabledState(
-      devtoolsOptionsUri: devtoolsOptionsFileUri,
-      extensionName: extensionName,
-    );
+    final activationState = ServerApi._devToolsOptions
+        .lookupExtensionEnabledState(
+          devtoolsOptionsUri: devtoolsOptionsFileUri,
+          extensionName: extensionName,
+        );
     return ServerApi._encodeResponse(activationState.name, api: api);
   }
 }
diff --git a/packages/devtools_shared/lib/src/server/handlers/_dtd.dart b/packages/devtools_shared/lib/src/server/handlers/_dtd.dart
index b7f381b..f5e8c2f 100644
--- a/packages/devtools_shared/lib/src/server/handlers/_dtd.dart
+++ b/packages/devtools_shared/lib/src/server/handlers/_dtd.dart
@@ -6,16 +6,10 @@
 
 /// A namespace for Dart Tooling Daemon (DTD) server request handlers.
 extension _DtdApiHandler on Never {
-  static shelf.Response handleGetDtdUri(
-    ServerApi api,
-    DtdInfo? dtd,
-  ) {
-    return ServerApi._encodeResponse(
-      {
-        // Always provide the exposed URI to callers of the web API.
-        DtdApi.uriPropertyName: dtd?.exposedUri.toString(),
-      },
-      api: api,
-    );
+  static shelf.Response handleGetDtdUri(ServerApi api, DtdInfo? dtd) {
+    return ServerApi._encodeResponse({
+      // Always provide the exposed URI to callers of the web API.
+      DtdApi.uriPropertyName: dtd?.exposedUri.toString(),
+    }, api: api);
   }
 }
diff --git a/packages/devtools_shared/lib/src/server/handlers/_vm_service.dart b/packages/devtools_shared/lib/src/server/handlers/_vm_service.dart
index 2097bf9..94fd867 100644
--- a/packages/devtools_shared/lib/src/server/handlers/_vm_service.dart
+++ b/packages/devtools_shared/lib/src/server/handlers/_vm_service.dart
@@ -130,7 +130,8 @@
         if (root == null) {
           return (
             success: false,
-            message: 'No root library found for main isolate '
+            message:
+                'No root library found for main isolate '
                 '($vmServiceUriAsString).',
             uri: null,
           );
@@ -168,8 +169,8 @@
     required bool connected,
     required ServerApi api,
   }) async {
-    final currentRoots =
-        (await dtd.getIDEWorkspaceRoots()).ideWorkspaceRoots.toSet();
+    final currentRoots = (await dtd.getIDEWorkspaceRoots()).ideWorkspaceRoots
+        .toSet();
     // Add or remove [rootFromVmService] depending on whether this was a
     // connect or disconnect notification.
     final newRoots = connected
@@ -195,10 +196,9 @@
     final rootLib = mainIsolate.rootLib?.uri;
     if (rootLib == null) return null;
 
-    final fileUriAsString =
-        (await lookupResolvedPackageUris(mainIsolate.id!, [rootLib]))
-            .uris
-            ?.first;
+    final fileUriAsString = (await lookupResolvedPackageUris(mainIsolate.id!, [
+      rootLib,
+    ])).uris?.first;
     return fileUriAsString;
   }
 
@@ -218,8 +218,9 @@
 
     Isolate? mainIsolate;
     for (final isolate in isolateCandidates) {
-      final isFlutterIsolate = (isolate.isolate.extensionRPCs ?? [])
-          .any((ext) => ext.startsWith('ext.flutter'));
+      final isFlutterIsolate = (isolate.isolate.extensionRPCs ?? []).any(
+        (ext) => ext.startsWith('ext.flutter'),
+      );
       if (isFlutterIsolate) {
         mainIsolate = isolate.isolate;
         break;
@@ -237,8 +238,4 @@
 }
 
 @visibleForTesting
-typedef DetectRootPackageResponse = ({
-  bool success,
-  String? message,
-  Uri? uri,
-});
+typedef DetectRootPackageResponse = ({bool success, String? message, Uri? uri});
diff --git a/packages/devtools_shared/lib/src/service/service.dart b/packages/devtools_shared/lib/src/service/service.dart
index 91db01f..00fadb0 100644
--- a/packages/devtools_shared/lib/src/service/service.dart
+++ b/packages/devtools_shared/lib/src/service/service.dart
@@ -69,13 +69,10 @@
     return service;
   }
   unawaited(
-    ws.sink.done.then(
-      (_) async {
-        finishedCompleter.complete();
-        await service.dispose();
-      },
-      onError: onError,
-    ),
+    ws.sink.done.then((_) async {
+      finishedCompleter.complete();
+      await service.dispose();
+    }, onError: onError),
   );
   return service;
 }
@@ -113,15 +110,19 @@
     return service;
   }
 
-  unawaited(connectHelper().then(
-    (service) => connectedCompleter.safeComplete(service),
-    onError: onError,
-  ));
-  unawaited(finishedCompleter.future.then((_) {
-    // It is an error if we finish before we are connected.
-    if (!connectedCompleter.isCompleted) {
-      onError(null);
-    }
-  }));
+  unawaited(
+    connectHelper().then(
+      (service) => connectedCompleter.safeComplete(service),
+      onError: onError,
+    ),
+  );
+  unawaited(
+    finishedCompleter.future.then((_) {
+      // It is an error if we finish before we are connected.
+      if (!connectedCompleter.isCompleted) {
+        onError(null);
+      }
+    }),
+  );
   return connectedCompleter.future;
 }
diff --git a/packages/devtools_shared/lib/src/service_utils.dart b/packages/devtools_shared/lib/src/service_utils.dart
index 8d8de24..5abe740 100644
--- a/packages/devtools_shared/lib/src/service_utils.dart
+++ b/packages/devtools_shared/lib/src/service_utils.dart
@@ -3,10 +3,7 @@
 // found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
 
 class RegisteredService {
-  const RegisteredService({
-    required this.service,
-    required this.title,
-  });
+  const RegisteredService({required this.service, required this.title});
 
   final String service;
   final String title;
diff --git a/packages/devtools_shared/lib/src/test/chrome.dart b/packages/devtools_shared/lib/src/test/chrome.dart
index ddc275b..294385b 100644
--- a/packages/devtools_shared/lib/src/test/chrome.dart
+++ b/packages/devtools_shared/lib/src/test/chrome.dart
@@ -16,7 +16,8 @@
 import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart'
     hide ChromeTab;
 import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart'
-    as wip show ChromeTab;
+    as wip
+    show ChromeTab;
 
 import 'io_utils.dart';
 
@@ -94,10 +95,7 @@
       '--remote-debugging-port=$debugPort',
     ];
     if (useChromeHeadless && headlessModeIsSupported) {
-      args.addAll(<String>[
-        '--headless',
-        '--disable-gpu',
-      ]);
+      args.addAll(<String>['--headless', '--disable-gpu']);
     }
     if (url != null) {
       args.add(url);
@@ -153,12 +151,9 @@
     required bool Function(wip.ChromeTab) tabFound,
     required Duration timeout,
   }) async {
-    final wipTab = await connection.getTab(
-      (wip.ChromeTab tab) {
-        return tabFound(tab);
-      },
-      retryFor: timeout,
-    );
+    final wipTab = await connection.getTab((wip.ChromeTab tab) {
+      return tabFound(tab);
+    }, retryFor: timeout);
 
     unawaited(
       process.exitCode.then((_) {
@@ -214,8 +209,9 @@
     });
 
     unawaited(
-      _exceptionThrownController
-          .addStream(wipConnection.runtime.onExceptionThrown),
+      _exceptionThrownController.addStream(
+        wipConnection.runtime.onExceptionThrown,
+      ),
     );
 
     unawaited(wipConnection.page.enable());
diff --git a/packages/devtools_shared/lib/src/test/cli_test_driver.dart b/packages/devtools_shared/lib/src/test/cli_test_driver.dart
index 5808cf4..1530e80 100644
--- a/packages/devtools_shared/lib/src/test/cli_test_driver.dart
+++ b/packages/devtools_shared/lib/src/test/cli_test_driver.dart
@@ -28,8 +28,9 @@
     _onAppStarted = lines.first;
 
     unawaited(serviceConnection.streamListen(EventStreams.kIsolate));
-    _isolateEventStreamSubscription =
-        serviceConnection.onIsolateEvent.listen((Event event) {
+    _isolateEventStreamSubscription = serviceConnection.onIsolateEvent.listen((
+      Event event,
+    ) {
       if (event.kind == EventKind.kIsolateExit) {
         isolates.remove(event.isolate);
       } else {
@@ -86,27 +87,30 @@
     List<IsolateRef> isolates,
     Future<void> Function()? onTeardown,
   ) : super._(
-          process,
-          lines,
-          serviceUri,
-          serviceConnection,
-          isolates,
-          onTeardown,
-        );
+        process,
+        lines,
+        serviceUri,
+        serviceConnection,
+        isolates,
+        onTeardown,
+      );
 
   final String appScriptPath;
 
   static Future<CliAppFixture> create(String appScriptPath) async {
-    final dartVmServicePrefix =
-        RegExp('(Observatory|The Dart VM service is) listening on ');
-
-    final process = await Process.start(
-      Platform.resolvedExecutable,
-      <String>['--observe=0', '--pause-isolates-on-start', appScriptPath],
+    final dartVmServicePrefix = RegExp(
+      '(Observatory|The Dart VM service is) listening on ',
     );
 
-    final Stream<String> lines =
-        process.stdout.transform(utf8.decoder).transform(const LineSplitter());
+    final process = await Process.start(Platform.resolvedExecutable, <String>[
+      '--observe=0',
+      '--pause-isolates-on-start',
+      appScriptPath,
+    ]);
+
+    final Stream<String> lines = process.stdout
+        .transform(utf8.decoder)
+        .transform(const LineSplitter());
     final lineController = StreamController<String>.broadcast();
     final completer = Completer<String>();
 
@@ -166,16 +170,18 @@
       const skipId = 'skip';
       final vm = await serviceConnection.getVM();
       final isolates = await vm.isolates!
-          .map((ref) => serviceConnection
-                  .getIsolate(ref.id!)
-                  // Calling getIsolate() can sometimes return a collected sentinel
-                  // for an isolate that hasn't started yet. We can just ignore these
-                  // as on the next trip around the Isolate will be returned.
-                  // https://github.com/dart-lang/sdk/issues/33747
-                  .catchError((Object error) {
-                print('getIsolate(${ref.id}) failed, skipping\n$error');
-                return Future<Isolate>.value(Isolate(id: skipId));
-              }))
+          .map(
+            (ref) =>
+                serviceConnection.getIsolate(ref.id!)
+                // Calling getIsolate() can sometimes return a collected sentinel
+                // for an isolate that hasn't started yet. We can just ignore these
+                // as on the next trip around the Isolate will be returned.
+                // https://github.com/dart-lang/sdk/issues/33747
+                .catchError((Object error) {
+                  print('getIsolate(${ref.id}) failed, skipping\n$error');
+                  return Future<Isolate>.value(Isolate(id: skipId));
+                }),
+          )
           .wait;
       foundIsolate = isolates.firstWhereOrNull(
         (isolate) =>
diff --git a/packages/devtools_shared/lib/src/test/integration_test_runner.dart b/packages/devtools_shared/lib/src/test/integration_test_runner.dart
index 54e0f8b..0733851 100644
--- a/packages/devtools_shared/lib/src/test/integration_test_runner.dart
+++ b/packages/devtools_shared/lib/src/test/integration_test_runner.dart
@@ -67,7 +67,9 @@
 
       debugLog('> flutter ${flutterDriveArgs.join(' ')}');
       final process = await Process.start(
-          Platform.isWindows ? 'flutter.bat' : 'flutter', flutterDriveArgs);
+        Platform.isWindows ? 'flutter.bat' : 'flutter',
+        flutterDriveArgs,
+      );
 
       bool stdOutWriteInProgress = false;
       bool stdErrWriteInProgress = false;
@@ -119,12 +121,15 @@
       );
 
       bool testTimedOut = false;
-      await process.exitCode.timeout(const Duration(minutes: 8), onTimeout: () {
-        testTimedOut = true;
-        // TODO(srawlins): Refactor the retry situation to catch a
-        // TimeoutException, and not recursively call `runTest`.
-        return -1;
-      });
+      await process.exitCode.timeout(
+        const Duration(minutes: 8),
+        onTimeout: () {
+          testTimedOut = true;
+          // TODO(srawlins): Refactor the retry situation to catch a
+          // TimeoutException, and not recursively call `runTest`.
+          return -1;
+        },
+      );
 
       debugLog(
         'shutting down processes because '
@@ -172,7 +177,7 @@
     final result = json[resultKey] == 'true';
     final failureDetails =
         (json[failureDetailsKey] as List<Object?>).cast<String>().firstOrNull ??
-            '{}';
+        '{}';
     final failureDetailsMap =
         jsonDecode(failureDetails) as Map<String, Object?>;
     final methodName = failureDetailsMap[methodNameKey] as String?;
@@ -204,8 +209,8 @@
     List<String> args, {
     bool verifyValidTarget = true,
     void Function(ArgParser)? addExtraArgs,
-  })  : rawArgs = args,
-        argResults = buildArgParser(addExtraArgs: addExtraArgs).parse(args) {
+  }) : rawArgs = args,
+       argResults = buildArgParser(addExtraArgs: addExtraArgs).parse(args) {
     if (verifyValidTarget) {
       final target = argResults[testTargetArg];
       assert(
@@ -261,15 +266,9 @@
   static const _shardArg = 'shard';
 
   /// Builds an arg parser for DevTools integration tests.
-  static ArgParser buildArgParser({
-    void Function(ArgParser)? addExtraArgs,
-  }) {
+  static ArgParser buildArgParser({void Function(ArgParser)? addExtraArgs}) {
     final argParser = ArgParser()
-      ..addFlag(
-        _helpArg,
-        abbr: 'h',
-        help: 'Prints help output.',
-      )
+      ..addFlag(_helpArg, abbr: 'h', help: 'Prints help output.')
       ..addOption(
         testTargetArg,
         abbr: 't',
@@ -293,7 +292,8 @@
       ..addOption(
         _shardArg,
         valueHelp: '1/3',
-        help: 'The shard number for this run out of the total number of shards '
+        help:
+            'The shard number for this run out of the total number of shards '
             '(e.g. 1/3)',
       );
     addExtraArgs?.call(argParser);
diff --git a/packages/devtools_shared/lib/src/test/io_utils.dart b/packages/devtools_shared/lib/src/test/io_utils.dart
index eb1b5c8..3c6e60b 100644
--- a/packages/devtools_shared/lib/src/test/io_utils.dart
+++ b/packages/devtools_shared/lib/src/test/io_utils.dart
@@ -65,10 +65,7 @@
 
   Future<void> cancelAllStreamSubscriptions() async {
     await streamSubscriptions.map((s) => s.cancel()).wait;
-    await [
-      stdoutController.close(),
-      stderrController.close(),
-    ].wait;
+    await [stdoutController.close(), stderrController.close()].wait;
     streamSubscriptions.clear();
   }
 
@@ -98,10 +95,7 @@
     );
   }
 
-  Future<int> killForcefully(
-    Process process, {
-    bool debugLogging = false,
-  }) {
+  Future<int> killForcefully(Process process, {bool debugLogging = false}) {
     final processId = process.pid;
     // Use sigint here instead of sigkill. See
     // https://github.com/flutter/flutter/issues/117415.
diff --git a/packages/devtools_shared/lib/src/utils/file_utils.dart b/packages/devtools_shared/lib/src/utils/file_utils.dart
index 553e6e6..3822720 100644
--- a/packages/devtools_shared/lib/src/utils/file_utils.dart
+++ b/packages/devtools_shared/lib/src/utils/file_utils.dart
@@ -78,8 +78,9 @@
 
   // If we do not have access to DTD or if we failed to detect the package root
   // by walking the directory structure, default to using a regexp heuristic.
-  final directoryRegExp =
-      RegExp(r'\/(lib|bin|integration_test|test|benchmark|example)\/.+\.dart');
+  final directoryRegExp = RegExp(
+    r'\/(lib|bin|integration_test|test|benchmark|example)\/.+\.dart',
+  );
   final directoryIndex = fileUriString.lastIndexOf(directoryRegExp);
   if (directoryIndex != -1) {
     fileUriString = fileUriString.substring(0, directoryIndex);
diff --git a/packages/devtools_shared/lib/src/utils/retry.dart b/packages/devtools_shared/lib/src/utils/retry.dart
index 4925962..6ce76d4 100644
--- a/packages/devtools_shared/lib/src/utils/retry.dart
+++ b/packages/devtools_shared/lib/src/utils/retry.dart
@@ -22,9 +22,11 @@
   FutureOr<bool> Function()? stopCondition,
   FutureOr<void> Function(int attempt)? onRetry,
 }) async {
-  for (var attempt = 1;
-      attempt <= maxRetries && (await stopCondition?.call() != true);
-      attempt++) {
+  for (
+    var attempt = 1;
+    attempt <= maxRetries && (await stopCondition?.call() != true);
+    attempt++
+  ) {
     try {
       await callback();
       break;
diff --git a/packages/devtools_shared/lib/src/utils/semantic_version.dart b/packages/devtools_shared/lib/src/utils/semantic_version.dart
index 3e8046f..d4cfe22 100644
--- a/packages/devtools_shared/lib/src/utils/semantic_version.dart
+++ b/packages/devtools_shared/lib/src/utils/semantic_version.dart
@@ -25,22 +25,26 @@
 
     final semVersion = splitOnDash.first;
     final versionParts = semVersion.split('.');
-    final major =
-        versionParts.isNotEmpty ? int.tryParse(versionParts.first) ?? 0 : 0;
-    final minor =
-        versionParts.length > 1 ? int.tryParse(versionParts[1]) ?? 0 : 0;
-    final patch =
-        versionParts.length > 2 ? int.tryParse(versionParts[2]) ?? 0 : 0;
+    final major = versionParts.isNotEmpty
+        ? int.tryParse(versionParts.first) ?? 0
+        : 0;
+    final minor = versionParts.length > 1
+        ? int.tryParse(versionParts[1]) ?? 0
+        : 0;
+    final patch = versionParts.length > 2
+        ? int.tryParse(versionParts[2]) ?? 0
+        : 0;
 
     int? preReleaseMajor;
     int? preReleaseMinor;
     if (splitOnDash.length == 2) {
       final preRelease = splitOnDash.last;
-      final preReleaseParts = preRelease
-          .split('.')
-          .map((part) => RegExp(r'\d+').stringMatch(part) ?? '')
-          .toList()
-        ..removeWhere((part) => part.isEmpty);
+      final preReleaseParts =
+          preRelease
+              .split('.')
+              .map((part) => RegExp(r'\d+').stringMatch(part) ?? '')
+              .toList()
+            ..removeWhere((part) => part.isEmpty);
       preReleaseMajor = preReleaseParts.isNotEmpty
           ? int.tryParse(preReleaseParts.first) ?? 0
           : 0;
@@ -83,11 +87,7 @@
     if (downgradePatch) {
       patch = math.max(0, patch - 1);
     }
-    return SemanticVersion(
-      major: major,
-      minor: minor,
-      patch: patch,
-    );
+    return SemanticVersion(major: major, minor: minor, patch: patch);
   }
 
   int major;
@@ -134,8 +134,10 @@
   ///
   /// e.g. 2.6.0-12.0.pre-443 -> 2.6.0-12.0.pre.443
   static String _canonicalizeVersion(String semanticVersion) =>
-      semanticVersion.replaceFirstMapped(_nonStandardPreReleaseVersionRegex,
-          (match) => '${match[1]}.${match[2]}');
+      semanticVersion.replaceFirstMapped(
+        _nonStandardPreReleaseVersionRegex,
+        (match) => '${match[1]}.${match[2]}',
+      );
 
   bool get isPreRelease => preReleaseMajor != null || preReleaseMinor != null;
 
diff --git a/packages/devtools_shared/test/deeplink/deeplink_manager_test.dart b/packages/devtools_shared/test/deeplink/deeplink_manager_test.dart
index e96d45b..fb36b12 100644
--- a/packages/devtools_shared/test/deeplink/deeplink_manager_test.dart
+++ b/packages/devtools_shared/test/deeplink/deeplink_manager_test.dart
@@ -39,15 +39,10 @@
             '--list-build-variants',
             projectRoot,
           ],
-          result: ProcessResult(
-            0,
-            0,
-            r'''
+          result: ProcessResult(0, 0, r'''
 Running Gradle task 'printBuildVariants'...                        10.4s
 ["debug","release","profile"]
-            ''',
-            '',
-          ),
+            ''', ''),
         ),
       );
       final response = await manager.getAndroidBuildVariants(
@@ -60,42 +55,36 @@
       );
     });
 
-    test('getBuildVariants propagates parent IDE and analytics opt-out status',
-        () async {
-      const projectRoot = '/abc';
-      manager.expectedCommands.add(
-        TestCommand(
-          executable: manager.mockedFlutterBinary,
-          arguments: <String>[
-            'analyze',
-            '--android',
-            '--list-build-variants',
-            projectRoot,
-          ],
-          ide: 'VS-Code',
-          suppressAnalytics: true,
-          result: ProcessResult(
-            0,
-            0,
-            r'''
+    test(
+      'getBuildVariants propagates parent IDE and analytics opt-out status',
+      () async {
+        const projectRoot = '/abc';
+        manager.expectedCommands.add(
+          TestCommand(
+            executable: manager.mockedFlutterBinary,
+            arguments: <String>[
+              'analyze',
+              '--android',
+              '--list-build-variants',
+              projectRoot,
+            ],
+            ide: 'VS-Code',
+            suppressAnalytics: true,
+            result: ProcessResult(0, 0, r'''
 Running Gradle task 'printBuildVariants'...                        10.4s
 ["debug"]
-            ''',
-            '',
+            ''', ''),
           ),
-        ),
-      );
-      final response = await manager.getAndroidBuildVariants(
-        rootPath: projectRoot,
-        ide: 'VS-Code',
-        suppressAnalytics: true,
-      );
-      expect(response[DeeplinkManager.kErrorField], isNull);
-      expect(
-        response[DeeplinkManager.kOutputJsonField],
-        '["debug"]',
-      );
-    });
+        );
+        final response = await manager.getAndroidBuildVariants(
+          rootPath: projectRoot,
+          ide: 'VS-Code',
+          suppressAnalytics: true,
+        );
+        expect(response[DeeplinkManager.kErrorField], isNull);
+        expect(response[DeeplinkManager.kOutputJsonField], '["debug"]');
+      },
+    );
 
     test(
       'getBuildVariants return internal server error if command failed',
@@ -110,12 +99,7 @@
               '--list-build-variants',
               projectRoot,
             ],
-            result: ProcessResult(
-              0,
-              1,
-              '',
-              'unknown error',
-            ),
+            result: ProcessResult(0, 1, '', 'unknown error'),
           ),
         );
         final response = await manager.getAndroidBuildVariants(
@@ -144,15 +128,10 @@
             '--build-variant=$buildVariant',
             projectRoot,
           ],
-          result: ProcessResult(
-            0,
-            0,
-            '''
+          result: ProcessResult(0, 0, '''
 Running Gradle task 'printBuildVariants'...                        10.4s
 result saved in ${jsonFile.absolute.path}
-            ''',
-            '',
-          ),
+            ''', ''),
         ),
       );
       final response = await manager.getAndroidAppLinkSettings(
@@ -160,10 +139,7 @@
         rootPath: projectRoot,
       );
       expect(response[DeeplinkManager.kErrorField], isNull);
-      expect(
-        response[DeeplinkManager.kOutputJsonField],
-        json,
-      );
+      expect(response[DeeplinkManager.kOutputJsonField], json);
     });
 
     test(
@@ -186,15 +162,10 @@
               '--target=$target',
               projectRoot,
             ],
-            result: ProcessResult(
-              0,
-              0,
-              '''
+            result: ProcessResult(0, 0, '''
 Running Gradle task 'printBuildVariants'...                        10.4s
 result saved in ${jsonFile.absolute.path}
-            ''',
-              '',
-            ),
+            ''', ''),
           ),
         );
         final response = await manager.getIosUniversalLinkSettings(
@@ -203,10 +174,7 @@
           rootPath: projectRoot,
         );
         expect(response[DeeplinkManager.kErrorField], isNull);
-        expect(
-          response[DeeplinkManager.kOutputJsonField],
-          json,
-        );
+        expect(response[DeeplinkManager.kOutputJsonField], json);
       },
     );
 
@@ -221,19 +189,12 @@
             '--list-build-options',
             projectRoot,
           ],
-          result: ProcessResult(
-            0,
-            0,
-            r'''
+          result: ProcessResult(0, 0, r'''
 {"configurations":["Debug","Release","Profile"],"targets":["Runner","RunnerTests"]}
-            ''',
-            '',
-          ),
+            ''', ''),
         ),
       );
-      final response = await manager.getIosBuildOptions(
-        rootPath: projectRoot,
-      );
+      final response = await manager.getIosBuildOptions(rootPath: projectRoot);
       expect(response[DeeplinkManager.kErrorField], isNull);
       expect(
         response[DeeplinkManager.kOutputJsonField],
@@ -261,8 +222,10 @@
       final expectedCommand = expectedCommands.removeAt(0);
       expect(executable, expectedCommand.executable);
       expect(
-        const ListEquality<String>()
-            .equals(arguments, expectedCommand.arguments),
+        const ListEquality<String>().equals(
+          arguments,
+          expectedCommand.arguments,
+        ),
         isTrue,
       );
       expect(ide, expectedCommand.ide);
diff --git a/packages/devtools_shared/test/extensions/extension_enablement_test.dart b/packages/devtools_shared/test/extensions/extension_enablement_test.dart
index f0740e4..36984b3 100644
--- a/packages/devtools_shared/test/extensions/extension_enablement_test.dart
+++ b/packages/devtools_shared/test/extensions/extension_enablement_test.dart
@@ -41,14 +41,11 @@
         extensionName: 'foo',
       );
       final file = optionsFileFromTmp();
-      expect(
-        file.readAsStringSync(),
-        '''
+      expect(file.readAsStringSync(), '''
 description: This file stores settings for Dart & Flutter DevTools.
 documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
 extensions:
-''',
-      );
+''');
     });
 
     test('can write to options file', () {
@@ -58,14 +55,11 @@
         enable: true,
       );
       final file = optionsFileFromTmp();
-      expect(
-        file.readAsStringSync(),
-        '''
+      expect(file.readAsStringSync(), '''
 description: This file stores settings for Dart & Flutter DevTools.
 documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
 extensions:
-  - foo: true''',
-      );
+  - foo: true''');
     });
 
     test('can read from options file', () {
@@ -80,15 +74,12 @@
         enable: false,
       );
       final file = optionsFileFromTmp();
-      expect(
-        file.readAsStringSync(),
-        '''
+      expect(file.readAsStringSync(), '''
 description: This file stores settings for Dart & Flutter DevTools.
 documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
 extensions:
   - foo: true
-  - bar: false''',
-      );
+  - bar: false''');
 
       expect(
         options.lookupExtensionEnabledState(
diff --git a/packages/devtools_shared/test/extensions/extension_model_test.dart b/packages/devtools_shared/test/extensions/extension_model_test.dart
index 8380b16..2bf4236 100644
--- a/packages/devtools_shared/test/extensions/extension_model_test.dart
+++ b/packages/devtools_shared/test/extensions/extension_model_test.dart
@@ -113,144 +113,120 @@
       }
 
       test('name', () {
-        expect(
-          () {
-            DevToolsExtensionConfig.parse({
-              'issueTracker': 'www.google.com',
-              'version': '1.0.0',
-              'materialIconCodePoint': 0xf012,
-              'extensionAssetsPath': '/absolute/path/to/foo/extension',
-              'devtoolsOptionsUri':
-                  'file:///path/to/package/devtools_options.yaml',
-              'isPubliclyHosted': 'false',
-              'detectedFromStaticContext': 'false',
-            });
-          },
-          throwsMissingRequiredFieldsError(),
-        );
+        expect(() {
+          DevToolsExtensionConfig.parse({
+            'issueTracker': 'www.google.com',
+            'version': '1.0.0',
+            'materialIconCodePoint': 0xf012,
+            'extensionAssetsPath': '/absolute/path/to/foo/extension',
+            'devtoolsOptionsUri':
+                'file:///path/to/package/devtools_options.yaml',
+            'isPubliclyHosted': 'false',
+            'detectedFromStaticContext': 'false',
+          });
+        }, throwsMissingRequiredFieldsError());
       });
 
       test('issueTracker', () {
-        expect(
-          () {
-            DevToolsExtensionConfig.parse({
-              'name': 'foo',
-              'version': '1.0.0',
-              'materialIconCodePoint': 0xf012,
-              'extensionAssetsPath': '/absolute/path/to/foo/extension',
-              'devtoolsOptionsUri':
-                  'file:///path/to/package/devtools_options.yaml',
-              'isPubliclyHosted': 'false',
-              'detectedFromStaticContext': 'false',
-            });
-          },
-          throwsMissingRequiredFieldsError(),
-        );
+        expect(() {
+          DevToolsExtensionConfig.parse({
+            'name': 'foo',
+            'version': '1.0.0',
+            'materialIconCodePoint': 0xf012,
+            'extensionAssetsPath': '/absolute/path/to/foo/extension',
+            'devtoolsOptionsUri':
+                'file:///path/to/package/devtools_options.yaml',
+            'isPubliclyHosted': 'false',
+            'detectedFromStaticContext': 'false',
+          });
+        }, throwsMissingRequiredFieldsError());
       });
 
       test('version', () {
-        expect(
-          () {
-            DevToolsExtensionConfig.parse({
-              'name': 'foo',
-              'issueTracker': 'www.google.com',
-              'materialIconCodePoint': 0xf012,
-              'extensionAssetsPath': '/absolute/path/to/foo/extension',
-              'devtoolsOptionsUri':
-                  'file:///path/to/package/devtools_options.yaml',
-              'isPubliclyHosted': 'false',
-              'detectedFromStaticContext': 'false',
-            });
-          },
-          throwsMissingRequiredFieldsError(),
-        );
+        expect(() {
+          DevToolsExtensionConfig.parse({
+            'name': 'foo',
+            'issueTracker': 'www.google.com',
+            'materialIconCodePoint': 0xf012,
+            'extensionAssetsPath': '/absolute/path/to/foo/extension',
+            'devtoolsOptionsUri':
+                'file:///path/to/package/devtools_options.yaml',
+            'isPubliclyHosted': 'false',
+            'detectedFromStaticContext': 'false',
+          });
+        }, throwsMissingRequiredFieldsError());
       });
 
       test('materialIconCodePoint', () {
-        expect(
-          () {
-            DevToolsExtensionConfig.parse({
-              'name': 'foo',
-              'issueTracker': 'www.google.com',
-              'version': '1.0.0',
-              'extensionAssetsPath': '/absolute/path/to/foo/extension',
-              'devtoolsOptionsUri':
-                  'file:///path/to/package/devtools_options.yaml',
-              'isPubliclyHosted': 'false',
-              'detectedFromStaticContext': 'false',
-            });
-          },
-          throwsMissingRequiredFieldsError(),
-        );
+        expect(() {
+          DevToolsExtensionConfig.parse({
+            'name': 'foo',
+            'issueTracker': 'www.google.com',
+            'version': '1.0.0',
+            'extensionAssetsPath': '/absolute/path/to/foo/extension',
+            'devtoolsOptionsUri':
+                'file:///path/to/package/devtools_options.yaml',
+            'isPubliclyHosted': 'false',
+            'detectedFromStaticContext': 'false',
+          });
+        }, throwsMissingRequiredFieldsError());
       });
       test('extensionAssetsPath', () {
-        expect(
-          () {
-            DevToolsExtensionConfig.parse({
-              'name': 'foo',
-              'issueTracker': 'www.google.com',
-              'version': '1.0.0',
-              'materialIconCodePoint': 0xf012,
-              'devtoolsOptionsUri':
-                  'file:///path/to/package/devtools_options.yaml',
-              'isPubliclyHosted': 'false',
-              'detectedFromStaticContext': 'false',
-            });
-          },
-          throwsMissingGeneratedKeysError(),
-        );
+        expect(() {
+          DevToolsExtensionConfig.parse({
+            'name': 'foo',
+            'issueTracker': 'www.google.com',
+            'version': '1.0.0',
+            'materialIconCodePoint': 0xf012,
+            'devtoolsOptionsUri':
+                'file:///path/to/package/devtools_options.yaml',
+            'isPubliclyHosted': 'false',
+            'detectedFromStaticContext': 'false',
+          });
+        }, throwsMissingGeneratedKeysError());
       });
 
       test('devtoolsOptionsUri', () {
-        expect(
-          () {
-            DevToolsExtensionConfig.parse({
-              'name': 'foo',
-              'issueTracker': 'www.google.com',
-              'version': '1.0.0',
-              'materialIconCodePoint': 0xf012,
-              'extensionAssetsPath': '/absolute/path/to/foo/extension',
-              'isPubliclyHosted': 'false',
-              'detectedFromStaticContext': 'false',
-            });
-          },
-          throwsMissingGeneratedKeysError(),
-        );
+        expect(() {
+          DevToolsExtensionConfig.parse({
+            'name': 'foo',
+            'issueTracker': 'www.google.com',
+            'version': '1.0.0',
+            'materialIconCodePoint': 0xf012,
+            'extensionAssetsPath': '/absolute/path/to/foo/extension',
+            'isPubliclyHosted': 'false',
+            'detectedFromStaticContext': 'false',
+          });
+        }, throwsMissingGeneratedKeysError());
       });
 
       test('isPubliclyHosted', () {
-        expect(
-          () {
-            DevToolsExtensionConfig.parse({
-              'name': 'foo',
-              'issueTracker': 'www.google.com',
-              'version': '1.0.0',
-              'materialIconCodePoint': 0xf012,
-              'extensionAssetsPath': '/absolute/path/to/foo/extension',
-              'devtoolsOptionsUri': 'path/to/package/devtools_options.yaml',
-              'detectedFromStaticContext': 'false',
-            });
-          },
-          throwsMissingGeneratedKeysError(),
-        );
+        expect(() {
+          DevToolsExtensionConfig.parse({
+            'name': 'foo',
+            'issueTracker': 'www.google.com',
+            'version': '1.0.0',
+            'materialIconCodePoint': 0xf012,
+            'extensionAssetsPath': '/absolute/path/to/foo/extension',
+            'devtoolsOptionsUri': 'path/to/package/devtools_options.yaml',
+            'detectedFromStaticContext': 'false',
+          });
+        }, throwsMissingGeneratedKeysError());
       });
 
       test('detectedFromStaticContext', () {
-        expect(
-          () {
-            DevToolsExtensionConfig.parse({
-              'name': 'foo',
-              'issueTracker': 'www.google.com',
-              'version': '1.0.0',
-              'materialIconCodePoint': 0xf012,
-              'extensionAssetsPath': '/absolute/path/to/foo/extension',
-              'devtoolsOptionsUri':
-                  'file:///path/to/package/devtools_options.yaml',
-              'isPubliclyHosted': 'false',
-            });
-          },
-          throwsMissingGeneratedKeysError(),
-        );
+        expect(() {
+          DevToolsExtensionConfig.parse({
+            'name': 'foo',
+            'issueTracker': 'www.google.com',
+            'version': '1.0.0',
+            'materialIconCodePoint': 0xf012,
+            'extensionAssetsPath': '/absolute/path/to/foo/extension',
+            'devtoolsOptionsUri':
+                'file:///path/to/package/devtools_options.yaml',
+            'isPubliclyHosted': 'false',
+          });
+        }, throwsMissingGeneratedKeysError());
       });
     });
 
@@ -265,41 +241,33 @@
         );
       }
 
-      expect(
-        () {
-          DevToolsExtensionConfig.parse({
-            // Expects a String here.
-            'name': 23,
-            'issueTracker': 'www.google.com',
-            'version': '1.0.0',
-            'materialIconCodePoint': 0xf012,
-            'extensionAssetsPath': '/absolute/path/to/foo/extension',
-            'devtoolsOptionsUri':
-                'file:///path/to/package/devtools_options.yaml',
-            'isPubliclyHosted': 'false',
-            'detectedFromStaticContext': 'false',
-          });
-        },
-        throwsUnexpectedValueTypesError(),
-      );
+      expect(() {
+        DevToolsExtensionConfig.parse({
+          // Expects a String here.
+          'name': 23,
+          'issueTracker': 'www.google.com',
+          'version': '1.0.0',
+          'materialIconCodePoint': 0xf012,
+          'extensionAssetsPath': '/absolute/path/to/foo/extension',
+          'devtoolsOptionsUri': 'file:///path/to/package/devtools_options.yaml',
+          'isPubliclyHosted': 'false',
+          'detectedFromStaticContext': 'false',
+        });
+      }, throwsUnexpectedValueTypesError());
 
-      expect(
-        () {
-          DevToolsExtensionConfig.parse({
-            'name': 'foo',
-            'issueTracker': 'www.google.com',
-            'version': '1.0.0',
-            'materialIconCodePoint': 0xf012,
-            'extensionAssetsPath': '/absolute/path/to/foo/extension',
-            'devtoolsOptionsUri':
-                'file:///path/to/package/devtools_options.yaml',
-            // Expects a String here.
-            'isPubliclyHosted': false,
-            'detectedFromStaticContext': 'false',
-          });
-        },
-        throwsUnexpectedValueTypesError(),
-      );
+      expect(() {
+        DevToolsExtensionConfig.parse({
+          'name': 'foo',
+          'issueTracker': 'www.google.com',
+          'version': '1.0.0',
+          'materialIconCodePoint': 0xf012,
+          'extensionAssetsPath': '/absolute/path/to/foo/extension',
+          'devtoolsOptionsUri': 'file:///path/to/package/devtools_options.yaml',
+          // Expects a String here.
+          'isPubliclyHosted': false,
+          'detectedFromStaticContext': 'false',
+        });
+      }, throwsUnexpectedValueTypesError());
     });
 
     test('parse throws for invalid name', () {
@@ -313,56 +281,44 @@
         );
       }
 
-      expect(
-        () {
-          DevToolsExtensionConfig.parse({
-            'name': 'name with spaces',
-            'issueTracker': 'www.google.com',
-            'version': '1.0.0',
-            'materialIconCodePoint': 0xf012,
-            'extensionAssetsPath': '/absolute/path/to/foo/extension',
-            'devtoolsOptionsUri':
-                'file:///path/to/package/devtools_options.yaml',
-            'isPubliclyHosted': 'false',
-            'detectedFromStaticContext': 'false',
-          });
-        },
-        throwsInvalidNameError(),
-      );
+      expect(() {
+        DevToolsExtensionConfig.parse({
+          'name': 'name with spaces',
+          'issueTracker': 'www.google.com',
+          'version': '1.0.0',
+          'materialIconCodePoint': 0xf012,
+          'extensionAssetsPath': '/absolute/path/to/foo/extension',
+          'devtoolsOptionsUri': 'file:///path/to/package/devtools_options.yaml',
+          'isPubliclyHosted': 'false',
+          'detectedFromStaticContext': 'false',
+        });
+      }, throwsInvalidNameError());
 
-      expect(
-        () {
-          DevToolsExtensionConfig.parse({
-            'name': 'Name_With_Capital_Letters',
-            'issueTracker': 'www.google.com',
-            'version': '1.0.0',
-            'materialIconCodePoint': 0xf012,
-            'extensionAssetsPath': '/absolute/path/to/foo/extension',
-            'devtoolsOptionsUri':
-                'file:///path/to/package/devtools_options.yaml',
-            'isPubliclyHosted': 'false',
-            'detectedFromStaticContext': 'false',
-          });
-        },
-        throwsInvalidNameError(),
-      );
+      expect(() {
+        DevToolsExtensionConfig.parse({
+          'name': 'Name_With_Capital_Letters',
+          'issueTracker': 'www.google.com',
+          'version': '1.0.0',
+          'materialIconCodePoint': 0xf012,
+          'extensionAssetsPath': '/absolute/path/to/foo/extension',
+          'devtoolsOptionsUri': 'file:///path/to/package/devtools_options.yaml',
+          'isPubliclyHosted': 'false',
+          'detectedFromStaticContext': 'false',
+        });
+      }, throwsInvalidNameError());
 
-      expect(
-        () {
-          DevToolsExtensionConfig.parse({
-            'name': 'name.with\'specialchars/',
-            'issueTracker': 'www.google.com',
-            'version': '1.0.0',
-            'materialIconCodePoint': 0xf012,
-            'extensionAssetsPath': '/absolute/path/to/foo/extension',
-            'devtoolsOptionsUri':
-                'file:///path/to/package/devtools_options.yaml',
-            'isPubliclyHosted': 'false',
-            'detectedFromStaticContext': 'false',
-          });
-        },
-        throwsInvalidNameError(),
-      );
+      expect(() {
+        DevToolsExtensionConfig.parse({
+          'name': 'name.with\'specialchars/',
+          'issueTracker': 'www.google.com',
+          'version': '1.0.0',
+          'materialIconCodePoint': 0xf012,
+          'extensionAssetsPath': '/absolute/path/to/foo/extension',
+          'devtoolsOptionsUri': 'file:///path/to/package/devtools_options.yaml',
+          'isPubliclyHosted': 'false',
+          'detectedFromStaticContext': 'false',
+        });
+      }, throwsInvalidNameError());
     });
   });
 }
diff --git a/packages/devtools_shared/test/helpers/extension_test_manager.dart b/packages/devtools_shared/test/helpers/extension_test_manager.dart
index 0355e72..323ab81 100644
--- a/packages/devtools_shared/test/helpers/extension_test_manager.dart
+++ b/packages/devtools_shared/test/helpers/extension_test_manager.dart
@@ -94,8 +94,9 @@
     // Generate the .dart_tool/package_config.json file for each Dart package.
     final testDirectoryContents = testDirectory.listSync();
     expect(testDirectoryContents.length, 2);
-    final packageRoots =
-        Directory.fromUri(packagesRootUri).listSync().whereType<Directory>();
+    final packageRoots = Directory.fromUri(
+      packagesRootUri,
+    ).listSync().whereType<Directory>();
     expect(packageRoots.length, 4);
 
     for (final packageRoot in packageRoots) {
@@ -103,11 +104,10 @@
 
       // Run `dart pub get` on this package to generate the
       // `.dart_tool/package_config.json` file.
-      final process = await Process.run(
-        Platform.resolvedExecutable,
-        ['pub', 'get'],
-        workingDirectory: packageRoot.path,
-      );
+      final process = await Process.run(Platform.resolvedExecutable, [
+        'pub',
+        'get',
+      ], workingDirectory: packageRoot.path);
       if (process.exitCode != 0) {
         throw Exception(
           'Encountered error while running pub get. Exit code: '
@@ -174,13 +174,13 @@
 
   void setupWorkspace(TestPackage package) {
     File(
-      p.join(
-        testDirectory.path,
-        'packages',
-        'workspace_root',
-        'pubspec.yaml',
-      ),
-    )
+        p.join(
+          testDirectory.path,
+          'packages',
+          'workspace_root',
+          'pubspec.yaml',
+        ),
+      )
       ..createSync(recursive: true)
       ..writeAsStringSync('''
 name: _
@@ -190,14 +190,14 @@
   - ${package.name}
 ''');
     File(
-      p.join(
-        testDirectory.path,
-        'packages',
-        'workspace_root',
-        package.name,
-        'pubspec.yaml',
-      ),
-    )
+        p.join(
+          testDirectory.path,
+          'packages',
+          'workspace_root',
+          package.name,
+          'pubspec.yaml',
+        ),
+      )
       ..createSync(recursive: true)
       ..writeAsStringSync('''
 ${package.pubspecContent}
@@ -244,12 +244,13 @@
       ..createSync(recursive: true);
     _packagesRootUri = Uri.file(packagesDirectory.uri.toFilePath());
 
-    final projectRootDirectory =
-        Directory(p.join(packagesDirectory.path, package.name))
-          ..createSync(recursive: true);
+    final projectRootDirectory = Directory(
+      p.join(packagesDirectory.path, package.name),
+    )..createSync(recursive: true);
     if (isRuntimeRoot) {
-      final directoryPath =
-          Uri.file(projectRootDirectory.uri.toFilePath()).toString();
+      final directoryPath = Uri.file(
+        projectRootDirectory.uri.toFilePath(),
+      ).toString();
       // Remove the trailing slash and set the value of [packagesRoot].
       _runtimeAppRoot = directoryPath.substring(0, directoryPath.length - 1);
     }
@@ -267,9 +268,9 @@
         package.relativePathFromExtensions,
       ),
     )..createSync(recursive: true);
-    final extensionDir =
-        Directory(p.join(extensionDirectory.path, 'extension', 'devtools'))
-          ..createSync(recursive: true);
+    final extensionDir = Directory(
+      p.join(extensionDirectory.path, 'extension', 'devtools'),
+    )..createSync(recursive: true);
     Directory(p.join(extensionDir.path, 'build')).createSync(recursive: true);
 
     File(p.join(extensionDir.path, 'config.yaml'))
@@ -288,8 +289,9 @@
 }) {
   return TestPackage(
     name: originalPackage.name,
-    dependencies:
-        includeDependenciesWithExtensions ? originalPackage.dependencies : [],
+    dependencies: includeDependenciesWithExtensions
+        ? originalPackage.dependencies
+        : [],
     pathToExtensions: originalPackage.pathToExtensions,
   );
 }
@@ -383,9 +385,9 @@
     required this.isPubliclyHosted,
     required this.packageVersion,
     String? relativePathFromExtensions,
-  })  : assert(isPubliclyHosted == (packageVersion != null)),
-        relativePathFromExtensions =
-            relativePathFromExtensions ?? name.toLowerCase();
+  }) : assert(isPubliclyHosted == (packageVersion != null)),
+       relativePathFromExtensions =
+           relativePathFromExtensions ?? name.toLowerCase();
 
   final String name;
   final String issueTracker;
@@ -400,7 +402,8 @@
   /// Uses the paths separator for the current platform.
   final String relativePathFromExtensions;
 
-  String get configYamlContent => '''
+  String get configYamlContent =>
+      '''
 name: $name
 issueTracker: $issueTracker
 version: $version
@@ -408,7 +411,8 @@
 ${!requiresConnection ? 'requiresConnection: false' : ''}
 ''';
 
-  String get pubspecContent => '''
+  String get pubspecContent =>
+      '''
 name: ${name.toLowerCase()}
 environment:
   sdk: ">=3.4.0-282.1.beta <4.0.0"
@@ -426,7 +430,8 @@
   final List<TestPackageWithExtension> dependencies;
   final String pathToExtensions;
 
-  String get pubspecContent => '''
+  String get pubspecContent =>
+      '''
 name: $name
 environment:
   sdk: "^3.5.0"
diff --git a/packages/devtools_shared/test/helpers/extension_test_manager_test.dart b/packages/devtools_shared/test/helpers/extension_test_manager_test.dart
index 9bf976d..e810145 100644
--- a/packages/devtools_shared/test/helpers/extension_test_manager_test.dart
+++ b/packages/devtools_shared/test/helpers/extension_test_manager_test.dart
@@ -51,24 +51,18 @@
         staticExtension1Package.relativePathFromExtensions,
         staticExtension1Package.name,
       );
-      expect(
-        staticExtension1Package.pubspecContent,
-        '''
+      expect(staticExtension1Package.pubspecContent, '''
 name: static_extension_1
 environment:
   sdk: ">=3.4.0-282.1.beta <4.0.0"
-''',
-      );
-      expect(
-        staticExtension1Package.configYamlContent,
-        '''
+''');
+      expect(staticExtension1Package.configYamlContent, '''
 name: static_extension_1
 issueTracker: https://www.google.com/
 version: 1.0.0
 materialIconCodePoint: 58634
 requiresConnection: false
-''',
-      );
+''');
     });
 
     test('$staticExtension2Package', () {
@@ -83,24 +77,18 @@
         staticExtension2Package.relativePathFromExtensions,
         staticExtension2Package.name,
       );
-      expect(
-        staticExtension2Package.pubspecContent,
-        '''
+      expect(staticExtension2Package.pubspecContent, '''
 name: static_extension_2
 environment:
   sdk: ">=3.4.0-282.1.beta <4.0.0"
-''',
-      );
-      expect(
-        staticExtension2Package.configYamlContent,
-        '''
+''');
+      expect(staticExtension2Package.configYamlContent, '''
 name: static_extension_2
 issueTracker: https://www.google.com/
 version: 2.0.0
 materialIconCodePoint: 58634
 requiresConnection: false
-''',
-      );
+''');
     });
 
     test('$newerStaticExtension1Package', () {
@@ -118,24 +106,18 @@
         newerStaticExtension1Package.relativePathFromExtensions,
         p.join('newer', 'static_extension_1'),
       );
-      expect(
-        newerStaticExtension1Package.pubspecContent,
-        '''
+      expect(newerStaticExtension1Package.pubspecContent, '''
 name: static_extension_1
 environment:
   sdk: ">=3.4.0-282.1.beta <4.0.0"
-''',
-      );
-      expect(
-        newerStaticExtension1Package.configYamlContent,
-        '''
+''');
+      expect(newerStaticExtension1Package.configYamlContent, '''
 name: static_extension_1
 issueTracker: https://www.google.com/
 version: 2.0.0
 materialIconCodePoint: 58634
 requiresConnection: false
-''',
-      );
+''');
     });
 
     test('$badExtensionPackage', () {
@@ -150,24 +132,18 @@
         badExtensionPackage.relativePathFromExtensions,
         badExtensionPackage.name.toLowerCase(),
       );
-      expect(
-        badExtensionPackage.pubspecContent,
-        '''
+      expect(badExtensionPackage.pubspecContent, '''
 name: bad_extension
 environment:
   sdk: ">=3.4.0-282.1.beta <4.0.0"
-''',
-      );
-      expect(
-        badExtensionPackage.configYamlContent,
-        '''
+''');
+      expect(badExtensionPackage.configYamlContent, '''
 name: BAD_EXTENSION
 issueTracker: https://www.google.com/
 version: 1.0.0
 materialIconCodePoint: 58634
 
-''',
-      );
+''');
     });
   });
 
@@ -175,9 +151,7 @@
     test('$myAppPackage', () {
       expect(myAppPackage.name, 'my_app');
       expect(myAppPackage.dependencies.length, 3);
-      expect(
-        myAppPackage.pubspecContent,
-        '''
+      expect(myAppPackage.pubspecContent, '''
 name: my_app
 environment:
   sdk: "^3.5.0"
@@ -187,16 +161,13 @@
   static_extension_1:
     path: ../../extensions/static_extension_1
 
-''',
-      );
+''');
     });
 
     test('$myAppPackageWithBadExtension', () {
       expect(myAppPackageWithBadExtension.name, 'my_app');
       expect(myAppPackageWithBadExtension.dependencies.length, 4);
-      expect(
-        myAppPackageWithBadExtension.pubspecContent,
-        '''
+      expect(myAppPackageWithBadExtension.pubspecContent, '''
 name: my_app
 environment:
   sdk: "^3.5.0"
@@ -208,16 +179,13 @@
   bad_extension:
     path: ../../extensions/bad_extension
 
-''',
-      );
+''');
     });
 
     test('$otherRoot1Package', () {
       expect(otherRoot1Package.name, 'other_root_1');
       expect(otherRoot1Package.dependencies.length, 2);
-      expect(
-        otherRoot1Package.pubspecContent,
-        '''
+      expect(otherRoot1Package.pubspecContent, '''
 name: other_root_1
 environment:
   sdk: "^3.5.0"
@@ -227,16 +195,13 @@
   static_extension_2:
     path: ../../extensions/static_extension_2
 
-''',
-      );
+''');
     });
 
     test('$otherRoot2Package', () {
       expect(otherRoot2Package.name, 'other_root_2');
       expect(otherRoot2Package.dependencies.length, 1);
-      expect(
-        otherRoot2Package.pubspecContent,
-        '''
+      expect(otherRoot2Package.pubspecContent, '''
 name: other_root_2
 environment:
   sdk: "^3.5.0"
@@ -244,8 +209,7 @@
   static_extension_1:
     path: ../../extensions/newer/static_extension_1
 
-''',
-      );
+''');
     });
 
     test('createTestPackageFrom when excluding dependencies', () {
@@ -253,58 +217,46 @@
         myAppPackage,
         includeDependenciesWithExtensions: false,
       );
-      expect(
-        pkg.pubspecContent,
-        '''
+      expect(pkg.pubspecContent, '''
 name: my_app
 environment:
   sdk: "^3.5.0"
 dependencies:
 
-''',
-      );
+''');
       pkg = createTestPackageFrom(
         myAppPackageWithBadExtension,
         includeDependenciesWithExtensions: false,
       );
-      expect(
-        pkg.pubspecContent,
-        '''
+      expect(pkg.pubspecContent, '''
 name: my_app
 environment:
   sdk: "^3.5.0"
 dependencies:
 
-''',
-      );
+''');
       pkg = createTestPackageFrom(
         otherRoot1Package,
         includeDependenciesWithExtensions: false,
       );
-      expect(
-        pkg.pubspecContent,
-        '''
+      expect(pkg.pubspecContent, '''
 name: other_root_1
 environment:
   sdk: "^3.5.0"
 dependencies:
 
-''',
-      );
+''');
       pkg = createTestPackageFrom(
         otherRoot2Package,
         includeDependenciesWithExtensions: false,
       );
-      expect(
-        pkg.pubspecContent,
-        '''
+      expect(pkg.pubspecContent, '''
 name: other_root_2
 environment:
   sdk: "^3.5.0"
 dependencies:
 
-''',
-      );
+''');
     });
   });
 }
diff --git a/packages/devtools_shared/test/helpers/helpers.dart b/packages/devtools_shared/test/helpers/helpers.dart
index 523795b..3f174aa 100644
--- a/packages/devtools_shared/test/helpers/helpers.dart
+++ b/packages/devtools_shared/test/helpers/helpers.dart
@@ -9,10 +9,7 @@
 import 'package:devtools_shared/devtools_shared.dart';
 import 'package:path/path.dart' as path;
 
-typedef TestDtdConnectionInfo = ({
-  DtdInfo? info,
-  Process? process,
-});
+typedef TestDtdConnectionInfo = ({DtdInfo? info, Process? process});
 
 /// Helper method to start DTD for the purpose of testing.
 Future<TestDtdConnectionInfo> startDtd() async {
@@ -25,28 +22,25 @@
   TestDtdConnectionInfo onFailure() => (info: null, process: dtdProcess);
 
   try {
-    dtdProcess = await Process.start(
-      Platform.resolvedExecutable,
-      ['tooling-daemon', '--machine'],
-    );
+    dtdProcess = await Process.start(Platform.resolvedExecutable, [
+      'tooling-daemon',
+      '--machine',
+    ]);
 
     dtdStoutSubscription = dtdProcess.stdout.listen((List<int> data) {
       try {
         final decoded = utf8.decode(data);
         final json = jsonDecode(decoded) as Map<String, Object?>;
-        if (json
-            case {
-              'tooling_daemon_details': {
-                'uri': final String uri,
-                'trusted_client_secret': final String secret,
-              }
-            }) {
-          completer.complete(
-            (
-              info: DtdInfo(Uri.parse(uri), secret: secret),
-              process: dtdProcess,
-            ),
-          );
+        if (json case {
+          'tooling_daemon_details': {
+            'uri': final String uri,
+            'trusted_client_secret': final String secret,
+          },
+        }) {
+          completer.complete((
+            info: DtdInfo(Uri.parse(uri), secret: secret),
+            process: dtdProcess,
+          ));
         } else {
           completer.complete(onFailure());
         }
@@ -58,9 +52,9 @@
     return await completer.future
         .timeout(dtdConnectTimeout, onTimeout: onFailure)
         .then((value) async {
-      await dtdStoutSubscription?.cancel();
-      return value;
-    });
+          await dtdStoutSubscription?.cancel();
+          return value;
+        });
   } catch (e) {
     await dtdStoutSubscription?.cancel();
     return onFailure();
@@ -78,11 +72,11 @@
 
   Future<String> start() async {
     await _initTestApp();
-    process = await Process.start(
-      Platform.resolvedExecutable,
-      ['--observe=0', 'run', 'bin/main.dart'],
-      workingDirectory: directory.path,
-    );
+    process = await Process.start(Platform.resolvedExecutable, [
+      '--observe=0',
+      'run',
+      'bin/main.dart',
+    ], workingDirectory: directory.path);
 
     final serviceUriCompleter = Completer<String>();
     late StreamSubscription sub;
@@ -90,13 +84,13 @@
         .transform(utf8.decoder)
         .transform(const LineSplitter())
         .listen((line) async {
-      if (line.contains(dartVMServiceRegExp)) {
-        await sub.cancel();
-        serviceUriCompleter.complete(
-          dartVMServiceRegExp.firstMatch(line)!.group(1),
-        );
-      }
-    });
+          if (line.contains(dartVMServiceRegExp)) {
+            await sub.cancel();
+            serviceUriCompleter.complete(
+              dartVMServiceRegExp.firstMatch(line)!.group(1),
+            );
+          }
+        });
     return await serviceUriCompleter.future.timeout(
       const Duration(seconds: 5),
       onTimeout: () async {
diff --git a/packages/devtools_shared/test/semantic_version_test.dart b/packages/devtools_shared/test/semantic_version_test.dart
index 8e22b57..06b637b 100644
--- a/packages/devtools_shared/test/semantic_version_test.dart
+++ b/packages/devtools_shared/test/semantic_version_test.dart
@@ -44,16 +44,10 @@
         preReleaseMajor: 1,
         preReleaseMinor: 2,
       );
-      expect(
-        version.downgrade().toString(),
-        equals('3.2.1'),
-      );
+      expect(version.downgrade().toString(), equals('3.2.1'));
 
       version = SemanticVersion(major: 3, minor: 2, patch: 1);
-      expect(
-        version.downgrade().toString(),
-        equals('3.2.1'),
-      );
+      expect(version.downgrade().toString(), equals('3.2.1'));
       expect(
         version.downgrade(downgradeMajor: true).toString(),
         equals('2.2.1'),
@@ -87,18 +81,27 @@
         isTrue,
       );
       expect(
-        SemanticVersion(major: 1, minor: 1, patch: 2)
-            .isSupported(minSupportedVersion: supportedVersion),
+        SemanticVersion(
+          major: 1,
+          minor: 1,
+          patch: 2,
+        ).isSupported(minSupportedVersion: supportedVersion),
         isTrue,
       );
       expect(
-        SemanticVersion(major: 1, minor: 2, patch: 1)
-            .isSupported(minSupportedVersion: supportedVersion),
+        SemanticVersion(
+          major: 1,
+          minor: 2,
+          patch: 1,
+        ).isSupported(minSupportedVersion: supportedVersion),
         isTrue,
       );
       expect(
-        SemanticVersion(major: 2, minor: 1, patch: 1)
-            .isSupported(minSupportedVersion: supportedVersion),
+        SemanticVersion(
+          major: 2,
+          minor: 1,
+          patch: 1,
+        ).isSupported(minSupportedVersion: supportedVersion),
         isTrue,
       );
       expect(
@@ -123,10 +126,7 @@
         version.compareTo(SemanticVersion(major: 2, minor: 1, patch: 1)),
         equals(-1),
       );
-      expect(
-        version.compareTo(SemanticVersion(major: 1, minor: 1)),
-        equals(1),
-      );
+      expect(version.compareTo(SemanticVersion(major: 1, minor: 1)), equals(1));
       expect(
         version.compareTo(SemanticVersion(major: 1, minor: 1, patch: 1)),
         equals(0),
@@ -184,8 +184,12 @@
         equals('1.1.1'),
       );
       expect(
-        SemanticVersion(major: 1, minor: 1, patch: 1, preReleaseMajor: 17)
-            .toString(),
+        SemanticVersion(
+          major: 1,
+          minor: 1,
+          patch: 1,
+          preReleaseMajor: 17,
+        ).toString(),
         equals('1.1.1-17'),
       );
       expect(
diff --git a/packages/devtools_shared/test/server/devtools_extensions_api_test.dart b/packages/devtools_shared/test/server/devtools_extensions_api_test.dart
index f075b47..185b7ff 100644
--- a/packages/devtools_shared/test/server/devtools_extensions_api_test.dart
+++ b/packages/devtools_shared/test/server/devtools_extensions_api_test.dart
@@ -49,10 +49,9 @@
       includeDependenciesWithExtensions: includeDependenciesWithExtensions,
       includeBadExtension: includeBadExtension,
     );
-    await testDtdConnection!.setIDEWorkspaceRoots(
-      dtd!.info!.secret!,
-      [extensionTestManager.packagesRootUri],
-    );
+    await testDtdConnection!.setIDEWorkspaceRoots(dtd!.info!.secret!, [
+      extensionTestManager.packagesRootUri,
+    ]);
   }
 
   Future<Response> serveExtensions(
@@ -66,8 +65,9 @@
         host: 'localhost',
         path: ExtensionsApi.apiServeAvailableExtensions,
         queryParameters: {
-          ExtensionsApi.packageRootUriPropertyName:
-              includeRuntimeRoot ? extensionTestManager.runtimeAppRoot : null,
+          ExtensionsApi.packageRootUriPropertyName: includeRuntimeRoot
+              ? extensionTestManager.runtimeAppRoot
+              : null,
         },
       ),
     );
@@ -128,9 +128,7 @@
     test(
       'fails when an exception is thrown and there are no valid extensions',
       () async {
-        await initializeTestDirectory(
-          includeDependenciesWithExtensions: false,
-        );
+        await initializeTestDirectory(includeDependenciesWithExtensions: false);
         extensionsManager = _TestExtensionsManager();
         final response = await serveExtensions(extensionsManager);
         expect(response.statusCode, HttpStatus.internalServerError);
@@ -202,16 +200,16 @@
         ExtensionEnabledState.none.name,
       );
 
-// TODO(kenz): why is existsSync() returning false when I can verify the file
-// contents on the file system at [optionsFileUriString]?
-//       expect(optionsFile.existsSync(), isTrue);
-//       expect(
-//         optionsFile.readAsStringSync(),
-//         '''
-// description: This file stores settings for Dart & Flutter DevTools.
-// documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
-// extensions:''',
-//       );
+      // TODO(kenz): why is existsSync() returning false when I can verify the file
+      // contents on the file system at [optionsFileUriString]?
+      //       expect(optionsFile.existsSync(), isTrue);
+      //       expect(
+      //         optionsFile.readAsStringSync(),
+      //         '''
+      // description: This file stores settings for Dart & Flutter DevTools.
+      // documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
+      // extensions:''',
+      //       );
 
       response = await sendEnabledStateRequest(
         extensionName: 'drift',
@@ -233,16 +231,16 @@
         ExtensionEnabledState.disabled.name,
       );
 
-//       expect(optionsFile.existsSync(), isTrue);
-//       expect(
-//         optionsFile.readAsStringSync(),
-//         '''
-// description: This file stores settings for Dart & Flutter DevTools.
-// documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
-// extensions:
-//   - drift: true
-//   - provider: false''',
-//       );
+      //       expect(optionsFile.existsSync(), isTrue);
+      //       expect(
+      //         optionsFile.readAsStringSync(),
+      //         '''
+      // description: This file stores settings for Dart & Flutter DevTools.
+      // documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
+      // extensions:
+      //   - drift: true
+      //   - provider: false''',
+      //       );
     });
   });
 }
diff --git a/packages/devtools_shared/test/server/dtd_api_test.dart b/packages/devtools_shared/test/server/dtd_api_test.dart
index c54ae54..e6dd18d 100644
--- a/packages/devtools_shared/test/server/dtd_api_test.dart
+++ b/packages/devtools_shared/test/server/dtd_api_test.dart
@@ -19,11 +19,7 @@
       final dtdUri = Uri.parse('ws://dtd/uri');
       final request = Request(
         'get',
-        Uri(
-          scheme: 'https',
-          host: 'localhost',
-          path: DtdApi.apiGetDtdUri,
-        ),
+        Uri(scheme: 'https', host: 'localhost', path: DtdApi.apiGetDtdUri),
       );
       final response = await ServerApi.handle(
         request,
diff --git a/packages/devtools_shared/test/server/general_api_test.dart b/packages/devtools_shared/test/server/general_api_test.dart
index d931d53..c2bb000 100644
--- a/packages/devtools_shared/test/server/general_api_test.dart
+++ b/packages/devtools_shared/test/server/general_api_test.dart
@@ -41,38 +41,32 @@
         );
       }
 
-      test(
-        'succeeds when DTD is not available',
-        () async {
-          final response = await sendNotifyRequest(
-            dtd: null,
-            queryParameters: {
-              apiParameterValueKey: 'fake_uri',
-              apiParameterVmServiceConnected: 'true',
-            },
-          );
-          expect(response.statusCode, HttpStatus.ok);
-          expect(await response.readAsString(), isEmpty);
-        },
-      );
+      test('succeeds when DTD is not available', () async {
+        final response = await sendNotifyRequest(
+          dtd: null,
+          queryParameters: {
+            apiParameterValueKey: 'fake_uri',
+            apiParameterVmServiceConnected: 'true',
+          },
+        );
+        expect(response.statusCode, HttpStatus.ok);
+        expect(await response.readAsString(), isEmpty);
+      });
 
-      test(
-        'returns badRequest for invalid VM service argument',
-        () async {
-          final response = await sendNotifyRequest(
-            dtd: DtdInfo(Uri.parse('ws://dtd/uri'), secret: 'fake_secret'),
-            queryParameters: {
-              apiParameterValueKey: 'fake_uri',
-              apiParameterVmServiceConnected: 'true',
-            },
-          );
-          expect(response.statusCode, HttpStatus.badRequest);
-          expect(
-            await response.readAsString(),
-            contains('Cannot normalize VM service URI'),
-          );
-        },
-      );
+      test('returns badRequest for invalid VM service argument', () async {
+        final response = await sendNotifyRequest(
+          dtd: DtdInfo(Uri.parse('ws://dtd/uri'), secret: 'fake_secret'),
+          queryParameters: {
+            apiParameterValueKey: 'fake_uri',
+            apiParameterVmServiceConnected: 'true',
+          },
+        );
+        expect(response.statusCode, HttpStatus.badRequest);
+        expect(
+          await response.readAsString(),
+          contains('Cannot normalize VM service URI'),
+        );
+      });
       test(
         'returns badRequest for invalid $apiParameterVmServiceConnected argument',
         () async {
@@ -99,8 +93,9 @@
       setUp(() async {
         dtd = await startDtd();
         expect(dtd!.info, isNotNull, reason: 'Error starting DTD for test');
-        testDtdConnection =
-            await DartToolingDaemon.connect(dtd!.info!.localUri);
+        testDtdConnection = await DartToolingDaemon.connect(
+          dtd!.info!.localUri,
+        );
       });
 
       tearDown(() async {
@@ -131,32 +126,28 @@
           expect(currentRoots, containsAll(roots));
         }
 
-        test(
-          'adds and removes workspace roots',
-          () async {
-            await verifyWorkspaceRoots({});
-            final rootUri1 = Uri.parse('file:///Users/me/package_root_1');
-            final rootUri2 = Uri.parse('file:///Users/me/package_root_2');
+        test('adds and removes workspace roots', () async {
+          await verifyWorkspaceRoots({});
+          final rootUri1 = Uri.parse('file:///Users/me/package_root_1');
+          final rootUri2 = Uri.parse('file:///Users/me/package_root_2');
 
-            await updateWorkspaceRoots(root: rootUri1, connected: true);
-            await verifyWorkspaceRoots({rootUri1});
+          await updateWorkspaceRoots(root: rootUri1, connected: true);
+          await verifyWorkspaceRoots({rootUri1});
 
-            // Add a second root and verify the roots are unioned.
-            await updateWorkspaceRoots(root: rootUri2, connected: true);
-            await verifyWorkspaceRoots({rootUri1, rootUri2});
+          // Add a second root and verify the roots are unioned.
+          await updateWorkspaceRoots(root: rootUri2, connected: true);
+          await verifyWorkspaceRoots({rootUri1, rootUri2});
 
-            // Verify duplicates cannot be added.
-            await updateWorkspaceRoots(root: rootUri2, connected: true);
-            await verifyWorkspaceRoots({rootUri1, rootUri2});
+          // Verify duplicates cannot be added.
+          await updateWorkspaceRoots(root: rootUri2, connected: true);
+          await verifyWorkspaceRoots({rootUri1, rootUri2});
 
-            // Verify roots are removed for disconnect events.
-            await updateWorkspaceRoots(root: rootUri2, connected: false);
-            await verifyWorkspaceRoots({rootUri1});
-            await updateWorkspaceRoots(root: rootUri1, connected: false);
-            await verifyWorkspaceRoots({});
-          },
-          timeout: const Timeout.factor(4),
-        );
+          // Verify roots are removed for disconnect events.
+          await updateWorkspaceRoots(root: rootUri2, connected: false);
+          await verifyWorkspaceRoots({rootUri1});
+          await updateWorkspaceRoots(root: rootUri1, connected: false);
+          await verifyWorkspaceRoots({});
+        }, timeout: const Timeout.factor(4));
       });
 
       group('detectRootPackageForVmService', () {
@@ -182,11 +173,11 @@
           expect(vmServiceUri, isNotNull);
           final response =
               await server.VmServiceHandler.detectRootPackageForVmService(
-            vmServiceUriAsString: vmServiceUriString!,
-            vmServiceUri: vmServiceUri!,
-            connected: true,
-            dtd: testDtdConnection!,
-          );
+                vmServiceUriAsString: vmServiceUriString!,
+                vmServiceUri: vmServiceUri!,
+                connected: true,
+                dtd: testDtdConnection!,
+              );
           expect(response.success, true);
           expect(response.message, isNull);
           expect(response.uri, isNotNull);
@@ -196,11 +187,11 @@
         test('succeeds for a disconnect event when cache is empty', () async {
           final response =
               await server.VmServiceHandler.detectRootPackageForVmService(
-            vmServiceUriAsString: vmServiceUriString!,
-            vmServiceUri: Uri.parse('ws://127.0.0.1:63555/fake-uri=/ws'),
-            connected: false,
-            dtd: testDtdConnection!,
-          );
+                vmServiceUriAsString: vmServiceUriString!,
+                vmServiceUri: Uri.parse('ws://127.0.0.1:63555/fake-uri=/ws'),
+                connected: false,
+                dtd: testDtdConnection!,
+              );
           expect(response, (success: true, message: null, uri: null));
         });
 
@@ -211,11 +202,11 @@
             expect(vmServiceUri, isNotNull);
             final response =
                 await server.VmServiceHandler.detectRootPackageForVmService(
-              vmServiceUriAsString: vmServiceUriString!,
-              vmServiceUri: vmServiceUri!,
-              connected: true,
-              dtd: testDtdConnection!,
-            );
+                  vmServiceUriAsString: vmServiceUriString!,
+                  vmServiceUri: vmServiceUri!,
+                  connected: true,
+                  dtd: testDtdConnection!,
+                );
             expect(response.success, true);
             expect(response.message, isNull);
             expect(response.uri, isNotNull);
@@ -223,11 +214,11 @@
 
             final disconnectResponse =
                 await server.VmServiceHandler.detectRootPackageForVmService(
-              vmServiceUriAsString: vmServiceUriString!,
-              vmServiceUri: vmServiceUri,
-              connected: false,
-              dtd: testDtdConnection!,
-            );
+                  vmServiceUriAsString: vmServiceUriString!,
+                  vmServiceUri: vmServiceUri,
+                  connected: false,
+                  dtd: testDtdConnection!,
+                );
             expect(disconnectResponse.success, true);
             expect(disconnectResponse.message, isNull);
             expect(disconnectResponse.uri, isNotNull);
diff --git a/packages/devtools_shared/test/server/persistent_properties_test.dart b/packages/devtools_shared/test/server/persistent_properties_test.dart
index 8358e7a..4f78b19 100644
--- a/packages/devtools_shared/test/server/persistent_properties_test.dart
+++ b/packages/devtools_shared/test/server/persistent_properties_test.dart
@@ -15,8 +15,9 @@
     const storeName = 'test_store';
 
     setUp(() {
-      tempDir =
-          Directory.systemTemp.createTempSync('persistent_properties_test');
+      tempDir = Directory.systemTemp.createTempSync(
+        'persistent_properties_test',
+      );
       properties = IOPersistentProperties(
         storeName,
         documentDirPath: tempDir.path,
diff --git a/packages/devtools_shared/test/service_utils_test.dart b/packages/devtools_shared/test/service_utils_test.dart
index fe3a8df..351a6fb 100644
--- a/packages/devtools_shared/test/service_utils_test.dart
+++ b/packages/devtools_shared/test/service_utils_test.dart
@@ -13,8 +13,9 @@
         equals('http://127.0.0.1:60667/72K34Xmq0X0='),
       );
       expect(
-        normalizeVmServiceUri('http://127.0.0.1:60667/72K34Xmq0X0=/   ')
-            .toString(),
+        normalizeVmServiceUri(
+          'http://127.0.0.1:60667/72K34Xmq0X0=/   ',
+        ).toString(),
         equals('http://127.0.0.1:60667/72K34Xmq0X0=/'),
       );
       expect(
@@ -29,21 +30,24 @@
 
     test('properly strips leading whitespace and trailing URI fragments', () {
       expect(
-        normalizeVmServiceUri('  http://127.0.0.1:60667/72K34Xmq0X0=/#/vm')
-            .toString(),
+        normalizeVmServiceUri(
+          '  http://127.0.0.1:60667/72K34Xmq0X0=/#/vm',
+        ).toString(),
         equals('http://127.0.0.1:60667/72K34Xmq0X0=/'),
       );
       expect(
-        normalizeVmServiceUri('  http://127.0.0.1:60667/72K34Xmq0X0=/#/vm  ')
-            .toString(),
+        normalizeVmServiceUri(
+          '  http://127.0.0.1:60667/72K34Xmq0X0=/#/vm  ',
+        ).toString(),
         equals('http://127.0.0.1:60667/72K34Xmq0X0=/'),
       );
     });
 
     test('properly handles encoded urls', () {
       expect(
-        normalizeVmServiceUri('http%3A%2F%2F127.0.0.1%3A58824%2FCnvgRrQJG7w%3D')
-            .toString(),
+        normalizeVmServiceUri(
+          'http%3A%2F%2F127.0.0.1%3A58824%2FCnvgRrQJG7w%3D',
+        ).toString(),
         equals('http://127.0.0.1:58824/CnvgRrQJG7w='),
       );
 
diff --git a/packages/devtools_shared/test/utils/file_utils_test.dart b/packages/devtools_shared/test/utils/file_utils_test.dart
index fd75504..03b6c9a 100644
--- a/packages/devtools_shared/test/utils/file_utils_test.dart
+++ b/packages/devtools_shared/test/utils/file_utils_test.dart
@@ -46,10 +46,9 @@
 
       _setupTestDirectoryStructure();
 
-      await testDtdConnection!.setIDEWorkspaceRoots(
-        dtd!.info!.secret!,
-        [Uri.parse(projectRootUriString)],
-      );
+      await testDtdConnection!.setIDEWorkspaceRoots(dtd!.info!.secret!, [
+        Uri.parse(projectRootUriString),
+      ]);
     });
 
     tearDown(() async {
@@ -78,12 +77,9 @@
     }
 
     test('packageRootFromFileUriString throw exception for invalid input', () {
-      expect(
-        () async {
-          await packageRootFromFileUriString('/not/a/valid/file/uri');
-        },
-        throwsA(isA<AssertionError>()),
-      );
+      expect(() async {
+        await packageRootFromFileUriString('/not/a/valid/file/uri');
+      }, throwsA(isA<AssertionError>()));
     });
 
     for (final useDtd in const [true, false]) {
@@ -113,10 +109,7 @@
           );
 
           // Dart file under 'benchmark'
-          await verifyPackageRoot(
-            benchmarkFile.uri.toString(),
-            useDtd: useDtd,
-          );
+          await verifyPackageRoot(benchmarkFile.uri.toString(), useDtd: useDtd);
           await verifyPackageRoot(
             benchmarkSubFile.uri.toString(),
             useDtd: useDtd,
@@ -132,14 +125,20 @@
           // Dart file in a nested project.
           await verifyPackageRoot(
             nestedProjectLibFile.uri.toString(),
-            expected:
-                p.posix.join(projectRootUriString, 'example', 'nested_project'),
+            expected: p.posix.join(
+              projectRootUriString,
+              'example',
+              'nested_project',
+            ),
             useDtd: useDtd,
           );
           await verifyPackageRoot(
             nestedProjectTestFile.uri.toString(),
-            expected:
-                p.posix.join(projectRootUriString, 'example', 'nested_project'),
+            expected: p.posix.join(
+              projectRootUriString,
+              'example',
+              'nested_project',
+            ),
             useDtd: useDtd,
           );
 
@@ -201,19 +200,23 @@
 ///       foo_test.dart
 void _setupTestDirectoryStructure() {
   testDirectory = Directory.systemTemp.createTempSync();
-  final projectRootDirectory =
-      Directory(p.joinAll([testDirectory.path, ...projectRootParts]))
-        ..createSync(recursive: true);
-  final projectRootDirectoryUriString =
-      Uri.file(projectRootDirectory.uri.toFilePath()).toString();
+  final projectRootDirectory = Directory(
+    p.joinAll([testDirectory.path, ...projectRootParts]),
+  )..createSync(recursive: true);
+  final projectRootDirectoryUriString = Uri.file(
+    projectRootDirectory.uri.toFilePath(),
+  ).toString();
 
   // Remove the trailing slash and set the value of [projectRoot].
   projectRootUriString = projectRootDirectoryUriString.substring(
-      0, projectRootDirectoryUriString.length - 1);
+    0,
+    projectRootDirectoryUriString.length - 1,
+  );
 
   // Set up the project root contents.
-  Directory(p.join(projectRootDirectory.path, '.dart_tool'))
-      .createSync(recursive: true);
+  Directory(
+    p.join(projectRootDirectory.path, '.dart_tool'),
+  ).createSync(recursive: true);
   libFile = File(p.join(projectRootDirectory.path, 'lib', 'foo.dart'))
     ..createSync(recursive: true);
   libSubFile = File(p.join(projectRootDirectory.path, 'lib', 'sub', 'foo.dart'))
@@ -238,17 +241,17 @@
       'foo_test.dart',
     ),
   )..createSync(recursive: true);
-  benchmarkFile =
-      File(p.join(projectRootDirectory.path, 'benchmark', 'foo.dart'))
-        ..createSync(recursive: true);
+  benchmarkFile = File(
+    p.join(projectRootDirectory.path, 'benchmark', 'foo.dart'),
+  )..createSync(recursive: true);
   benchmarkSubFile = File(
     p.join(projectRootDirectory.path, 'benchmark', 'sub', 'foo.dart'),
   )..createSync(recursive: true);
   exampleFile = File(p.join(projectRootDirectory.path, 'example', 'foo.dart'))
     ..createSync(recursive: true);
-  exampleSubFile =
-      File(p.join(projectRootDirectory.path, 'example', 'sub', 'foo.dart'))
-        ..createSync(recursive: true);
+  exampleSubFile = File(
+    p.join(projectRootDirectory.path, 'example', 'sub', 'foo.dart'),
+  )..createSync(recursive: true);
   // Setup a nested Dart project under the 'example' directory.
   Directory(
     p.join(
@@ -278,7 +281,7 @@
   )..createSync(recursive: true);
   anyFile = File(p.join(projectRootDirectory.path, 'any_name', 'foo.dart'))
     ..createSync(recursive: true);
-  anySubFile =
-      File(p.join(projectRootDirectory.path, 'any_name', 'sub', 'foo.dart'))
-        ..createSync(recursive: true);
+  anySubFile = File(
+    p.join(projectRootDirectory.path, 'any_name', 'sub', 'foo.dart'),
+  )..createSync(recursive: true);
 }
diff --git a/packages/devtools_shared/test/utils/retry_test.dart b/packages/devtools_shared/test/utils/retry_test.dart
index 1bad59f..1968f72 100644
--- a/packages/devtools_shared/test/utils/retry_test.dart
+++ b/packages/devtools_shared/test/utils/retry_test.dart
@@ -52,15 +52,12 @@
 
     test('throws after max retries reached', () async {
       expect(counter, 0);
-      await expectLater(
-        () async {
-          await runWithRetry(
-            callback: () => callback(succeedOnAttempt: 11),
-            maxRetries: 10,
-          );
-        },
-        throwsException,
-      );
+      await expectLater(() async {
+        await runWithRetry(
+          callback: () => callback(succeedOnAttempt: 11),
+          maxRetries: 10,
+        );
+      }, throwsException);
       expect(counter, 10);
     });
 
diff --git a/packages/devtools_test/lib/src/helpers/actions.dart b/packages/devtools_test/lib/src/helpers/actions.dart
index f772168..39ed034 100644
--- a/packages/devtools_test/lib/src/helpers/actions.dart
+++ b/packages/devtools_test/lib/src/helpers/actions.dart
@@ -36,8 +36,9 @@
       findsOneWidget,
       shouldExpect: runWithExpectations,
     );
-    final menuChildren =
-        controller.widget<MenuAnchor>(tabOverflowMenuFinder).menuChildren;
+    final menuChildren = controller
+        .widget<MenuAnchor>(tabOverflowMenuFinder)
+        .menuChildren;
     numTabs += menuChildren.length;
   }
 
@@ -47,12 +48,12 @@
     shouldExpect: runWithExpectations,
   );
 
-  final expectedConnectedControllersCount =
-      devtoolsScreens!.where((s) => s.providesController).length;
-  final expectedDisconnectedControllersCount =
-      devtoolsScreens!
-          .where((s) => s.providesController && !s.screen.requiresConnection)
-          .length;
+  final expectedConnectedControllersCount = devtoolsScreens!
+      .where((s) => s.providesController)
+      .length;
+  final expectedDisconnectedControllersCount = devtoolsScreens!
+      .where((s) => s.providesController && !s.screen.requiresConnection)
+      .length;
   _maybeExpect(
     screenControllers.controllers.length,
     connectedToApp
@@ -66,9 +67,8 @@
     shouldExpect: runWithExpectations,
   );
 
-  final screens =
-      (ScreenMetaData.values.toList()
-        ..removeWhere((data) => !visibleScreenIds.contains(data.id)));
+  final screens = (ScreenMetaData.values.toList()
+    ..removeWhere((data) => !visibleScreenIds.contains(data.id)));
   for (final screen in screens) {
     await switchToScreen(
       controller,
diff --git a/packages/devtools_test/lib/src/mocks/fake_service_extension_manager.dart b/packages/devtools_test/lib/src/mocks/fake_service_extension_manager.dart
index 5be3b19..e9da257 100644
--- a/packages/devtools_test/lib/src/mocks/fake_service_extension_manager.dart
+++ b/packages/devtools_test/lib/src/mocks/fake_service_extension_manager.dart
@@ -86,13 +86,12 @@
     if (extension != null) {
       final value = _getExtensionValueFromJson(name, valueFromJson);
 
-      final enabled =
-          extension is ToggleableServiceExtension
-              ? value == extension.enabledValue
-              // For extensions that have more than two states
-              // (enabled / disabled), we will always consider them to be
-              // enabled with the current value.
-              : true;
+      final enabled = extension is ToggleableServiceExtension
+          ? value == extension.enabledValue
+          // For extensions that have more than two states
+          // (enabled / disabled), we will always consider them to be
+          // enabled with the current value.
+          : true;
 
       await setServiceExtensionState(
         name,
diff --git a/packages/devtools_test/lib/src/mocks/fake_vm_service_wrapper.dart b/packages/devtools_test/lib/src/mocks/fake_vm_service_wrapper.dart
index 353bb76..d6a981e 100644
--- a/packages/devtools_test/lib/src/mocks/fake_vm_service_wrapper.dart
+++ b/packages/devtools_test/lib/src/mocks/fake_vm_service_wrapper.dart
@@ -45,17 +45,16 @@
     }
   }
 
-  static final _defaultProfile =
-      CpuSamples.parse({
-        'samplePeriod': 50,
-        'maxStackDepth': 12,
-        'sampleCount': 0,
-        'timeOriginMicros': 47377796685,
-        'timeExtentMicros': 3000,
-        'pid': 54321,
-        'functions': <Object?>[],
-        'samples': <Object?>[],
-      })!;
+  static final _defaultProfile = CpuSamples.parse({
+    'samplePeriod': 50,
+    'maxStackDepth': 12,
+    'sampleCount': 0,
+    'timeOriginMicros': 47377796685,
+    'timeExtentMicros': 3000,
+    'pid': 54321,
+    'functions': <Object?>[],
+    'samples': <Object?>[],
+  })!;
 
   CpuSamples cpuSamples;
 
@@ -132,10 +131,9 @@
   Future<UriList> lookupPackageUris(String isolateId, List<String> uris) {
     return Future.value(
       UriList(
-        uris:
-            _resolvedUriMap != null
-                ? (uris.map((e) => _resolvedUriMap[e]).toList())
-                : null,
+        uris: _resolvedUriMap != null
+            ? (uris.map((e) => _resolvedUriMap[e]).toList())
+            : null,
       ),
     );
   }
@@ -148,10 +146,9 @@
   }) {
     return Future.value(
       UriList(
-        uris:
-            _reverseResolvedUriMap != null
-                ? (uris.map((e) => _reverseResolvedUriMap[e]).toList())
-                : null,
+        uris: _reverseResolvedUriMap != null
+            ? (uris.map((e) => _reverseResolvedUriMap[e]).toList())
+            : null,
       ),
     );
   }
@@ -192,21 +189,21 @@
 
     allocationProfile.json = allocationProfile.toJson();
     // Fake GC statistics
-    allocationProfile.json![AllocationProfilePrivateViewExtension
-        .heapsKey] = <String, dynamic>{
-      AllocationProfilePrivateViewExtension.newSpaceKey: <String, dynamic>{
-        GCStats.usedKey: 1234,
-        GCStats.capacityKey: 12345,
-        GCStats.collectionsKey: 42,
-        GCStats.timeKey: 69,
-      },
-      AllocationProfilePrivateViewExtension.oldSpaceKey: <String, dynamic>{
-        GCStats.usedKey: 4321,
-        GCStats.capacityKey: 54321,
-        GCStats.collectionsKey: 24,
-        GCStats.timeKey: 96,
-      },
-    };
+    allocationProfile.json![AllocationProfilePrivateViewExtension.heapsKey] =
+        <String, dynamic>{
+          AllocationProfilePrivateViewExtension.newSpaceKey: <String, dynamic>{
+            GCStats.usedKey: 1234,
+            GCStats.capacityKey: 12345,
+            GCStats.collectionsKey: 42,
+            GCStats.timeKey: 69,
+          },
+          AllocationProfilePrivateViewExtension.oldSpaceKey: <String, dynamic>{
+            GCStats.usedKey: 4321,
+            GCStats.capacityKey: 54321,
+            GCStats.collectionsKey: 24,
+            GCStats.timeKey: 96,
+          },
+        };
 
     return Future.value(allocationProfile);
   }
diff --git a/tool/lib/commands/release_helper.dart b/tool/lib/commands/release_helper.dart
index 7e9ded0..4e68d11 100644
--- a/tool/lib/commands/release_helper.dart
+++ b/tool/lib/commands/release_helper.dart
@@ -59,15 +59,14 @@
         if (debug) {
           // Temporarily commit any local changes to this script to the current
           // branch. This commit will be reset at the end of the script.
-          final pathToReleaseHelperScript =
-              Uri.parse(
-                p.posix.join(
-                  DevToolsRepo.getInstance().toolDirectoryPath,
-                  'lib',
-                  'commands',
-                  'release_helper.dart',
-                ),
-              ).toFilePath();
+          final pathToReleaseHelperScript = Uri.parse(
+            p.posix.join(
+              DevToolsRepo.getInstance().toolDirectoryPath,
+              'lib',
+              'commands',
+              'release_helper.dart',
+            ),
+          ).toFilePath();
           await processManager.runProcess(
             CliCommand.git(['add', pathToReleaseHelperScript]),
           );
diff --git a/tool/lib/commands/release_notes_helper.dart b/tool/lib/commands/release_notes_helper.dart
index 5735e7a..6244836 100644
--- a/tool/lib/commands/release_notes_helper.dart
+++ b/tool/lib/commands/release_notes_helper.dart
@@ -143,7 +143,8 @@
       }
     }
 
-    final metadataHeader = '''---
+    final metadataHeader =
+        '''---
 title: DevTools $releaseNotesVersion release notes
 shortTitle: $releaseNotesVersion release notes
 breadcrumb: $releaseNotesVersion
diff --git a/tool/lib/commands/rollback.dart b/tool/lib/commands/rollback.dart
index 04f39b9..de8c5e9 100644
--- a/tool/lib/commands/rollback.dart
+++ b/tool/lib/commands/rollback.dart
@@ -27,14 +27,14 @@
     final repo = DevToolsRepo.getInstance();
     print('DevTools repo at ${repo.repoPath}.');
 
-    final tempDir =
-        (await io.Directory.systemTemp.createTemp(
-          'devtools-rollback',
-        )).absolute;
+    final tempDir = (await io.Directory.systemTemp.createTemp(
+      'devtools-rollback',
+    )).absolute;
     print('file://${tempDir.path}');
     final tarball = io.File('${tempDir.path}/devtools.tar.gz');
-    final extractDir =
-        await io.Directory('${tempDir.path}/extract/').absolute.create();
+    final extractDir = await io.Directory(
+      '${tempDir.path}/extract/',
+    ).absolute.create();
     final client = io.HttpClient();
     final version = argResults![_toVersionArg] as String;
     print('downloading tarball to ${tarball.path}');
diff --git a/tool/lib/commands/serve.dart b/tool/lib/commands/serve.dart
index 6e3243e..9eb7cff 100644
--- a/tool/lib/commands/serve.dart
+++ b/tool/lib/commands/serve.dart
@@ -174,29 +174,27 @@
     }
 
     // Any flag that we aren't removing here is intended to be passed through.
-    final remainingArguments =
-        List.of(results.arguments)
-          ..remove(SharedCommandArgs.updateFlutter.asArg())
-          ..remove(SharedCommandArgs.updateFlutter.asArg(negated: true))
-          ..remove(SharedCommandArgs.updatePerfetto.asArg())
-          ..remove(SharedCommandArgs.wasm.asArg())
-          ..remove(SharedCommandArgs.noStripWasm.asArg())
-          ..remove(SharedCommandArgs.noMinifyWasm.asArg())
-          ..remove(valueAsArg(_buildAppFlag))
-          ..remove(valueAsArg(_buildAppFlag, negated: true))
-          ..remove(SharedCommandArgs.runApp.asArg())
-          ..remove(SharedCommandArgs.debugServer.asArg())
-          ..remove(SharedCommandArgs.pubGet.asArg())
-          ..remove(SharedCommandArgs.pubGet.asArg(negated: true))
-          ..removeWhere(
-            (element) =>
-                element.startsWith(SharedCommandArgs.buildMode.asArg()),
-          )
-          ..removeWhere(
-            (element) => element.startsWith(
-              valueAsArg(SharedCommandArgs.serveWithDartSdk.flagName),
-            ),
-          );
+    final remainingArguments = List.of(results.arguments)
+      ..remove(SharedCommandArgs.updateFlutter.asArg())
+      ..remove(SharedCommandArgs.updateFlutter.asArg(negated: true))
+      ..remove(SharedCommandArgs.updatePerfetto.asArg())
+      ..remove(SharedCommandArgs.wasm.asArg())
+      ..remove(SharedCommandArgs.noStripWasm.asArg())
+      ..remove(SharedCommandArgs.noMinifyWasm.asArg())
+      ..remove(valueAsArg(_buildAppFlag))
+      ..remove(valueAsArg(_buildAppFlag, negated: true))
+      ..remove(SharedCommandArgs.runApp.asArg())
+      ..remove(SharedCommandArgs.debugServer.asArg())
+      ..remove(SharedCommandArgs.pubGet.asArg())
+      ..remove(SharedCommandArgs.pubGet.asArg(negated: true))
+      ..removeWhere(
+        (element) => element.startsWith(SharedCommandArgs.buildMode.asArg()),
+      )
+      ..removeWhere(
+        (element) => element.startsWith(
+          valueAsArg(SharedCommandArgs.serveWithDartSdk.flagName),
+        ),
+      );
 
     final localDartSdkLocation = Platform.environment['LOCAL_DART_SDK'];
     if (localDartSdkLocation == null) {
@@ -271,11 +269,13 @@
 
     void processServeLocalOutput(String line) {
       if (line.startsWith(_debugServerVmServiceLine)) {
-        debugServerVmServiceUri =
-            line.substring(_debugServerVmServiceLine.length).trim();
+        debugServerVmServiceUri = line
+            .substring(_debugServerVmServiceLine.length)
+            .trim();
       } else if (line.startsWith(_debugServerDartDevToolsLine)) {
-        debugServerDevToolsConnection =
-            line.substring(_debugServerDartDevToolsLine.length).trim();
+        debugServerDevToolsConnection = line
+            .substring(_debugServerDartDevToolsLine.length)
+            .trim();
       } else if (line.startsWith(_devToolsServerAddressLine)) {
         // This will pull the server address from a String like:
         // "Serving DevTools at http://127.0.0.1:9104.".
@@ -344,12 +344,14 @@
       void processFlutterRunOutput(String line) {
         if (line.contains(_runAppVmServiceLine)) {
           final index = line.indexOf(_runAppVmServiceLine);
-          devToolsWebAppVmServiceUri =
-              line.substring(index + _runAppVmServiceLine.length).trim();
+          devToolsWebAppVmServiceUri = line
+              .substring(index + _runAppVmServiceLine.length)
+              .trim();
         } else if (line.contains(_runAppFlutterDevToolsLine)) {
           final index = line.indexOf(_runAppFlutterDevToolsLine);
-          devToolsWebAppDevToolsConnection =
-              line.substring(index + _runAppFlutterDevToolsLine.length).trim();
+          devToolsWebAppDevToolsConnection = line
+              .substring(index + _runAppFlutterDevToolsLine.length)
+              .trim();
         }
       }
 
@@ -371,13 +373,12 @@
       );
 
       // Consolidate important stdout content for easy access.
-      final debugServerContent =
-          debugServer
-              ? '''
+      final debugServerContent = debugServer
+          ? '''
 - VM Service URI: $debugServerVmServiceUri
 - DevTools URI for debugging the DevTools server: $debugServerDevToolsConnection
 '''
-              : '';
+          : '';
 
       print('''
 -------------------------------------------------------------------
diff --git a/tool/lib/commands/update_flutter_sdk.dart b/tool/lib/commands/update_flutter_sdk.dart
index 81d5b08..ab11876 100644
--- a/tool/lib/commands/update_flutter_sdk.dart
+++ b/tool/lib/commands/update_flutter_sdk.dart
@@ -49,10 +49,9 @@
     final versionStr = repo.readFile(Uri.parse('flutter-candidate.txt')).trim();
     // If the version string doesn't match the expected pattern for a
     // pre-release tag, then assume it's a commit hash:
-    flutterVersion =
-        _flutterPreReleaseTagRegExp.hasMatch(versionStr)
-            ? 'tags/$versionStr'
-            : versionStr;
+    flutterVersion = _flutterPreReleaseTagRegExp.hasMatch(versionStr)
+        ? 'tags/$versionStr'
+        : versionStr;
 
     log.stdout('Updating to Flutter version from cache: $flutterVersion');
 
diff --git a/tool/lib/commands/update_version.dart b/tool/lib/commands/update_version.dart
index 099be52..02c829a 100644
--- a/tool/lib/commands/update_version.dart
+++ b/tool/lib/commands/update_version.dart
@@ -142,14 +142,13 @@
     }
     if (currentSection == pubspecVersionPrefix &&
         line.startsWith(pubspecVersionPrefix)) {
-      line =
-          [
-            line.substring(
-              0,
-              line.indexOf(pubspecVersionPrefix) + pubspecVersionPrefix.length,
-            ),
-            ' $version',
-          ].join();
+      line = [
+        line.substring(
+          0,
+          line.indexOf(pubspecVersionPrefix) + pubspecVersionPrefix.length,
+        ),
+        ' $version',
+      ].join();
     }
     revisedLines.add(line);
   }
diff --git a/tool/lib/license_utils.dart b/tool/lib/license_utils.dart
index 652e90e..d1d4fb1 100644
--- a/tool/lib/license_utils.dart
+++ b/tool/lib/license_utils.dart
@@ -202,10 +202,9 @@
         .openRead(0, byteCount)
         .transform(utf8.decoder)
         .handleError(
-          (e) =>
-              throw StateError(
-                'License header expected, but error reading file - $e',
-              ),
+          (e) => throw StateError(
+            'License header expected, but error reading file - $e',
+          ),
         );
     await for (final content in stream) {
       // Return just the license headers for the simple case with no stored
@@ -270,8 +269,10 @@
   }) async {
     final includedPathsList = <String>[];
     final updatedPathsList = <String>[];
-    final files =
-        directory.listSync(recursive: true).whereType<File>().toList();
+    final files = directory
+        .listSync(recursive: true)
+        .whereType<File>()
+        .toList();
     for (final file in files) {
       if (!config.shouldExclude(file)) {
         includedPathsList.add(file.path);
@@ -332,10 +333,9 @@
     final storedNameIndex = matchStr.indexOf('<$storedName>');
     if (storedNameIndex != -1) {
       final beforeStoredName = matchStr.substring(0, storedNameIndex);
-      final afterStoredName =
-          matchStr
-              .substring(storedNameIndex + storedName.length + 2)
-              .trimRight();
+      final afterStoredName = matchStr
+          .substring(storedNameIndex + storedName.length + 2)
+          .trimRight();
       final storedMatcher = RegExp(
         r'' +
             beforeStoredName +
diff --git a/tool/lib/model.dart b/tool/lib/model.dart
index ecba1f5..2032b4c 100644
--- a/tool/lib/model.dart
+++ b/tool/lib/model.dart
@@ -114,21 +114,20 @@
         // Do not include the top level devtools/packages directory in the results
         // even though it has a pubspec.yaml file. Also skip any directories
         // specified by [skip].
-        final reason =
-            isTopLevelPackagesDir
-                ? 'each DevTools package is analyzed individually'
-                : '${skip.toString()} directories are intentionally skipped';
+        final reason = isTopLevelPackagesDir
+            ? 'each DevTools package is analyzed individually'
+            : '${skip.toString()} directories are intentionally skipped';
         print('Skipping ${dir.path} in _collectPackages because $reason.');
       } else {
         final ancestor = result.firstWhereOrNull(
           (p) =>
-          // Remove the last segment of [dir]'s pathSegments to ensure we
-          // are only checking ancestors and not sibling directories with
-          // similar names.
-          (List.from(dir.uri.pathSegments)..safeRemoveLast())
-              // TODO(kenz): this may cause issues for Windows paths.
-              .join('/')
-              .startsWith(p.packagePath),
+              // Remove the last segment of [dir]'s pathSegments to ensure we
+              // are only checking ancestors and not sibling directories with
+              // similar names.
+              (List.from(dir.uri.pathSegments)..safeRemoveLast())
+                  // TODO(kenz): this may cause issues for Windows paths.
+                  .join('/')
+                  .startsWith(p.packagePath),
         );
         final ancestorDirectoryAdded = ancestor != null;
         if (!includeSubdirectories && ancestorDirectoryAdded) {
diff --git a/tool/lib/utils.dart b/tool/lib/utils.dart
index 467bea8..bc8d85a 100644
--- a/tool/lib/utils.dart
+++ b/tool/lib/utils.dart
@@ -257,8 +257,8 @@
   try {
     upstreamRemoteResult = remoteRegexpResults.firstWhere(
       (element) =>
-      // ignore: prefer_interpolation_to_compose_strings
-      RegExp(r'' + remoteId + '\$').hasMatch(element.namedGroup('path')!),
+          // ignore: prefer_interpolation_to_compose_strings
+          RegExp(r'' + remoteId + '\$').hasMatch(element.namedGroup('path')!),
     );
   } on StateError {
     throw StateError(
diff --git a/tool/test/license_utils_test.dart b/tool/test/license_utils_test.dart
index 5cbd217..269d00c 100644
--- a/tool/test/license_utils_test.dart
+++ b/tool/test/license_utils_test.dart
@@ -420,8 +420,10 @@
         true,
         reason: '$checkedDirectory does not exist.',
       );
-      final files =
-          checkedDirectory.listSync(recursive: true).whereType<File>().toList();
+      final files = checkedDirectory
+          .listSync(recursive: true)
+          .whereType<File>()
+          .toList();
       final header = LicenseHeader();
       const goodReplacementLicenseText =
           '''// Copyright <copyright_date> The Flutter Authors
@@ -480,7 +482,8 @@
   configFile = File(p.join(testDirectory.path, 'test_config.yaml'))
     ..createSync(recursive: true);
 
-  final contents = '''---
+  final contents =
+      '''---
 # sequence of license text strings that should be matched against at the top of a file and removed. <value>, which normally represents a date, will be stored.
 remove_licenses:
   - |
diff --git a/tool/test/presubmit_test.dart b/tool/test/presubmit_test.dart
index fff0813..1f00f28 100644
--- a/tool/test/presubmit_test.dart
+++ b/tool/test/presubmit_test.dart
@@ -39,18 +39,19 @@
 
       final capturedArgs = <List<String>>[];
       final mockPm = MockProcessManager(
-        onSpawn: (
-          executable,
-          arguments, {
-          workingDirectory,
-          environment,
-          includeParentEnvironment = true,
-          runInShell = false,
-          mode = ProcessStartMode.normal,
-        }) async {
-          capturedArgs.add(arguments.toList());
-          return MockProcess();
-        },
+        onSpawn:
+            (
+              executable,
+              arguments, {
+              workingDirectory,
+              environment,
+              includeParentEnvironment = true,
+              runInShell = false,
+              mode = ProcessStartMode.normal,
+            }) async {
+              capturedArgs.add(arguments.toList());
+              return MockProcess();
+            },
       );
 
       runner.addCommand(PresubmitCommand(processManager: mockPm));
@@ -110,21 +111,22 @@
       runner.addDummyCommand('analyze');
 
       final mockPm = MockProcessManager(
-        onSpawn: (
-          executable,
-          arguments, {
-          workingDirectory,
-          environment,
-          includeParentEnvironment = true,
-          runInShell = false,
-          mode = ProcessStartMode.normal,
-        }) async {
-          if (arguments.contains('format') &&
-              arguments.contains('--set-exit-if-changed')) {
-            return MockProcess(exitCodeValue: 1);
-          }
-          return MockProcess();
-        },
+        onSpawn:
+            (
+              executable,
+              arguments, {
+              workingDirectory,
+              environment,
+              includeParentEnvironment = true,
+              runInShell = false,
+              mode = ProcessStartMode.normal,
+            }) async {
+              if (arguments.contains('format') &&
+                  arguments.contains('--set-exit-if-changed')) {
+                return MockProcess(exitCodeValue: 1);
+              }
+              return MockProcess();
+            },
       );
 
       runner.addCommand(PresubmitCommand(processManager: mockPm));
@@ -141,18 +143,19 @@
 
       final capturedArgs = <List<String>>[];
       final mockPm = MockProcessManager(
-        onSpawn: (
-          executable,
-          arguments, {
-          workingDirectory,
-          environment,
-          includeParentEnvironment = true,
-          runInShell = false,
-          mode = ProcessStartMode.normal,
-        }) async {
-          capturedArgs.add(arguments.toList());
-          return MockProcess();
-        },
+        onSpawn:
+            (
+              executable,
+              arguments, {
+              workingDirectory,
+              environment,
+              includeParentEnvironment = true,
+              runInShell = false,
+              mode = ProcessStartMode.normal,
+            }) async {
+              capturedArgs.add(arguments.toList());
+              return MockProcess();
+            },
       );
 
       runner.addCommand(PresubmitCommand(processManager: mockPm));