Skip to content

Conversation

@samogot
Copy link
Contributor

@samogot samogot commented Aug 21, 2018

No description provided.

@samogot samogot requested review from jakemac53 and natebosch August 21, 2018 22:30
@googlebot googlebot added the cla: yes Google is happy with the PR contributors label Aug 21, 2018
defaultsTo: false,
negatable: false,
help: 'Enables automatic page reloading on rebuilds.');
help: 'Enables automatic reloading of changed modules.');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: ... on rebuilds.

@@ -0,0 +1,6 @@
var _buildUpdatesProtocol = '$buildUpdates';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit, wrap this all in an anonymous function

(function() {
...
})()

final bool logRequests;
final List<ServeTarget> serveTargets;

ServeOptions._({
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add some validation here that both hotReload and liveReload are not true.

- `--hostname`: The host to run the server on.
- `--hot-reload`: Enables automatic module reloading on rebuilds.
See [hot-module-reloading](../docs/hot_module_reloading.md) for more info.
- `--live-reload`: Enables automatic page reloading on rebuilds.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you provide both which one takes precedence? Could potentially model this as an enum to prevent that issue.

@samogot samogot merged commit f802f58 into hot-reload Aug 23, 2018
@samogot samogot deleted the live-reload branch August 23, 2018 20:44
samogot added a commit that referenced this pull request Aug 28, 2018
* Add assets digests handler (#1709)

This entry point will be used for hot reloading, in order to initially
retrieve digests of all assets, as build_runner might not know list of
all of them, unlike client.

* Emit useful information about build results (#1710)

Instead of just 'update' emit json with updated build results and its
digests

* Move live reload client code to new hot_reload_client.dart file (#1732)

It is expected that client code will become complicated, so in separate
dart file it would be easier to test and maintain.

* Implement basic hot reload (#1741)

Reload any changed modules without any specific order, then reload main
module and call main func to hopefully apply changes.

Still need to get module dependency graph to reload in topological order
and find correct ancessor chain where reloaded modules can be saved in
closures.

* Basic graph handling for hot reload (#1759)

We still lack handling situations when graph is dynamically updated
between reloads.

* Add rough graph changes handling by full page reload (#1763)

* Simplify module interface (#1764)

* Change HMR API to work with several libraries bundled in one module (#1765)

Fixes #1762

* Close Hot Reload listeners on exit (#1775)

Closes #1774

* Refactor and improve HMR code (#1770)

- Get rid of `roughLibraryKeyDecode` - use library path exposed from
  dart runtime now.
- Get load modules from cache directly and throw if it isn't loaded
  instead of using require.js and hoping that module already loaded and
  no network request would be done.
- Don't mess with `.ddc` extension in `build_runner` code - encapsulate
  all of it on build_web_compilers side.

Fixes #1760
Fixes #1762

* Finalize hot-reloading feature (#1773)

- Rename live-reload to hot-reload
- Add debug logging about reloading
- Add documentation
- Version bump and changelog

Fixes #1766

* Restore --live-reload option (#1778)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: yes Google is happy with the PR contributors

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants