. */ use Monolog\Handler\StreamHandler; use Monolog\Logger; use Psr\Log\LoggerInterface; use SP\Core\Bootstrap\Path; use SP\Core\Bootstrap\PathsContext; use SP\Domain\Core\Bootstrap\ModuleInterface; use SP\Modules\Cli\Init; use Symfony\Component\Console\Application; use Symfony\Component\Console\Input\ArgvInput; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\ConsoleOutput; use Symfony\Component\Console\Output\OutputInterface; use function DI\autowire; use function DI\create; const MODULE_PATH = __DIR__; const PLUGINS_PATH = MODULE_PATH . DIRECTORY_SEPARATOR . 'plugins'; return [ LoggerInterface::class => static fn(Logger $logger, PathsContext $pathsContext) => $logger->pushHandler( new StreamHandler($pathsContext[Path::LOG_FILE]) ), Application::class => create(Application::class), OutputInterface::class => create(ConsoleOutput::class) ->constructor(OutputInterface::VERBOSITY_NORMAL, true), InputInterface::class => create(ArgvInput::class), ModuleInterface::class => autowire(Init::class) ];