defaultHubStateFile function

File defaultHubStateFile({
  1. String? home,
  2. Map<String, String>? environment,
})

The default hub state file (~/.dap/hub.json) — the hub's master secret (the "hub password") and enrolled per-client secrets live here so fa hub serve restarts keep both. DAP_HUB_STATE_FILE (from environment) wins outright; home overrides ~ (test seam).

Implementation

File defaultHubStateFile({String? home, Map<String, String>? environment}) {
  final env = environment ?? Platform.environment;
  final override = env['DAP_HUB_STATE_FILE'];
  if (override != null && override.isNotEmpty) return File(override);
  final root =
      home ?? env['HOME'] ?? env['USERPROFILE'] ?? Directory.current.path;
  return File('${root.endsWith('/') ? root : '$root/'}.dap/hub.json');
}