Autoformat all markdown files in webdev (#1718)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 286d61c..cbc7d7c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,6 +2,7 @@
the end).
### Before you contribute
+
Before we can use your code, you must sign the
[Google Individual Contributor License Agreement](https://cla.developers.google.com/about/google-individual)
(CLA), which you can do online. The CLA is necessary mainly because you own the
@@ -18,16 +19,21 @@
frustration later on.
### Code reviews
+
All submissions, including submissions by project members, require review.
### File headers
+
All files in the project must start with the following header.
- // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
- // 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.
+```
+// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
+// 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.
+```
### The small print
+
Contributions made by corporations are covered by a different agreement than the
one above, the
[Software Grant and Corporate Contributor License Agreement](https://developers.google.com/open-source/cla/corporate).
diff --git a/README.md b/README.md
index fd9e3ff..d3d429d 100644
--- a/README.md
+++ b/README.md
@@ -2,14 +2,15 @@
## dwds [](https://pub.dev/packages/dwds)
-* Package: https://pub.dev/packages/dwds
-* [Source code](dwds)
+- Package: https://pub.dev/packages/dwds
+- [Source code](dwds)
-A service that proxies between the Chrome debug protocol and the Dart VM service protocol.
+A service that proxies between the Chrome debug protocol and the Dart VM service
+protocol.
## webdev [](https://pub.dev/packages/webdev)
-* Package: https://pub.dev/packages/webdev
-* [Source code](webdev)
+- Package: https://pub.dev/packages/webdev
+- [Source code](webdev)
A command-line tool for developing and deploying web applications with Dart.
diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md
index 4318229..898c2f0 100644
--- a/dwds/CHANGELOG.md
+++ b/dwds/CHANGELOG.md
@@ -1,10 +1,11 @@
## 16.0.0-dev
+
- Fix a hang and report errors on hot reload exceptions from the injected
client.
- Remove `AppInspector.evaluate` code that has been replaced by expression
evaluation using a compiler in all scenarios.
-- Fix a bug where evaluation would fail with more than one parameter in
- the scope.
+- Fix a bug where evaluation would fail with more than one parameter in the
+ scope.
- Remove showing un-captured values from the stack during evaluation.
- Refactor code to break most circular dependencies between files.
- Migrate `package:dwds` to null safety.
@@ -12,16 +13,19 @@
resume operation. This avoids race conditions on isolate start.
**Breaking changes**
+
- Remove no longer used `ExpressionCompilerService.handler`.
- Remove `assetHandler` parameter from `ExpressionCompilerService` constructor.
## 15.0.0
+
- Port some `dwds` files to null safety.
- Fix failing `frontend_server_evaluate` tests.
- Prevent `flutter_tools` crash when the Dart execution context cannot be found.
- Update method signature of `lookupResolvedPackageUris`.
## 14.0.3
+
- Make data types null safe.
- Update `package:vm_service` to 8.3.0.
- Convert JavaScript stack traces in uncaught exceptions to Dart stack traces.
@@ -30,22 +34,25 @@
- Batch extension `Debugger.scriptParsed` events and send batches every 1000ms
to the server.
- Move `batched_stream.dart` into shared utilities.
-- Update the method signature for `lookupResolvedPackageUris`.
+- Update the method signature for `lookupResolvedPackageUris`.
## 14.0.2
+
- Update the min SDK constraint to 2.17.0.
## 14.0.1
-- Add `libraryFilters` optional parameter to the vm service implememtation
- of `getSourceReport`.
-- Update temp variable detection heuristics so internal JS type objects do
- not show in the debugger.
+
+- Add `libraryFilters` optional parameter to the vm service implememtation of
+ `getSourceReport`.
+- Update temp variable detection heuristics so internal JS type objects do not
+ show in the debugger.
## 14.0.0
+
- Add column information to breakpoints to allow precise breakpoint placement.
- Split SDK validation methods to allow validation of separate components.
-- Remove dependency on `package:_fe_analyzer_shared`.
- Note: this removes current incomplete support for resolving `dart:` uris.
+- Remove dependency on `package:_fe_analyzer_shared`. Note: this removes current
+ incomplete support for resolving `dart:` uris.
- Fix issues discovered when using flutter tools with web server device:
- Remove `dart:web_sql` from the list of SDK libraries as it is no longer
used.
@@ -54,32 +61,35 @@
- Fix breakpoints not hitting after changing a base in index.html.
- Find best locations for call frames, breakpoints, or expression evaluation.
- Close the SSE connection when a DebugExtension.detached event is received.
-- Fix issues discovered when using legacy module system, debug extension,
- and JIT modules:
+- Fix issues discovered when using legacy module system, debug extension, and
+ JIT modules:
- Improve step-into times by not stepping into library loading code.
- Fix incorrect skip lists due to unsorted locations.
- Fix memory leak in extension debugger by removing stale script IDs.
- - Allow mapping JS locations to Dart locations matching other JS lines,
- to match the behavior of Chrome DevTools.
- - Fix expression evaluation failure if debugger is stopped in the middle
- of a variable definition.
+ - Allow mapping JS locations to Dart locations matching other JS lines, to
+ match the behavior of Chrome DevTools.
+ - Fix expression evaluation failure if debugger is stopped in the middle of a
+ variable definition.
**Breaking changes:**
+
- Add `basePath` parameter to `FrontendServerRequireStrategy`.
- Add `loadLibrariesModule` getter to `LoadStrategy` interface.
## 13.1.0
-- Update _fe_analyzer_shared to version ^38.0.0.
+
+- Update \_fe_analyzer_shared to version ^38.0.0.
## 13.0.0
+
- Change wording of paused overlay from "Paused in Dart DevTools" to "Paused"
-- Allow sending back the Dart DevTools URL from DWDS instead of launching
- Dart DevTools, to support embedding Dart DevTools in Chrome DevTools.
+- Allow sending back the Dart DevTools URL from DWDS instead of launching Dart
+ DevTools, to support embedding Dart DevTools in Chrome DevTools.
- Temporarily disable the paused in debugger overlay.
-- Add `SdkConfiguration` and `SdkConfigurationProvider` classes to allow
- for lazily created SDK configurations.
-- Fix an issue in reporting DevTools stats where the DevTools load time was
- not always recorded.
+- Add `SdkConfiguration` and `SdkConfigurationProvider` classes to allow for
+ lazily created SDK configurations.
+- Fix an issue in reporting DevTools stats where the DevTools load time was not
+ always recorded.
- Add an `ide` query parameter to the Dart DevTools URL for analytics.
- Fix a race where injected client crashed on events send just before hot
restart.
@@ -92,12 +102,14 @@
- Fix missing `CallFrame.url` after update to Chrome 100.
**Breaking changes:**
+
- `Dwds.start` and `ExpressionCompilerService` now take
`sdkConfigurationProvider` argument instead of separate SDK-related file
paths.
## 12.1.0
-- Update _fe_analyzer_shared to version ^34.0.0.
+
+- Update \_fe_analyzer_shared to version ^34.0.0.
## 12.0.0
@@ -112,7 +124,7 @@
- Remove dead code for reading `'dart.developer.registerExtension'` and
`'dart.developer.postEvent'` events from the chrome console. These messages
haven't been written to the console since dwds v11.1.0 and Dart SDK v2.14.0.
-- Batch debug events sent from injected client to dwds to relieve network load.
+- Batch debug events sent from injected client to dwds to relieve network load.
- Update `_fe_analyzer_shared` version to `33.0.0`
- Update the Dart minimum SDK to `>=2.16.0`.
@@ -123,8 +135,8 @@
- Add `emitDebugEvents` argument to `Dwds.start` to suppress emitting debug
events from the injected client.
- Replace `sdkRoot` parameter by `sdkDir` in `ExpressionCompilerService`.
-- Adds an additional parameter to launch Dart DevTools in the same window as
- the connected Dart app.
+- Adds an additional parameter to launch Dart DevTools in the same window as the
+ connected Dart app.
## 11.5.1
@@ -133,19 +145,23 @@
## 11.5.0
- Support hot restart in a multi-app scenario with legacy modules.
+
- Rename `$dartHotRestart` in the injected client to `$dartHotRestartDwds`.
- Make `$dartHotRestartDwds` take a `runId`.
- No change in behavior for single applications.
- - For a multi-app scenario using legacy modules, this will make all
- sub-apps with the same `runId` restart at the same time once.
+ - For a multi-app scenario using legacy modules, this will make all sub-apps
+ with the same `runId` restart at the same time once.
Note that multi-app scenario is currently only supported for legacy modules,
- used by DDR, and is not yet supported for amd modules that are used by
- flutter tools and webdev.
+ used by DDR, and is not yet supported for amd modules that are used by flutter
+ tools and webdev.
- Fix chrome detection in iPhone emulation mode in chrome or edge browsers.
+
- Reliably find unused port for extension backend http service.
+
- Ignore offset / count parameters in getObject if the object has no length.
+
- Include static member information for classes.
## 11.4.0
@@ -154,17 +170,16 @@
- Handle and log http request serving errors.
- Encode extension url asynchronously.
- Use default constant port for debug service.
- - If we fail binding to the port, fall back to previous strategy
- of finding unbound ports.
+ - If we fail binding to the port, fall back to previous strategy of finding
+ unbound ports.
- Add metrics measuring
- DevTools Initial Page Load time
- Various VM API
- Hot restart
- Http request handling exceptions
- Only return scripts included in the library with Library object.
-- Add `ext.dwds.sendEvent` service extension to dwds so other tools
- can send events to the debugger.
- Event format:
+- Add `ext.dwds.sendEvent` service extension to dwds so other tools can send
+ events to the debugger. Event format:
```
{
'type': '<event type>',
@@ -192,10 +207,10 @@
## 11.2.3
-- Fix race causing intermittent `Aww, snap` errors on starting debugger
- with multiple breakpoints in source.
-- Fix needing chrome to be focus in order to wait for the isolate to
- exit on hot restart.
+- Fix race causing intermittent `Aww, snap` errors on starting debugger with
+ multiple breakpoints in source.
+- Fix needing chrome to be focus in order to wait for the isolate to exit on hot
+ restart.
## 11.2.2
@@ -209,23 +224,24 @@
## 11.2.0
-- Throw `SentinelException` instead of `RPCError` on vm service
- API on unrecognized isolate.
+- Throw `SentinelException` instead of `RPCError` on vm service API on
+ unrecognized isolate.
- Throw `RPCError` in `getStack` if the application is not paused.
- Recognize `dart:ui` library when debugging flutter apps.
- Fix hang on hot restart when the application has a breakpoint.
- Fix out of memory issue during sending debug event notifications.
## 11.1.2
-- Return empty library from `ChromeProxyService.getObject` for
- libraries present in medatata but not loaded at runtime.
+
+- Return empty library from `ChromeProxyService.getObject` for libraries present
+ in medatata but not loaded at runtime.
- Log failures to load kernel during expression evaluation.
- Show lowered final fields using their original dart names.
- Limit simultaneous connections to asset server to prevent broken sockets.
- Fix hangs in hot restart.
- Initial support for passing scope to `ChromeProxyService.evaluate`.
-- Require `build_web_compilers` version `3.0.0` so current version
- of dwds could be used with SDK stable `2.13.x` versions.
+- Require `build_web_compilers` version `3.0.0` so current version of dwds could
+ be used with SDK stable `2.13.x` versions.
## 11.1.1
@@ -233,8 +249,8 @@
## 11.1.0
-- Add global functions to the injected client for `dart.developer.postEvent`
- and `dart.developer.registerExtension`.
+- Add global functions to the injected client for `dart.developer.postEvent` and
+ `dart.developer.registerExtension`.
- Register new service extension `ext.dwds.emitEvent` so clients can emit
events. This is intended to be used for analytics.
@@ -248,25 +264,25 @@
- Allow adding existing breakpoints.
- Throw `RPCError` when removing non-existent breakpoints.
-
## 11.0.0
-- Do not send `kServiceExtensionAdded` events to subscribers
- on the terminating isolate during hot restart.
+- Do not send `kServiceExtensionAdded` events to subscribers on the terminating
+ isolate during hot restart.
- Support `vm_service` version `6.2.0`.
- Fix missing sdk libraries in `getObject()` calls.
- Fix incorrect `rootLib` returned by `ChromeProxyService`.
- Fix not working breakpoints in library part files.
- Fix data race in calculating locations for a module.
- Fix uninitialized isolate after hot restart.
-- Fix intermittent failure caused by evaluation not waiting for dependencies
- to be updated.
-- The injected client now posts a top level event when the Dart application is loaded.
- This event is intended to be consumed by the Dart Debug Extension.
+- Fix intermittent failure caused by evaluation not waiting for dependencies to
+ be updated.
+- The injected client now posts a top level event when the Dart application is
+ loaded. This event is intended to be consumed by the Dart Debug Extension.
**Breaking changes:**
-- `Dwds.start` no longer supports automatically injecting a devtools server. A `devtoolsLauncher`
- callback must be provided to support launching devtools.
+
+- `Dwds.start` no longer supports automatically injecting a devtools server. A
+ `devtoolsLauncher` callback must be provided to support launching devtools.
## 10.0.1
@@ -280,36 +296,40 @@
- Record `ErrorRef` returned by evaluation in analytics.
**Breaking changes:**
+
- Change `ExpressionCompiler.initialize` method to include module format.
-- Add `LoadStrategy.moduleFormat` to be used for communicating current
- module format to the expression compiler.
+- Add `LoadStrategy.moduleFormat` to be used for communicating current module
+ format to the expression compiler.
## 9.1.0
- Support authentication endpoint for the Dart Debug Extension.
- Support using WebSockets for the injected client by passing
- `useSseForInjectedClient: false` to `Dwds.start()`. Unlike SSE,
- WebSockets do not currently support keepAlives here (beyond the
- standard WebSocket pings to keep the socket alive).
+ `useSseForInjectedClient: false` to `Dwds.start()`. Unlike SSE, WebSockets do
+ not currently support keepAlives here (beyond the standard WebSocket pings to
+ keep the socket alive).
## 9.0.0
-- Fix an issue where relative worker paths provided to the `ExpressionCompilerService`
- would cause a crash.
-- Fix an issue where the injected client connection could be lost while the application
- is paused.
+- Fix an issue where relative worker paths provided to the
+ `ExpressionCompilerService` would cause a crash.
+- Fix an issue where the injected client connection could be lost while the
+ application is paused.
- Support keep-alive for debug service connections.
- Depend on the latest `package:sse`.
- Filter out DDC temporary variables from the variable inspection view.
- Add `DwdsEvent`s around stepping and evaluation.
-- Send an event to the Dart Debug Extension that contains VM service protocol URI.
+- Send an event to the Dart Debug Extension that contains VM service protocol
+ URI.
- Depend on `package:vm_service` version `6.1.0+1`.
-- Update the `keepAlive` configs to prevent accidental reuse of a connection after stopping
- a debug session.
-- Support disabling the launching of Dart DevTools through `Alt + d` with `enableDevtoolsLaunch`.
+- Update the `keepAlive` configs to prevent accidental reuse of a connection
+ after stopping a debug session.
+- Support disabling the launching of Dart DevTools through `Alt + d` with
+ `enableDevtoolsLaunch`.
- Opt all dart files out of null safety for min SDK constraint update.
**Breaking changes:**
+
- `LoadStrategy`s now require a `moduleInfoForEntrypoint`.
## 8.0.3
@@ -329,35 +349,35 @@
## 8.0.0
- Improve logging around execution contexts.
-- Remove the expression compilation dependency update from the create
- isolate critical path.
+- Remove the expression compilation dependency update from the create isolate
+ critical path.
- Expose new event stream for future use with analytics.
-- Update `ExpressionCompiler` to include new `initialize` method which
- has a parameter for the null safety mode.
+- Update `ExpressionCompiler` to include new `initialize` method which has a
+ parameter for the null safety mode.
- Update `ExpressionCompilerService` to change how it is instantiated and
implement the new `initialize` method.
- Provide summary module paths to the expression compiler
- Depend on `package:vm_service` version `6.0.1-nullsafety.0`.
**Breaking changes:**
-- Change `ExpressionCompiler.updateDependencies` method to include
- module summary paths
+
+- Change `ExpressionCompiler.updateDependencies` method to include module
+ summary paths
## 7.1.1
- Properly handle `requireJS` errors during hot restarts.
-- Fix an issue where Dart frame computation could result in a
- stack overflow for highly nested calls.
-- Fix an issue where calling add breakpoint in quick succession
- would corrupt the internal state.
+- Fix an issue where Dart frame computation could result in a stack overflow for
+ highly nested calls.
+- Fix an issue where calling add breakpoint in quick succession would corrupt
+ the internal state.
- Fix expression evaluation failure inside blocks.
-- Now log the encoded URI of the debug service to both the terminal
- and application console.
-- No longer blacklist the Dart SDK as the `skipLists` support serves
- the same purpose.
-- Fix an issue where running webdev with expression evaluation
- enabled would fail to find `libraries.json` file and emit severe
- error.
+- Now log the encoded URI of the debug service to both the terminal and
+ application console.
+- No longer blacklist the Dart SDK as the `skipLists` support serves the same
+ purpose.
+- Fix an issue where running webdev with expression evaluation enabled would
+ fail to find `libraries.json` file and emit severe error.
## 7.1.0
@@ -365,19 +385,18 @@
- Depend on the latest `package:vm_service`.
- Fix crash in expression evaluation on null isolate.
- Fix incorrect file name detection for full kernel files.
-- Add `ExpressionCompilerService.startWithPlatform` API
- to enable running expression compiler worker from
- a given location.
+- Add `ExpressionCompilerService.startWithPlatform` API to enable running
+ expression compiler worker from a given location.
- Support Chrome `skipLists` to improve stepping performance.
- Export `AbsoluteImportUriException`.
-- Depend on the latest `package:vm_service` which supports a new
- `limit` parameter to `getStack`.
+- Depend on the latest `package:vm_service` which supports a new `limit`
+ parameter to `getStack`.
## 7.0.2
- Depend on the latest `pacakge:sse`.
-- Add more verbose logging around `hotRestart`, `fullReload` and
- entrypoint injection.
+- Add more verbose logging around `hotRestart`, `fullReload` and entrypoint
+ injection.
## 7.0.1
@@ -386,33 +405,34 @@
## 7.0.0
-- Add support for the Dart Development Service (DDS). Introduces 'single
- client mode', which prevents additional direct connections to DWDS when
- DDS is connected.
-- Update metadata reader version to `2.0.0`. Support reading metadata
- versions `2.0.0` and `1.0.0`.
+- Add support for the Dart Development Service (DDS). Introduces 'single client
+ mode', which prevents additional direct connections to DWDS when DDS is
+ connected.
+- Update metadata reader version to `2.0.0`. Support reading metadata versions
+ `2.0.0` and `1.0.0`.
- Support custom hosts and HTTPs traffic in a `ProxyServerAssetReader`.
-- Remove heuristics from require strategies and use metadata to look up
- module paths.
- - Fix issue where upgrading `build_web_compilers` would cause missing
- module assets (JavaScript code and source maps).
+- Remove heuristics from require strategies and use metadata to look up module
+ paths.
+ - Fix issue where upgrading `build_web_compilers` would cause missing module
+ assets (JavaScript code and source maps).
- Fix issue where open http connections prevent the process for exiting.
- Add `ExpressionCompilationService` class that runs ddc in worker mode to
- support expression evaluation for clients that use build systems to build
- the code.
+ support expression evaluation for clients that use build systems to build the
+ code.
- Require at least `devtools` and `devtools_server` version `0.9.2`.
- Require at least `dds` version `1.4.1`.
-- Require at least `build_web_compilers` version `2.12.0`.
+- Require at least `build_web_compilers` version `2.12.0`.
- Update min sdk constraint to `>=2.10.0`.
- Update `MetadataProvider` to throw an `AbsoluteImportUriException` when
absolute file paths are used in an import uri.
**Breaking changes:**
+
- Change `ExpressionCompiler` to require a new `updateDependencies` method.
-- Update a number of `LoadStrategy` APIs to remove heuristics and rely on
- the `MetadataProvider`.
-- No longer require a `LogWriter` and corresponding `verbose` arguement
- but instead properly use `package:logger`.
+- Update a number of `LoadStrategy` APIs to remove heuristics and rely on the
+ `MetadataProvider`.
+- No longer require a `LogWriter` and corresponding `verbose` arguement but
+ instead properly use `package:logger`.
- `FrontendServerRequireStrategyProvider` now requires a `digestProvider`.
## 6.0.0
@@ -420,26 +440,27 @@
- Depend on the latest `package:devtools` and `package:devtools_server`.
- Support using WebSockets for the debug backend by passing
`useSseForDebugBackend: false` to `Dwds.start()`
-- Ensure we run main on a hot restart request even if no modules were
- updated.
-- Allow reading metadata generated by `dev_compiler` from file to supply
- module information to `Dwds`.
+- Ensure we run main on a hot restart request even if no modules were updated.
+- Allow reading metadata generated by `dev_compiler` from file to supply module
+ information to `Dwds`.
- Hide JavaScript type errors when hovering over text in the debugger.
- Fix an issue where reusing a connection could cause a null error.
- Improve the heuristic which filters JS scopes for debugging needs.
**Breaking Changes:**
+
- Require access to the `.ddc_merged_metadata` file.
-- Remove deprecated parameter `restoreBreakpoints` as breakpoints are now
- set by regex URL and Chrome automatically reestablishes them.
+- Remove deprecated parameter `restoreBreakpoints` as breakpoints are now set by
+ regex URL and Chrome automatically reestablishes them.
## 5.0.0
- Have unimplemented VM service protocol methods return the RPC error
'MethodNotFound' / `-32601`.
-- Fix an issue where the application main function was called before a
- hot restart completed.
-- Breaking change `AssetReader` now requires a `metadataContents` implementation.
+- Fix an issue where the application main function was called before a hot
+ restart completed.
+- Breaking change `AssetReader` now requires a `metadataContents`
+ implementation.
## 4.0.1
@@ -454,22 +475,22 @@
- Fix an issue where the injected client served under `https` assumed the
corresponding SSE handler was also under `https`.
-
## 3.1.2
- Gracefully handle multiple injected clients on a single page.
-- Update to the latest `package:vm_service` and use more RPCError error
- codes on call failures.
+- Update to the latest `package:vm_service` and use more RPCError error codes on
+ call failures.
- Update the `require_restarter` to rerun main after a hot restart to align with
the legacy strategy. We therefore no longer send a `RunRequest` after a hot
restart.
- Compute only the required top frame for a paused event.
-- Change `streamListen` to return an `RPCError` / error code `-32601` for streams
- that are not handled.
+- Change `streamListen` to return an `RPCError` / error code `-32601` for
+ streams that are not handled.
- Populate information about async Dart frames.
-- Populate the `exception` field in debugger pause event when we break as a result
- of an exception.
-- Prompt users to install the Dart Debug Extension if local debugging does not work.
+- Populate the `exception` field in debugger pause event when we break as a
+ result of an exception.
+- Prompt users to install the Dart Debug Extension if local debugging does not
+ work.
- Allow for the injected client to run with CSP enforced.
- Implement the `getMemoryUsage()` call.
- Fix an issue where the injected client could cause a mixed content error.
@@ -478,33 +499,34 @@
- Change the reported names for isolates to be more terse.
- Implemented the 'PossibleBreakpoints' report kind for `getSourceReport()`.
-- Change the returned errors for the unimplemented `getClassList` and `reloadSources`
- methods to -32601 ('method does not exist / is not available').
+- Change the returned errors for the unimplemented `getClassList` and
+ `reloadSources` methods to -32601 ('method does not exist / is not
+ available').
- Do not include native JavaScipt objects on stack returned from the debugger.
## 3.1.0
- Support Chromium based Edge.
- Depend on latest `package:sse` version `3.5.0`.
-- Bypass connection keep-alives when shutting down to avoid delaying process shutdown.
-- Fix an issue where the isolate would incorrectly be destroyed after connection reuse.
+- Bypass connection keep-alives when shutting down to avoid delaying process
+ shutdown.
+- Fix an issue where the isolate would incorrectly be destroyed after connection
+ reuse.
## 3.0.3
- Support the latest version of `package:shelf_packages_handler`.
-- Throw a more useful error if during a hot restart there is no
- active isolate.
-- Fix a race condition in which loading module metadata could cause
- a crash.
+- Throw a more useful error if during a hot restart there is no active isolate.
+- Fix a race condition in which loading module metadata could cause a crash.
- Correct scope detection for expression evaluation
- Silence verbose and recoverable exceptions during expression evaluation
-- Return errors from ChromeProxyService.evaluateInFrame as ErrorRef so
- they are not shown when hovering over source in the IDE
+- Return errors from ChromeProxyService.evaluateInFrame as ErrorRef so they are
+ not shown when hovering over source in the IDE
## 3.0.2
-- Fix an issue in JS to Dart location translation in `ExpressionEvaluator`.
- JS location returned from Chrome is 0-based, adjusted to 1-based.
+- Fix an issue in JS to Dart location translation in `ExpressionEvaluator`. JS
+ location returned from Chrome is 0-based, adjusted to 1-based.
## 3.0.1
@@ -516,6 +538,7 @@
- Depend on the latest `package:vm_service` version `4.0.0`.
**Breaking Changes:**
+
- Delegate to the `LoadStrategy` for module information:
- moduleId -> serverPath
- serverPath -> moduleId
@@ -523,19 +546,19 @@
## 2.0.1
- Fix an issue where we would return prematurely during a `hotRestart`.
-- Fix an issue where we would incorrectly fail if a `hotRestart` had to
- fall back to a full reload.
+- Fix an issue where we would incorrectly fail if a `hotRestart` had to fall
+ back to a full reload.
## 2.0.0
- Depend on the latest `package:vm_service` version `3.0.0+1`.
**Breaking Changes:**
+
- Now require a `LoadStrategy` to `Dwds.start`. This package defines two
- compatible load strategies, `RequireStrategy` and `LegacyStrategy.
+ compatible load strategies, `RequireStrategy` and \`LegacyStrategy.
- `Dwds.start` function signature has been changed to accept one more parameter
- of new interface type `ExpressionCompiler` to support expression
- evaluation
+ of new interface type `ExpressionCompiler` to support expression evaluation
- Provide an implementation of the `RequireStrategy` suitable for use with
`package:build_runner`.
- Simplify hot reload logic and no longer provide module level hooks.
@@ -546,17 +569,19 @@
## 1.0.0
-- Fix an issue where files imported with relative paths containing `../` may fail
- to resolve breakpoint locations.
+- Fix an issue where files imported with relative paths containing `../` may
+ fail to resolve breakpoint locations.
- Remove dependency on `package:build_daemon`.
- Add `FrontendServerAssetReader` for use with Frontend Server builds.
-- Depend on latest `package:sse` for handling client reconnects transparently on the server.
+- Depend on latest `package:sse` for handling client reconnects transparently on
+ the server.
- Fix an issue where a failure to initiate debugging through the Dart Debug
Extension would cause your development server to crash.
- Fix an issue where trying to launch DevTools in a non-debug enabled Chrome
instance could crash your development server.
**Breaking Changes:**
+
- No longer use the `BuildResult` abstraction from `package:build_daemon` but
require a similar abstraction provided by this package.
- `AssetHandler` has been renamed to `AssetReader` and no longer provides a
@@ -569,9 +594,9 @@
- Expose `middleware` and `handler`.
-**Breaking Change:** The `AssetHandler` will not automatically be added the
- DWDS handler cascade. You must now also add the `middelware` to your server's
- pipeline.
+**Breaking Change:** The `AssetHandler` will not automatically be added the DWDS
+handler cascade. You must now also add the `middelware` to your server's
+pipeline.
## 0.8.5
@@ -601,10 +626,9 @@
protocol will clearly define how breakpoints should be restored.
- Depend on latest `package:sse` to get retry logic.
- Don't spawn DevTools if `serveDevTools` is false.
-- `UrlEncoder` will also encode the base URI used by the injected client /
- Dart Debug Extension.
-** Breaking Change ** `serveDevTools` is not automatically considered true if
- `enableDebugExtension`is true.
+- `UrlEncoder` will also encode the base URI used by the injected client / Dart
+ Debug Extension. \*\* Breaking Change \*\* `serveDevTools` is not
+ automatically considered true if `enableDebugExtension`is true.
## 0.7.9
@@ -654,8 +678,8 @@
## 0.7.1
-- Fix a bug where we would try to create a new isolate even for a failed
- hot restart. This created a race condition that would lead to a crash.
+- Fix a bug where we would try to create a new isolate even for a failed hot
+ restart. This created a race condition that would lead to a crash.
- Don't attempt to write a vm service request to a closed connection.
- Instead we log a warning with the attempted request message and return.
- Make all `close` methods more robust by allowing them to be called more than
@@ -695,8 +719,8 @@
## 0.6.0
- Add new required parameter `enableDebugging` to `Dwds.start`. If `false` is
- provided, debug services will not run. However, reload logic will continue
- to work with the injected client.
+ provided, debug services will not run. However, reload logic will continue to
+ work with the injected client.
- Handle injected client SSE errors.
- Handle a race condition when the browser is refreshed in the middle of setting
up the debug services.
@@ -727,8 +751,8 @@
## 0.5.1
-- Fix an issue where missing source maps would cause a crash. A warning will
- now be logged to the console instead.
+- Fix an issue where missing source maps would cause a crash. A warning will now
+ be logged to the console instead.
- Depend on the latest `package:webkit_inspection_protocol`.
## 0.5.0
diff --git a/dwds/CONTRIBUTING.md b/dwds/CONTRIBUTING.md
index 28cc33b..7d7db19 100644
--- a/dwds/CONTRIBUTING.md
+++ b/dwds/CONTRIBUTING.md
@@ -2,29 +2,47 @@
### With Flutter tools (recommended)
-1. Fork and download the [Flutter repo](https://github.com/flutter/flutter). Detailed instructions can be found [here](https://github.com/flutter/flutter/wiki/Setting-up-the-Framework-development-environment).
-2. Add an alias to your `.bashrc`/`.zshrc` for Flutter Tools:
+1. Fork and download the [Flutter repo](https://github.com/flutter/flutter).
+ Detailed instructions can be found
+ [here](https://github.com/flutter/flutter/wiki/Setting-up-the-Framework-development-environment).
+1. Add an alias to your `.bashrc`/`.zshrc` for Flutter Tools:
+
```
alias flutter_tools='/YOUR_PATH/flutter/bin/dart --observe /YOUR_PATH/flutter/packages/flutter_tools/bin/flutter_tools.dart'
```
> **Explanation:**
-> * `/PATH_TO_YOUR_FLUTTER_REPO/bin/dart`: This is the path to the Dart SDK that Flutter Tools uses
-> * `--observe`: This flag specifies we want a Dart DevTools URL for debugging
-> * `/PATH_TO_YOUR_FLUTTER_REPO/packages/flutter_tools/bin/flutter_tools.dart`: This is the path to Flutter Tools itself
>
-> *More details can be found at the Flutter Tools [README](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/README.md).*
-3. In your Flutter Tools [`pubspec.yaml`](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/pubspec.yaml), change the DWDS dependency to point to your local DWDS:
+> - `/PATH_TO_YOUR_FLUTTER_REPO/bin/dart`: This is the path to the Dart SDK that
+> Flutter Tools uses
+> - `--observe`: This flag specifies we want a Dart DevTools URL for debugging
+> - `/PATH_TO_YOUR_FLUTTER_REPO/packages/flutter_tools/bin/flutter_tools.dart`:
+> This is the path to Flutter Tools itself
+>
+> *More details can be found at the Flutter Tools
+> [README](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/README.md).*
+
+3. In your Flutter Tools
+ [`pubspec.yaml`](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/pubspec.yaml),
+ change the DWDS dependency to point to your local DWDS:
+
```
dwds:
path: /YOUR_PATH/dwds
```
-4. Choose a Flutter app to run (eg, the [old](https://github.com/flutter/flutter/tree/master/dev/integration_tests/flutter_gallery) or [new](https://github.com/flutter/gallery) Flutter Gallery apps).
-5. From the Flutter app repo, run your local Flutter Tools with alias you defined in step #2:
+
+4. Choose a Flutter app to run (eg, the
+ [old](https://github.com/flutter/flutter/tree/master/dev/integration_tests/flutter_gallery)
+ or [new](https://github.com/flutter/gallery) Flutter Gallery apps).
+1. From the Flutter app repo, run your local Flutter Tools with alias you
+ defined in step #2:
+
```
flutter_tools run -d chrome
```
+
6. Open up the **first** Dart DevTools URL you see printed:
+
```
...
The Dart VM service is listening on http://127.0.0.1:8181/ajXIPMLq6iI=/
@@ -32,66 +50,129 @@
Launching lib/main.dart on Chrome in debug mode...
...
```
-7. The Dart DevTools you open is connected to your Flutter Tools, but because of the path dependency added in step #3, you can debug your local DWDS as well.
+
+7. The Dart DevTools you open is connected to your Flutter Tools, but because of
+ the path dependency added in step #3, you can debug your local DWDS as well.
### With WebDev
-1. In the `/webdev` directory, run `pub global activate --source path webdev` (this only needs to be run once)
-2. Uncomment the dwds dependency override in `/webdev/webdev/pubspec.yaml`, then run `dart run build_runner build` from `/webdev/webdev` directory
- * *Note: You will have to comment and build, and then uncomment and build, each time you need to pick up new changes*
-2. From `/webdev/example`, run `webdev serve --debug --verbose` (Note: all options can be found by running `webdev help serve`)
-3. Type opt/alt-d in the browser. This is required to start the VM.
-4. [OPTIONAL] If you need to connect a locally running DevTools (instructions for running [here](https://github.com/flutter/devtools/blob/master/CONTRIBUTING.md )), then close the DevTools that automatically opened in the previous step. Copy and paste the debug URI (should be logged in your terminal) into the DevTools connection box.
+1. In the `/webdev` directory, run `pub global activate --source path webdev`
+ (this only needs to be run once)
+1. Uncomment the dwds dependency override in `/webdev/webdev/pubspec.yaml`, then
+ run `dart run build_runner build` from `/webdev/webdev` directory
+ - *Note: You will have to comment and build, and then uncomment and build,
+ each time you need to pick up new changes*
+1. From `/webdev/example`, run `webdev serve --debug --verbose` (Note: all
+ options can be found by running `webdev help serve`)
+1. Type opt/alt-d in the browser. This is required to start the VM.
+1. \[OPTIONAL\] If you need to connect a locally running DevTools (instructions
+ for running
+ [here](https://github.com/flutter/devtools/blob/master/CONTRIBUTING.md)),
+ then close the DevTools that automatically opened in the previous step. Copy
+ and paste the debug URI (should be logged in your terminal) into the DevTools
+ connection box.
### Note:
+
If you get this error:
-`The /webdev/webdev/pubspec.yaml file has changed since the /webdev/webdev/pubspec.lock file was generated, please run "dart pub get" again.`
+`The /webdev/webdev/pubspec.yaml file has changed since the /webdev/webdev/pubspec.lock file was generated, please run "dart pub get" again.`
You need to do the following:
-* `rm webdev/webdev/pubspec.lock`
-* Then, from `/webdev/webdev` run `dart pub get`
+- `rm webdev/webdev/pubspec.lock`
+- Then, from `/webdev/webdev` run `dart pub get`
## Changes required when submitting a PR
-* Make sure you update the `CHANGELOG.md` with a description of the change
-* If DWDS / Webdev was just released, then you will need to update the version in the `CHANGELOG`, and the `pubspec.yaml` file as well (eg, https://github.com/dart-lang/webdev/pull/1462)
-* For any directories you’ve touched, `run dart run build_runner` build to check in the any file that should be built. This will make sure the integration tests are run against the built files.
-## Release steps
+- Make sure you update the `CHANGELOG.md` with a description of the change
+- If DWDS / Webdev was just released, then you will need to update the version
+ in the `CHANGELOG`, and the `pubspec.yaml` file as well (eg,
+ https://github.com/dart-lang/webdev/pull/1462)
+- For any directories you’ve touched, `run dart run build_runner` build to check
+ in the any file that should be built. This will make sure the integration
+ tests are run against the built files.
-### Step 1: Roll DWDS into g3
-> *NOTE: You must be a Googler to do this step. If you are not, please ask someone for help.*
-* See directions at: go/roll-dwds
-* Wait a few days after rolling into g3 before continuing to step 2. We do so to have time to catch new bugs internally before publishing externally. Look for any new exceptions at go/ddt-web-dashboard
+## Release steps
+
+### Step 1: Roll DWDS into g3
+
+> *NOTE: You must be a Googler to do this step. If you are not, please ask
+> someone for help.*
+
+- See directions at: go/roll-dwds
+- Wait a few days after rolling into g3 before continuing to step 2. We do so to
+ have time to catch new bugs internally before publishing externally. Look for
+ any new exceptions at go/ddt-web-dashboard
## Step 2: Publish DWDS to pub
-* Make sure you are on the Dart stable SDK version (check with `dart --version`)
-* From each of the subdirectories (`/dwds`, `/frontend_server_client`, `/frontend_server_common`, and `/webdev`) update dependencies with `dart pub upgrade`
-* Update the version number in `dwds/pubspec.yaml` and `dwds/CHANGELOG.md`
-* From `/dwds` run `dart run build_runner build`, this will build and update the version in `/dwds/lib/src/version.dart`
-* Submit a PR with those changes (example PR: https://github.com/dart-lang/webdev/pull/1456). *Note: Ensure your PR doesn’t have any dependency overrides.*
-* Once the PR is submitted, pull from master and `run dart pub publish`
-* Finally, go to https://github.com/dart-lang/webdev/releases and create a new release, eg https://github.com/dart-lang/webdev/releases/tag/dwds-v12.0.0. You might need to delete some of the content of the autogenerated notes.
-> *Note: To have the right permissions for publishing, you need to be invited to the tools.dart.dev. A member of the Dart team should be able to add you at https://pub.dev/publishers/tools.dart.dev/admin.*
-## Step 3: Publish Webdev to pub
-> *Note: DWDS is a dependency of Webdev, which is why DWDS must be published before Webdev can be published.*
-* Make sure you are on the Dart stable SDK version (check with `dart --version`)
-* Update the DWDS version in `/webdev/pubspec.yaml` to match the newly released DWDS version, and update the Webdev version to the new version number. Also, comment out the dependency_override so that Webdev is now depending on the version of DWDS on pub (which should have just been published) instead of the local version.
-* Update `/webdev/CHANGELOG.md` to match the new webdev version
-* From `/webdev`, run `dart pub upgrade`
-* From `/webdev` run `dart run build_runner build`, this will build and update the version in `webdev/lib/src/version.dart`
-* Submit a PR with those changes (example PR: https://github.com/dart-lang/webdev/pull/1498)
-* Once the PR is submitted, pull from master and run `dart pub publish`
-* Finally, go to https://github.com/dart-lang/webdev/releases and create a new release, eg https://github.com/dart-lang/webdev/releases/tag/webdev-v2.7.8. You might need to delete some of the content of the autogenerated notes.
+- Make sure you are on the Dart stable SDK version (check with `dart --version`)
+- From each of the subdirectories (`/dwds`, `/frontend_server_client`,
+ `/frontend_server_common`, and `/webdev`) update dependencies with
+ `dart pub upgrade`
+- Update the version number in `dwds/pubspec.yaml` and `dwds/CHANGELOG.md`
+- From `/dwds` run `dart run build_runner build`, this will build and update the
+ version in `/dwds/lib/src/version.dart`
+- Submit a PR with those changes (example PR:
+ https://github.com/dart-lang/webdev/pull/1456). *Note: Ensure your PR doesn’t
+ have any dependency overrides.*
+- Once the PR is submitted, pull from master and `run dart pub publish`
+- Finally, go to https://github.com/dart-lang/webdev/releases and create a new
+ release, eg https://github.com/dart-lang/webdev/releases/tag/dwds-v12.0.0. You
+ might need to delete some of the content of the autogenerated notes.
-## Whenever the Dart SDK is updated
-Whenever Dart SDK is updated to a new major or minor version (~every 2 weeks), any PR submissions to Webdev are blocked by the min_sdk_test until the Dart min SDK constraint is updated. Therefore, whenever your PR gets blocked by the test, you need to:
-1. Create a new PR that updates all the min SDK constraints to the new version, eg: https://github.com/dart-lang/webdev/pull/1463.
-2. From each of the subdirectories (`/dwds`, `/frontend_server_client`, `/frontend_server_common`, and `/webdev`) update dependencies with `dart pub upgrade`
-3. Make sure to update the `CHANGELOG` to include the new version number
-4. Submit your PR. At this point, you technically will be able to submit the PR that was blocked, but the point of the test is to make sure that DWDS and Webdev get released after a Dart stable release. Therefore, follow the steps above to publish DWDS and Webdev.
+> *Note: To have the right permissions for publishing, you need to be invited to
+> the tools.dart.dev. A member of the Dart team should be able to add you at
+> https://pub.dev/publishers/tools.dart.dev/admin.*
+
+## Step 3: Publish Webdev to pub
+
+> *Note: DWDS is a dependency of Webdev, which is why DWDS must be published
+> before Webdev can be published.*
+
+- Make sure you are on the Dart stable SDK version (check with `dart --version`)
+- Update the DWDS version in `/webdev/pubspec.yaml` to match the newly released
+ DWDS version, and update the Webdev version to the new version number. Also,
+ comment out the dependency_override so that Webdev is now depending on the
+ version of DWDS on pub (which should have just been published) instead of the
+ local version.
+- Update `/webdev/CHANGELOG.md` to match the new webdev version
+- From `/webdev`, run `dart pub upgrade`
+- From `/webdev` run `dart run build_runner build`, this will build and update
+ the version in `webdev/lib/src/version.dart`
+- Submit a PR with those changes (example PR:
+ https://github.com/dart-lang/webdev/pull/1498)
+- Once the PR is submitted, pull from master and run `dart pub publish`
+- Finally, go to https://github.com/dart-lang/webdev/releases and create a new
+ release, eg https://github.com/dart-lang/webdev/releases/tag/webdev-v2.7.8.
+ You might need to delete some of the content of the autogenerated notes.
+
+## Whenever the Dart SDK is updated
+
+Whenever Dart SDK is updated to a new major or minor version (~every 2 weeks),
+any PR submissions to Webdev are blocked by the min_sdk_test until the Dart min
+SDK constraint is updated. Therefore, whenever your PR gets blocked by the test,
+you need to:
+
+1. Create a new PR that updates all the min SDK constraints to the new version,
+ eg: https://github.com/dart-lang/webdev/pull/1463.
+1. From each of the subdirectories (`/dwds`, `/frontend_server_client`,
+ `/frontend_server_common`, and `/webdev`) update dependencies with
+ `dart pub upgrade`
+1. Make sure to update the `CHANGELOG` to include the new version number
+1. Submit your PR. At this point, you technically will be able to submit the PR
+ that was blocked, but the point of the test is to make sure that DWDS and
+ Webdev get released after a Dart stable release. Therefore, follow the steps
+ above to publish DWDS and Webdev.
+
> ### Why is this necessary?
-> This is so that we don’t need to support older versions of the SDK and test against them, therefore every time the Dart SDK is bumped to a new major or minor version, DWDS and Webdev’s min Dart SDK constraint needs to to be changed and DWDS and Webdev have to be released.
-> Since DWDS is dependent on DDC and the runtime API, if we had a looser min constraint we would need to run tests for all earlier stable releases of the SDK that match the constraint, which would have differences in functionality and therefore need different tests.
+>
+> This is so that we don’t need to support older versions of the SDK and test
+> against them, therefore every time the Dart SDK is bumped to a new major or
+> minor version, DWDS and Webdev’s min Dart SDK constraint needs to to be
+> changed and DWDS and Webdev have to be released. Since DWDS is dependent on
+> DDC and the runtime API, if we had a looser min constraint we would need to
+> run tests for all earlier stable releases of the SDK that match the
+> constraint, which would have differences in functionality and therefore need
+> different tests.
diff --git a/dwds/README.md b/dwds/README.md
index 3cb4438..adb3d9c 100644
--- a/dwds/README.md
+++ b/dwds/README.md
@@ -8,7 +8,8 @@
`package:dwds` is integrated into `webdev serve` as well as `flutter run`.
At a basic level, DWDS proxies between:
-* Developer tools that are written against the
+
+- Developer tools that are written against the
[Dart VM Service Protocol](https://github.com/dart-lang/sdk/blob/main/runtime/vm/service/service.md)
-* Execution environments that expose the
+- Execution environments that expose the
[Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol)
diff --git a/dwds/debug_extension/CHANGELOG.md b/dwds/debug_extension/CHANGELOG.md
index 2bf6430..70604b8 100644
--- a/dwds/debug_extension/CHANGELOG.md
+++ b/dwds/debug_extension/CHANGELOG.md
@@ -1,14 +1,17 @@
## 1.30
+
- Batch extension `Debugger.scriptParsed` events and send batches every 1000ms
to the server.
- Enable null-safety.
- Replace manual extension allowlist by configuring `externally_connectable` in
- the `manifest.json`. See https://developer.chrome.com/docs/extensions/mv3/manifest/externally_connectable/
+ the `manifest.json`. See
+ https://developer.chrome.com/docs/extensions/mv3/manifest/externally_connectable/
for details.
-
+
## 1.29
-- Notify the debugger and inspector panels when the debug session is disconnected.
+- Notify the debugger and inspector panels when the debug session is
+ disconnected.
- Provide a detailed error message when the debugger fails to connect.
- Send an event to the server when the debugger is detached.
- Fix compilation errors when the extension is built with DDC.
@@ -19,11 +22,12 @@
## 1.27
-- Support embedded debugger and inspector in Chrome DevTools for Flutter Web apps.
+- Support embedded debugger and inspector in Chrome DevTools for Flutter Web
+ apps.
## 1.26
-- Support embedded debugging experience in environments with no Dart app ID.
+- Support embedded debugging experience in environments with no Dart app ID.
## 1.25
@@ -35,8 +39,8 @@
## 1.23
-- Depend on the latest `package:sse` to improve stability of the connection with many
- concurrent requests.
+- Depend on the latest `package:sse` to improve stability of the connection with
+ many concurrent requests.
## 1.22
@@ -50,7 +54,6 @@
- Return response when `dwds.startDebugging` is called.
-
## 1.19
- Support cross-extension communication for use with Google specific extensions.
@@ -67,17 +70,15 @@
- Depend on the latest `package:sse`.
-
## 1.15
-- No longer send script parsed events when skipLists are supported,
- improving the IPL of Dart DevTools.
+- No longer send script parsed events when skipLists are supported, improving
+ the IPL of Dart DevTools.
## 1.14
- Depend on the latest `package:sse`.
-
## 1.13
- Add support for using WebSockets for connection debug backend.
diff --git a/dwds/debug_extension/CONTRIBUTING.md b/dwds/debug_extension/CONTRIBUTING.md
index 136d9e5..c7e7e47 100644
--- a/dwds/debug_extension/CONTRIBUTING.md
+++ b/dwds/debug_extension/CONTRIBUTING.md
@@ -14,13 +14,18 @@
dart run build_runner build web -o build
```
-This will build to the `/build/web` directory.
+This will build to the `/build/web` directory.
+
## Local Development
### Update `manifest.json`:
-* Change the `default_icon` in `manifest.json` to `dart_dev.png` (Note: this is not strictly necessary, but will help you to distinguish your local version of the extension from the published version)
-* [For Googlers] The developer key is needed for local development and testing. Add one of the whitelisted keys to `web/manifest.json`. IMPORTANT: DO NOT COMMIT THE KEY.
+- Change the `default_icon` in `manifest.json` to `dart_dev.png` (Note: this is
+ not strictly necessary, but will help you to distinguish your local version of
+ the extension from the published version)
+- \[For Googlers\] The developer key is needed for local development and
+ testing. Add one of the whitelisted keys to `web/manifest.json`. IMPORTANT: DO
+ NOT COMMIT THE KEY.
```
{
@@ -32,44 +37,74 @@
### Build and upload your local extension
-* Build the extension following the instructions above
-* Visit chrome://extensions
-* Toggle "Developer mode" on
-* Click the "Load unpacked" button
-* Select the extension directory: `/dwds/debug_extension/web`
+- Build the extension following the instructions above
+- Visit chrome://extensions
+- Toggle "Developer mode" on
+- Click the "Load unpacked" button
+- Select the extension directory: `/dwds/debug_extension/web`
### Debug your local extension
-* Click the Extensions puzzle piece, and pin the Dart Debug Extension with the dev icon (unpin the published version so you don't confuse them)
-* You can now use the extension normally by clicking it when a local Dart web application has loaded in a Chrome tab
-* To debug, visit chrome://extensions and click "Inspect view on background page" to open Chrome DevTools for the extension
-* More debugging information can be found in the [Chrome Developers documentation](https://developer.chrome.com/docs/extensions/mv3/devguide/)
+- Click the Extensions puzzle piece, and pin the Dart Debug Extension with the
+ dev icon (unpin the published version so you don't confuse them)
+- You can now use the extension normally by clicking it when a local Dart web
+ application has loaded in a Chrome tab
+- To debug, visit chrome://extensions and click "Inspect view on background
+ page" to open Chrome DevTools for the extension
+- More debugging information can be found in the
+ [Chrome Developers documentation](https://developer.chrome.com/docs/extensions/mv3/devguide/)
## Release process
-1. Update the version in `web/manifest.json`, `pubspec.yaml`, and in the `CHANGELOG`.
-2. Build dart2js: `pub run build_runner build web -o build -r`
-> *At this point, you should manually verify that everything is working by following the steps in [Local Development](#local-development).*
+1. Update the version in `web/manifest.json`, `pubspec.yaml`, and in the
+ `CHANGELOG`.
+1. Build dart2js: `pub run build_runner build web -o build -r`
+
+> *At this point, you should manually verify that everything is working by
+> following the steps in [Local Development](#local-development).*
+
3. Open a PR to submit the version and build changes.
-4. Once submitted, pull the changes down to your local branch, and create a zip of the `debug_extension/web` directory (NOT `debug_extension/build/web`).
-5. Rename the zip `version_XX.XX.XX.zip` (eg, `version_1.24.0.zip`) and add it to the go/dart-debug-extension-zips folder
+1. Once submitted, pull the changes down to your local branch, and create a zip
+ of the `debug_extension/web` directory (NOT `debug_extension/build/web`).
+1. Rename the zip `version_XX.XX.XX.zip` (eg, `version_1.24.0.zip`) and add it
+ to the go/dart-debug-extension-zips folder
+
> *You must be a Googler to do this. Ask for help if not.*
-6. Go to the [Chrome Web Store Developer Dashboard](https://chrome.google.com/webstore/devconsole).
-7. At the top-right, under Publisher, select dart-bat.
-> *If you don’t see dart-bat as an option, you will need someone on the Dart team to add you to the dart-bat Google group.*
+
+6. Go to the
+ [Chrome Web Store Developer Dashboard](https://chrome.google.com/webstore/devconsole).
+1. At the top-right, under Publisher, select dart-bat.
+
+> *If you don’t see dart-bat as an option, you will need someone on the Dart
+> team to add you to the dart-bat Google group.*
+
7. Under Items, select the "Dart Debug Extension".
-8. Go to “Package” then select “Upload new package”.
-> *The first time you do this, you will be asked to pay a $5 registration fee. The registration fee can be expensed.*
+1. Go to “Package” then select “Upload new package”.
+
+> *The first time you do this, you will be asked to pay a $5 registration fee.
+> The registration fee can be expensed.*
+
9. Upload the zip file you created in step 4.
-10. Save as draft, and verify that the new version is correct.
-11. Publish. The extension will be published immediately after going through the review process.
+1. Save as draft, and verify that the new version is correct.
+1. Publish. The extension will be published immediately after going through the
+ review process.
-## Rollback process
-> The Chrome Web Store Developer Dashboard does not support rollbacks. Instead you must re-publish an earlier version. This means that the extension will still have to go through the review process, which can take anywhere from a few hours (most common) to a few days.
-1. Find the previous version you want to rollback to in the go/dart-debug-extension-zips folder.
+## Rollback process
+
+> The Chrome Web Store Developer Dashboard does not support rollbacks. Instead
+> you must re-publish an earlier version. This means that the extension will
+> still have to go through the review process, which can take anywhere from a
+> few hours (most common) to a few days.
+
+1. Find the previous version you want to rollback to in the
+ go/dart-debug-extension-zips folder.
+
> > *You must be a Googler to do this. Ask for help if not.*
-2. Unzip the version you have chosen, and in `manifest.json` edit the version number to be the next sequential version after the current "bad" version (eg, the bad version is `1.28.0` and you are rolling back to version `1.27.0`. Therefore you change `1.27.0` to `1.29.0`).
-3. Re-zip the directory and rename it to the new version number. Add it to the go/dart-debug-extension-zips folder.
-4. Now, follow steps 6 - 11 in [Release process](#release-process).
-
+2. Unzip the version you have chosen, and in `manifest.json` edit the version
+ number to be the next sequential version after the current "bad" version (eg,
+ the bad version is `1.28.0` and you are rolling back to version `1.27.0`.
+ Therefore you change `1.27.0` to `1.29.0`).
+1. Re-zip the directory and rename it to the new version number. Add it to the
+ go/dart-debug-extension-zips folder.
+1. Now, follow steps 6 - 11 in [Release process](#release-process).
diff --git a/dwds/debug_extension/README.md b/dwds/debug_extension/README.md
index 239308d..b645513 100644
--- a/dwds/debug_extension/README.md
+++ b/dwds/debug_extension/README.md
@@ -1,9 +1,12 @@
-A Chrome extension for enabling Dart application debugging over an SSE connection with package:dwds.
+A Chrome extension for enabling Dart application debugging over an SSE
+connection with package:dwds.
## Installation
-The extension is available on the [Chrome Web Store](https://chrome.google.com/webstore/detail/dart-debug-extension/eljbmlghnomdjgdjmbdekegdkbabckhm).
+The extension is available on the
+[Chrome Web Store](https://chrome.google.com/webstore/detail/dart-debug-extension/eljbmlghnomdjgdjmbdekegdkbabckhm).
## Usage
-The extension requires disabling 'Throttle expensive background timers' in `chrome://flags` to ensure proper performance.
\ No newline at end of file
+The extension requires disabling 'Throttle expensive background timers' in
+`chrome://flags` to ensure proper performance.
diff --git a/frontend_server_client/CHANGELOG.md b/frontend_server_client/CHANGELOG.md
index e24ba7a..6b2e2f3 100644
--- a/frontend_server_client/CHANGELOG.md
+++ b/frontend_server_client/CHANGELOG.md
@@ -24,8 +24,8 @@
## 2.0.1
-- Widen the upper bound sdk constraint to `<3.0.0`. The frontend server api
- is now considered quite stable and this package is now depended on by
+- Widen the upper bound sdk constraint to `<3.0.0`. The frontend server api is
+ now considered quite stable and this package is now depended on by
package:test, so a tight constraint would cause unnecessary headaches.
## 2.0.0
diff --git a/frontend_server_client/README.md b/frontend_server_client/README.md
index b320e55..ea38a06 100644
--- a/frontend_server_client/README.md
+++ b/frontend_server_client/README.md
@@ -6,13 +6,13 @@
## SDK Versioning Policy
-This package keeps a relatively tight version constraint on the SDK to allow
-for breaking changes in the frontend_server binary itself.
+This package keeps a relatively tight version constraint on the SDK to allow for
+breaking changes in the frontend_server binary itself.
-Specifically, releases of this package will have an upper bound of less than
-the next _minor_ (middle) version number of the latest stable SDK. There are no
-requirements for the lower bound (other than the package must pass tests on
-that SDK).
+Specifically, releases of this package will have an upper bound of less than the
+next _minor_ (middle) version number of the latest stable SDK. There are no
+requirements for the lower bound (other than the package must pass tests on that
+SDK).
The effect of this policy is that breaking changes will be allowed to the
frontend_server binary, but only in _minor_ SDK version releases.
@@ -27,7 +27,7 @@
actually allow dev releases of `2.9.0` if the current SDK is a dev release. It
emits a warning when it does this, but will happily alow it.
-* This means that we don't have to publish versions that explicitly allow dev
+- This means that we don't have to publish versions that explicitly allow dev
releases. We will be notified of breakages by our bots if a dev release does
break us, and can release a patch.
diff --git a/frontend_server_common/CHANGELOG.md b/frontend_server_common/CHANGELOG.md
index 8eb75a8..9c51b22 100644
--- a/frontend_server_common/CHANGELOG.md
+++ b/frontend_server_common/CHANGELOG.md
@@ -1,7 +1,9 @@
## 0.2.0
+
- Migrate to null safety
## 0.1.1
+
- Remove dead code
## 0.1.0
diff --git a/frontend_server_common/README.md b/frontend_server_common/README.md
index ab54d27..61862a5 100644
--- a/frontend_server_common/README.md
+++ b/frontend_server_common/README.md
@@ -11,4 +11,4 @@
- asset server
This eventually will transform into common code that both flutter and dwds use
-for better integration.
\ No newline at end of file
+for better integration.
diff --git a/webdev/CHANGELOG.md b/webdev/CHANGELOG.md
index 871d319..2d4f6d6 100644
--- a/webdev/CHANGELOG.md
+++ b/webdev/CHANGELOG.md
@@ -1,29 +1,36 @@
## 2.7.11-dev
+
- Remove no longer used `ExpressionCompilerService.handler`.
## 2.7.10
+
- Pin DWDS version to avoid dependency conflicts with `package:vm_service`.
## 2.7.9
-- Add an option to pass user data directory to chrome: `user-data-dir`.
- Auto detect user data directory based on the current OS if `auto` is
- given as a value. If `null` is given as a value (default), fall back
- to the existing behavior (i.e. creating/reusing a temp directory).
-
+
+- Add an option to pass user data directory to chrome: `user-data-dir`. Auto
+ detect user data directory based on the current OS if `auto` is given as a
+ value. If `null` is given as a value (default), fall back to the existing
+ behavior (i.e. creating/reusing a temp directory).
+
Note: not supported for Windows yet due to flakiness it introduces.
-
+
Example using user-specified directory:
+
```
webdev serve \
--debug --debug-extension \
--user-data-dir='/Users/<user>/Library/Application Support/Google/Chrome'
```
+
Example using auto-detected directory:
+
```
webdev serve \
--debug --debug-extension \
--user-data-dir=auto
```
+
- Update the min SDK constraint to 2.17.0.
## 2.7.8
@@ -50,8 +57,7 @@
## 2.7.4
-- Allow the latest build_runner, build_web_compilers, and build_daemon
- packages.
+- Allow the latest build_runner, build_web_compilers, and build_daemon packages.
## 2.7.3
@@ -71,7 +77,6 @@
- Remove references to Flutter Web as webdev is no longer used with Flutter.
Users should be using Flutter Tools shipped with the Flutter SDK.
-
## 2.7.0
- Add support for the Dart Development Service (DDS).
@@ -79,8 +84,8 @@
- Require at least `build_web_compilers` version `2.12.0`.
- Depend on the latest `package:dwds`.
- Fix issue where open http connections prevent the process for exiting.
-- Add expression evaluation feature under `--enable-expression-evaluation`
- flag passed to `webdev` commands. The feature is disabled by default.
+- Add expression evaluation feature under `--enable-expression-evaluation` flag
+ passed to `webdev` commands. The feature is disabled by default.
- Update min sdk constraint to `>=2.10.0`.
## 2.6.2
@@ -120,7 +125,7 @@
- Require at least `build_web_compilers` version `2.6.1`.
- Versions `<2.0.0` are not supported by any dart sdk `>=2.6.0`.
- Versions `<2.6.1` have bugs that we want to avoid users running into.
-- Depend on `package:vm_service` version `^2.0.0`.
+- Depend on `package:vm_service` version `^2.0.0`.
- Depend on the latest `package:dwds`.
## 2.5.4
@@ -188,8 +193,8 @@
- DevTools no longer launches in a new window. This prevents an issue where
pausing your application also pauses DevTools.
- Fix some edge cases for hot restart:
- - All restarts will now fire isolate create/destroy events, regardless of
- how they are triggered.
+ - All restarts will now fire isolate create/destroy events, regardless of how
+ they are triggered.
- Fix a bug in the module invalidation/reload logic.
## 2.0.7
@@ -288,8 +293,8 @@
## 0.2.2
-- Add default value for `--output` to be `build:web` for the `build` command
- and `NONE` for the `serve` command.
+- Add default value for `--output` to be `build:web` for the `build` command and
+ `NONE` for the `serve` command.
- Update to use lower-case constants from Dart `^2.0.0-dev.54`.
## 0.2.1
diff --git a/webdev/README.md b/webdev/README.md
index 92ef995..10d1277 100644
--- a/webdev/README.md
+++ b/webdev/README.md
@@ -173,4 +173,3 @@
[activating]: https://www.dartlang.org/tools/pub/cmd/pub-global#activating-a-package
[pub global]: https://www.dartlang.org/tools/pub/cmd/pub-global
-[Dart build system]: https://github.com/dart-lang/build