diff --git a/pkg/dartpad/lib/dartpad.dart b/pkg/dartpad/lib/dartpad.dart index 6e17e07b42a..eac21410a88 100644 --- a/pkg/dartpad/lib/dartpad.dart +++ b/pkg/dartpad/lib/dartpad.dart @@ -19,7 +19,8 @@ import 'src/worker_client.dart'; export 'src/dartpad_config.dart' show DartPadConfig; export 'src/exceptions.dart' hide rethrowAsDartPadException; export 'src/sandbox.dart' show Sandbox; -export 'src/worker_client.dart' show LanguageServer, Workspace; +export 'src/worker_client.dart' + show HotReloadCompiler, LanguageServer, Workspace; /// A client for interacting with a DartPad Web Worker. final class DartPad extends WorkerClient { diff --git a/pkg/dartpad_worker/lib/src/asset/sandbox.js b/pkg/dartpad_worker/lib/src/asset/sandbox.js index e82ae12beed..51ea6d54afd 100644 --- a/pkg/dartpad_worker/lib/src/asset/sandbox.js +++ b/pkg/dartpad_worker/lib/src/asset/sandbox.js @@ -321,6 +321,9 @@ try { await self.dartDevEmbedder.hotReload(filesToLoad, librariesToReload); + if (self.dartDevEmbedder.debugger.extensionNames.includes('ext.flutter.reassemble')) { + await self.dartDevEmbedder.debugger.invokeExtension('ext.flutter.reassemble', '{}'); + } return { generation: self.dartDevEmbedder.hotReloadGeneration }; } catch (e) { throw new RpcError(e.message || String(e), errorCode.HOT_RELOAD_FAILED);