findNitroProjectRoot function

Directory? findNitroProjectRoot()

Searches for a Nitro project root. Checks the current directory first, then direct subdirectories. Returns the Directory if a pubspec.yaml containing 'nitro' is found.

Implementation

Directory? findNitroProjectRoot() {
  // 1. Check current directory
  if (_isNitroRoot(Directory.current)) return Directory.current;

  // 2. Check direct subdirectories (common in monorepos or after init)
  try {
    for (final entity in Directory.current.listSync()) {
      if (entity is Directory && _isNitroRoot(entity)) {
        return entity;
      }
    }
  } catch (_) {}

  return null;
}