resolveOrmProjectConfig function
ResolvedOrmProjectConfig
resolveOrmProjectConfig({})
Resolves project config, falling back to convention defaults when
ormed.yaml is absent.
Implementation
ResolvedOrmProjectConfig resolveOrmProjectConfig({
String? configPath,
bool requireConfig = false,
}) {
if (configPath != null && configPath.trim().isNotEmpty) {
final context = resolveOrmProject(configPath: configPath);
return ResolvedOrmProjectConfig(
root: context.root,
config: loadOrmProjectConfig(context.configFile!),
configFile: context.configFile,
);
}
final discoveredConfig = findOrmConfigFile();
if (discoveredConfig != null) {
final root = findProjectRoot(discoveredConfig.parent);
return ResolvedOrmProjectConfig(
root: root,
config: loadOrmProjectConfig(discoveredConfig),
configFile: discoveredConfig,
);
}
if (requireConfig) {
throw StateError(
'Missing ormed.yaml. Run `ormed init --with-config` or provide --config path.',
);
}
final root = findProjectRoot();
return ResolvedOrmProjectConfig(
root: root,
config: _defaultOrmProjectConfigForRoot(root),
configFile: null,
);
}