angel_hot 1.1.0

  • Installing
  • Versions
  • 50



Supports hot reloading of Angel servers on file changes. This is faster and more reliable than merely reactively restarting a Process.

This package only works with the Angel framework.


In your pubspec.yaml:

  angel_hot: ^1.0.0


This package is dependent on the Dart VM service, so you must run Dart with the --enable-vm-service argument!!!

Usage is fairly simple. Pass a function that creates an Angel server, along with a collection of paths to watch, to the HotReloader constructor. The rest is history!!!

The recommended pattern is to only use hot-reloading in your application entry point. Create your Angel instance within a separate function, conventionally named createServer. Using this in production mode is pointless.

You can watch:

  • Files
  • Directories
  • Globs
  • URI's
  • package: URI's
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'package:angel_compress/angel_compress.dart';
import 'package:angel_diagnostics/angel_diagnostics.dart';
import 'package:angel_framework/angel_framework.dart';
import 'package:angel_hot/angel_hot.dart';
import 'src/foo.dart';

main() async {
  var hot = new HotReloader(createServer, [
    new Directory('config'),
    new Directory('lib'),
    new Directory('web'),
    new Directory('src'),
  var server = await hot.startServer(InternetAddress.LOOPBACK_IP_V4, 3000);
      'Hot server listening at http://${server.address.address}:${server.port}');

Future<Angel> createServer() async {
  var app = new Angel();

  app.lazyParseBodies = true;

  app.get('/', {'hello': 'hot world!'});'/foo/bar', (req, res) async {
    var result = await someLengthyOperation();
    return {'status': result};

  app.after.add(() => throw new AngelHttpException.notFound());

  await app.configure(logRequests());
  return app;

1. Depend on it

Add this to your package's pubspec.yaml file:

  angel_hot: "^1.1.0"

2. Install it

You can install packages from the command line:

with pub:

$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:angel_hot/angel_hot.dart';
Version Uploaded Documentation Archive
1.1.0 Dec 7, 2017 failed Download angel_hot 1.1.0 archive
1.0.1 Jun 14, 2017 failed Download angel_hot 1.0.1 archive
1.0.0 Jun 12, 2017 failed Download angel_hot 1.0.0 archive
1.1.0-alpha Oct 19, 2017 failed Download angel_hot 1.1.0-alpha archive
1.0.0-rc.3 Jun 6, 2017 failed Download angel_hot 1.0.0-rc.3 archive
1.0.0-rc.2 Jun 6, 2017 failed Download angel_hot 1.0.0-rc.2 archive
1.0.0-rc.1 Jun 6, 2017 failed Download angel_hot 1.0.0-rc.1 archive


We analyzed this package on Apr 23, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.49.0
  • pana: 0.10.6


Describes how popular the package is relative to other packages. [more]
76 / 100
Code health derived from static analysis. [more]
0 / 100
Reflects how tidy and up-to-date the package is. [more]
59 / 100
Overall score:
Weighted score of the above. [more]
Learn more about scoring.


Detected platforms: unsure

Error(s) prevent platform classification:

Error(s) in lib/angel_hot.dart: Target of URI doesn't exist: 'package:glob/glob.dart'.


  • Fix platform conflicts.

    Error(s) prevent platform classification:

    Error(s) in lib/angel_hot.dart: Target of URI doesn't exist: 'package:glob/glob.dart'.

  • Maintain

    Changelog entries help clients to follow the progress in your code.

  • Fix analysis and formatting issues.

    Analysis or formatting checks reported 10 errors 5 hints.

    Make sure that the imported libraries are not in conflict. Error(s) in lib/angel_hot.dart: Target of URI doesn't exist: 'package:glob/glob.dart'.

  • The description is too short.

    Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

  • Maintain an example.

    None of the files in your example/ directory matches a known example patterns. Common file name patterns include: main.dart, example.dart or you could also use angel_hot.dart.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.19.0
angel_framework ^1.1.0-alpha 1.1.2
angel_websocket ^1.1.0-alpha 1.1.1
html_builder ^1.0.0 1.0.2
vm_service_lib 0.3.5 0.3.5 0.3.7
Transitive dependencies
angel_auth 1.1.0+2
angel_client 1.2.0+1
angel_http_exception 1.0.0
angel_model 1.0.0
angel_route 2.0.5
async 2.0.6
body_parser 1.1.0
charcode 1.1.1
collection 1.14.9
combinator 1.0.0-beta+7
container 0.1.2
convert 2.0.1
crypto 2.0.2+1
http_parser 3.1.1
http_server 0.9.7
json_god 2.0.0-beta+1
logging 0.11.3+1
matcher 0.12.2
merge_map 1.0.0
meta 1.1.2
mime 0.9.6
path 1.5.1
pool 1.3.4
quiver_hashcode 1.0.0
random_string 0.0.1
source_span 1.4.0
stack_trace 1.9.2
stream_channel 1.6.5
string_scanner 1.0.2
tuple 1.0.1
typed_data 1.1.5
uuid 0.5.3 1.0.0
web_socket_channel 1.0.7
Dev dependencies
angel_test ^1.0.0
http ^0.11.3 0.11.3+16
test ^0.12.15