livereload function

Future<int> livereload (Reloader reloader, List<String> buildRunnerArgs, [ StreamSink<List<int>> buildRunnerOutput, StreamSink<List<int>> buildRunnerError ])

Starts a livereload server.

By default, buildRunnerOutput is stdout.nonBlocking and buildRunnerError is stderr.nonBlocking.

Implementation

Future<int> livereload(
  Reloader reloader,
  List<String> buildRunnerArgs, [
  StreamSink<List<int>> buildRunnerOutput,
  StreamSink<List<int>> buildRunnerError,
]) async {
  print((['pub']..addAll(buildRunnerServePubArgs)..addAll(buildRunnerArgs))
      .join(' '));
  Process buildRunner = await buildRunnerServe(buildRunnerArgs);
  buildRunner.stdout
      .transform(branchSucceededBuildTo(reloader))
      .pipe(buildRunnerOutput ?? stdout.nonBlocking);
  buildRunner.stderr.pipe(buildRunnerError ?? stderr.nonBlocking);
  return await buildRunner.exitCode;
}