register method
Called when the provider is registered in the container.
Implementation
@override
void register(ContainerInterface container) {
// Minimal config and logging
final configPath = _resolveConfigPath();
container.lazySingleton<EnvInterface>((c) => EnvSystem());
container.singleton<ConfigInterface>(
(c) => ConfigSystem(
configPath: configPath,
environment:
c.resolve<EnvInterface>().getOrDefault('APP_ENV', 'development'),
),
);
container.lazySingleton<Logger>(
(c) => Logger()..addHandler(ConsoleLogHandler()),
);
// Optional: Database + Migrator + Seeder (only CLI tools)
container.lazySingleton<DatabaseManager>(
(c) => DatabaseManager(c.resolve<ConfigInterface>()),
);
container
.lazySingleton<Migrator>((c) => Migrator(c.resolve<DatabaseManager>()));
container.lazySingleton<SeederManager>((c) => SeederManager());
container.lazySingleton<QueueManager>(
(c) => QueueManager(c.resolve<ConfigInterface>()),
);
}