<?php

use function DI\autowire, DI\create, DI\get;

$dir = getenv("META_PATH") . "/definitions";

return array_merge(
    Lean\Lean::definitions(),

    Lean\Console\Lean::definitions(),

    [
        '%APPKEY%' => [
            'picea' => [
                'context' => "%ESCAPED_NAMESPACE%\\View",

                'extensions' => [
                ],

            ],

            'ulmus' => [
                'entities' => [ '%ESCAPED_NAMESPACE%\\Entity' => getenv("PROJECT_PATH") . '/src/Entity/' ],
            ],

            'routes' => [
                '%ESCAPED_NAMESPACE%\\Controller' => getenv("PROJECT_PATH") . '/src/Controller/',
            ],

            'events' => [
                '%ESCAPED_NAMESPACE%\\Controller' => implode(DIRECTORY_SEPARATOR, [ getenv("PROJECT_PATH"), 'src', 'Controller', '' ]),
            ],

            'cronard' => [
                '%ESCAPED_NAMESPACE%\\Controller' => implode(DIRECTORY_SEPARATOR, [ getenv("PROJECT_PATH"), 'src', 'Controller', '' ]),
            ],

            'cli' => [
                '%ESCAPED_NAMESPACE%\\Controller' => implode(DIRECTORY_SEPARATOR, [ getenv("PROJECT_PATH"), 'src', 'Controller', '' ]),
            ],
        ],
    ],

    require("$dir/auth.php"),
    require("$dir/storage.php"),
    require("$dir/security.php"),
    require("$dir/env/" . getenv('APP_ENV') . ".php"),
    [ 'config' => function () { return require(getenv("META_PATH")."/config.php"); } ]
);