Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fixed linting errors
  • Loading branch information
jyameo committed Dec 2, 2025
commit 228d095f588d963fad274a3111511dfdd13be361
28 changes: 15 additions & 13 deletions dwds/lib/dart_web_debug_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,23 @@

import 'dart:async';

import 'package:dwds/data/build_result.dart';
import 'package:dwds/src/config/tool_configuration.dart';
import 'package:dwds/src/connections/app_connection.dart';
import 'package:dwds/src/connections/debug_connection.dart';
import 'package:dwds/src/events.dart';
import 'package:dwds/src/handlers/dev_handler.dart';
import 'package:dwds/src/handlers/injector.dart';
import 'package:dwds/src/handlers/socket_connections.dart';
import 'package:dwds/src/readers/asset_reader.dart';
import 'package:dwds/src/servers/devtools.dart';
import 'package:dwds/src/servers/extension_backend.dart';
import 'package:logging/logging.dart';
import 'package:shelf/shelf.dart';
import 'package:sse/server/sse_handler.dart';
import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart';

import 'data/build_result.dart';
import 'src/config/tool_configuration.dart';
import 'src/connections/app_connection.dart';
import 'src/connections/debug_connection.dart';
import 'src/events.dart';
import 'src/handlers/dev_handler.dart';
import 'src/handlers/injector.dart';
import 'src/handlers/socket_connections.dart';
import 'src/readers/asset_reader.dart';
import 'src/servers/devtools.dart';
import 'src/servers/extension_backend.dart';

typedef ConnectionProvider = Future<ChromeConnection> Function();

/// The Dart Web Debug Service.
Expand Down Expand Up @@ -145,8 +146,9 @@ class Dwds {
debugSettings.expressionCompiler,
injected,
DartDevelopmentServiceConfiguration(
// This technically isn't correct, but DartDevelopmentServiceConfiguration.enable
// is true by default, so this won't break unmigrated tools.
// This technically isn't correct, but
// DartDevelopmentServiceConfiguration.enable is true by default,
// so this won't break unmigrated tools.
// ignore: deprecated_member_use_from_same_package
enable: debugSettings.spawnDds && debugSettings.ddsConfiguration.enable,
// ignore: deprecated_member_use_from_same_package
Expand Down
18 changes: 9 additions & 9 deletions dwds/lib/dwds.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

export 'dart_web_debug_service.dart' show Dwds, ConnectionProvider;
export 'dart_web_debug_service.dart' show ConnectionProvider, Dwds;
export 'src/config/tool_configuration.dart'
show
AppMetadata,
UrlEncoder,
DartDevelopmentServiceConfiguration,
DevToolsLauncher,
DebugSettings,
ToolConfiguration;
DevToolsLauncher,
ToolConfiguration,
UrlEncoder;
export 'src/connections/app_connection.dart' show AppConnection;
export 'src/connections/debug_connection.dart' show DebugConnection;
export 'src/debugging/metadata/provider.dart'
show MetadataProvider, AbsoluteImportUriException;
show AbsoluteImportUriException, MetadataProvider;
export 'src/events.dart' show DwdsEvent;
export 'src/handlers/dev_handler.dart' show AppConnectionException;
export 'src/handlers/socket_connections.dart';
Expand All @@ -28,7 +28,7 @@ export 'src/loaders/frontend_server_strategy_provider.dart'
FrontendServerRequireStrategyProvider;
export 'src/loaders/require.dart' show RequireStrategy;
export 'src/loaders/strategy.dart'
show LoadStrategy, ReloadConfiguration, BuildSettings;
show BuildSettings, LoadStrategy, ReloadConfiguration;
export 'src/readers/asset_reader.dart' show AssetReader, PackageUriMapper;
export 'src/readers/frontend_server_asset_reader.dart'
show FrontendServerAssetReader;
Expand All @@ -38,12 +38,12 @@ export 'src/services/chrome/chrome_debug_exception.dart'
show ChromeDebugException;
export 'src/services/expression_compiler.dart'
show
CompilerOptions,
ExpressionCompilationResult,
ExpressionCompiler,
ModuleInfo,
CompilerOptions;
ModuleInfo;
export 'src/services/expression_compiler_service.dart'
show ExpressionCompilerService;
export 'src/utilities/ddc_names.dart';
export 'src/utilities/sdk_configuration.dart'
show SdkLayout, SdkConfiguration, SdkConfigurationProvider;
show SdkConfiguration, SdkConfigurationProvider, SdkLayout;
2 changes: 1 addition & 1 deletion dwds/lib/expression_compiler.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

export 'src/services/expression_compiler.dart'
show
CompilerOptions,
ExpressionCompilationResult,
ExpressionCompiler,
CompilerOptions,
ModuleFormat,
ModuleInfo;
4 changes: 2 additions & 2 deletions dwds/lib/sdk_configuration.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

export 'src/utilities/sdk_configuration.dart'
show
SdkLayout,
DefaultSdkConfigurationProvider,
SdkConfiguration,
SdkConfigurationProvider,
DefaultSdkConfigurationProvider;
SdkLayout;
2 changes: 1 addition & 1 deletion dwds/lib/shared/batched_stream.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import 'dart:async';
import 'dart:math';
import 'package:async/async.dart';
import 'package:dwds/src/utilities/shared.dart';
import '../src/utilities/shared.dart';

/// Stream controller allowing to batch events.
class BatchedStreamController<T> {
Expand Down
6 changes: 3 additions & 3 deletions dwds/lib/src/config/tool_configuration.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'package:dwds/src/loaders/strategy.dart';
import 'package:dwds/src/servers/devtools.dart';
import 'package:dwds/src/services/expression_compiler.dart';
import '../loaders/strategy.dart';
import '../servers/devtools.dart';
import '../services/expression_compiler.dart';

/// Configuration about the app, debug settings, and file system.
///
Expand Down
10 changes: 5 additions & 5 deletions dwds/lib/src/connections/app_connection.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
import 'dart:async';
import 'dart:convert';

import 'package:dwds/data/connect_request.dart';
import 'package:dwds/data/run_request.dart';
import 'package:dwds/data/serializers.dart';
import 'package:dwds/src/handlers/socket_connections.dart';
import 'package:dwds/src/utilities/shared.dart';
import '../../data/connect_request.dart';
import '../../data/run_request.dart';
import '../../data/serializers.dart';
import '../handlers/socket_connections.dart';
import '../utilities/shared.dart';

/// A connection between the application loaded in the browser and DWDS.
class AppConnection {
Expand Down
39 changes: 20 additions & 19 deletions dwds/lib/src/debugging/chrome_inspector.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,30 @@

import 'dart:math' as math;

import 'package:dwds/src/config/tool_configuration.dart';
import 'package:dwds/src/connections/app_connection.dart';
import 'package:dwds/src/debugging/classes.dart';
import 'package:dwds/src/debugging/debugger.dart';
import 'package:dwds/src/debugging/execution_context.dart';
import 'package:dwds/src/debugging/inspector.dart';
import 'package:dwds/src/debugging/instance.dart';
import 'package:dwds/src/debugging/libraries.dart';
import 'package:dwds/src/debugging/location.dart';
import 'package:dwds/src/debugging/metadata/provider.dart';
import 'package:dwds/src/debugging/remote_debugger.dart';
import 'package:dwds/src/loaders/ddc_library_bundle.dart';
import 'package:dwds/src/readers/asset_reader.dart';
import 'package:dwds/src/utilities/conversions.dart';
import 'package:dwds/src/utilities/dart_uri.dart';
import 'package:dwds/src/utilities/domain.dart';
import 'package:dwds/src/utilities/objects.dart';
import 'package:dwds/src/utilities/server.dart';
import 'package:dwds/src/utilities/shared.dart';
import 'package:logging/logging.dart';
import 'package:vm_service/vm_service.dart';
import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart';

import '../config/tool_configuration.dart';
import '../connections/app_connection.dart';
import '../loaders/ddc_library_bundle.dart';
import '../readers/asset_reader.dart';
import '../utilities/conversions.dart';
import '../utilities/dart_uri.dart';
import '../utilities/domain.dart';
import '../utilities/objects.dart';
import '../utilities/server.dart';
import '../utilities/shared.dart';
import 'classes.dart';
import 'debugger.dart';
import 'execution_context.dart';
import 'inspector.dart';
import 'instance.dart';
import 'libraries.dart';
import 'location.dart';
import 'metadata/provider.dart';
import 'remote_debugger.dart';

/// An inspector for a running Dart application contained in the
/// [WipConnection].
///
Expand Down
11 changes: 6 additions & 5 deletions dwds/lib/src/debugging/classes.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'package:dwds/src/config/tool_configuration.dart';
import 'package:dwds/src/debugging/chrome_inspector.dart';
import 'package:dwds/src/debugging/metadata/class.dart';
import 'package:dwds/src/services/chrome/chrome_debug_exception.dart';
import 'package:dwds/src/utilities/shared.dart';
import 'package:vm_service/vm_service.dart';
import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart';

import '../config/tool_configuration.dart';
import '../services/chrome/chrome_debug_exception.dart';
import '../utilities/shared.dart';
import 'chrome_inspector.dart';
import 'metadata/class.dart';

/// Keeps track of Dart classes available in the running application.
class ChromeAppClassHelper {
/// Map of class ID to [Class].
Expand Down
39 changes: 25 additions & 14 deletions dwds/lib/src/debugging/dart_runtime_debugger.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'package:dwds/src/loaders/strategy.dart';
import '../loaders/strategy.dart';

class DartRuntimeDebugger {
final LoadStrategy _loadStrategy;
Expand Down Expand Up @@ -104,15 +104,18 @@ class DartRuntimeDebugger {
return _wrapInIIFE(expression);
}

/// Generates a JS expression for retrieving Dart Developer Extension Names.
/// Generates a JS expression for retrieving Dart Developer Extension
/// Names.
String getDartDeveloperExtensionNamesJsExpression() {
return _generateJsExpression(
"${_loadStrategy.loadModuleSnippet}('dart_sdk').developer._extensions.keys.toList();",
"${_loadStrategy.loadModuleSnippet}('dart_sdk').developer"
'._extensions.keys.toList();',
'dartDevEmbedder.debugger.extensionNames',
);
}

/// Generates a JS expression for retrieving metadata of classes in a library.
/// Generates a JS expression for retrieving metadata of classes in a
/// library.
String getClassesInLibraryJsExpression(String libraryUri) {
final expression = _buildExpression(
'',
Expand Down Expand Up @@ -167,32 +170,39 @@ class DartRuntimeDebugger {
);
}

/// Generates a JS expression for calling an instance method on an object.
/// Generates a JS expression for calling an instance method on an
/// object.
String callInstanceMethodJsExpression(String methodName) {
String generateInstanceMethodJsExpression(String functionCall) {
return '''
function () {
if (!Object.getPrototypeOf(this)) { return 'Instance of PlainJavaScriptObject'; }
if (!Object.getPrototypeOf(this)) {
return 'Instance of PlainJavaScriptObject';
}
return $functionCall;
}
''';
}

return _generateJsExpression(
generateInstanceMethodJsExpression(
'${_loadStrategy.loadModuleSnippet}("dart_sdk").dart.dsendRepl(this, "$methodName", arguments)',
'${_loadStrategy.loadModuleSnippet}("dart_sdk").dart'
'.dsendRepl(this, "$methodName", arguments)',
),
generateInstanceMethodJsExpression(
'dartDevEmbedder.debugger.callInstanceMethod(this, "$methodName", arguments)',
'dartDevEmbedder.debugger'
'.callInstanceMethod(this, "$methodName", arguments)',
),
);
}

/// Generates a JS expression to invoke a Dart extension method.
String invokeExtensionJsExpression(String methodName, String encodedJson) {
return _generateJsExpression(
"${_loadStrategy.loadModuleSnippet}('dart_sdk').developer.invokeExtension('$methodName', JSON.stringify($encodedJson));",
"dartDevEmbedder.debugger.invokeExtension('$methodName', JSON.stringify($encodedJson));",
"${_loadStrategy.loadModuleSnippet}('dart_sdk').developer"
".invokeExtension('$methodName', JSON.stringify($encodedJson));",
'dartDevEmbedder.debugger'
".invokeExtension('$methodName', JSON.stringify($encodedJson));",
);
}

Expand All @@ -209,14 +219,15 @@ class DartRuntimeDebugger {
})();
''';

// `callLibraryMethod` expects an array of arguments. Chrome DevTools spreads
// arguments individually when calling functions. This code reconstructs the
// expected argument array.
// `callLibraryMethod` expects an array of arguments. Chrome DevTools
// spreads arguments individually when calling functions. This code
// reconstructs the expected argument array.
return _generateJsExpression(
findLibraryExpression,
_wrapWithBundleLoader(
'',
'callLibraryMethod("$libraryUri", "$methodName", Array.from(arguments))',
'callLibraryMethod("$libraryUri", "$methodName", '
'Array.from(arguments))',
),
);
}
Expand Down
5 changes: 3 additions & 2 deletions dwds/lib/src/debugging/dart_scope.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'package:dwds/src/debugging/chrome_inspector.dart';
import 'package:dwds/src/utilities/objects.dart';
import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart';

import '../utilities/objects.dart';
import 'chrome_inspector.dart';

/// The regular expressions used to filter out temp variables.
/// Needs to be kept in sync with SDK repo.
///
Expand Down
Loading
Loading