start method

Future<void> start({
  1. required bool enableHotReload,
})

Implementation

Future<void> start({required bool enableHotReload}) async {
  lockInput();

  logger.detail('Starting dev server');
  if (isCompleted) {
    throw Exception('Cannot start a dev server after it has been stopped.');
  }

  if (isServerRunning) {
    throw Exception('Cannot start a dev server while already running.');
  }

  final progress = logger.progress('Generating server code');

  final server = await codeGenerator(progress.update);

  progress.complete('Generated server code');

  await serve(
    enableHotReload: enableHotReload,
    onReady: () => printParsedRoutes(server.routes),
  );

  if (enableHotReload) {
    watchForInput();
    watchForFileChanges();
  }
}