resolveOrmProject function

OrmProjectContext resolveOrmProject({
  1. String? configPath,
})

Implementation

OrmProjectContext resolveOrmProject({String? configPath}) {
  if (configPath != null && configPath.trim().isNotEmpty) {
    final normalized = p.normalize(
      p.isAbsolute(configPath)
          ? configPath
          : p.join(Directory.current.path, configPath),
    );
    final file = File(normalized);
    if (!file.existsSync()) {
      throw StateError('Config file $normalized not found.');
    }
    final root = findProjectRoot(file.parent);
    return OrmProjectContext(root: root, configFile: file);
  }

  // Use findOrmConfigFile from ormed package to locate config
  final configFile = findOrmConfigFile();
  if (configFile != null) {
    final root = findProjectRoot(configFile.parent);
    return OrmProjectContext(root: root, configFile: configFile);
  }

  throw StateError(
    'Missing ormed.yaml. Run `ormed init` or provide --config path.',
  );
}