Короткие адреса до папок расширений поддерживающих конфигурационные файлы .infra.json, (*1)
Поиск файла $src = Path::theme('-plugin/test.js')
с коротким адресом "-" будет осуществляться в папках с .infra.json., (*2)
Например, если в папке vendor/name/plugin/ есть .infra.json и test.js, то путь -plugin/test.js приведён к файлу vendor/name/plugin/test.js, (*3)
Также в .infra.json в корне проекта можно использовать короткое имя расширения, без указания полного адреса vendor/name/plugin., (*4)
{ "plugin":{ "js":"test.js" } }
Файлы и папки всех установленных расширений с конфигурационным файлом .infra.json будут доступны по короткому адресу -plugin/folders/file.ext, где "-" скрывает часть адреса, варианты которого и подготавливает данное расширение., (*5)
Расширение расширяет функциональность infrajs/path. В массив Path::$conf['search'] добавляются адреса производителей поддерживающих конфигурацию через файлы .infra.json., (*6)
Расширение устанавливается автоматически как зависимость infrajs/router настроек не требуется., (*7)
Для тех кто знает что делает..., (*8)
\infrajs\config\Search::init(); //Наполнит Path::$conf['search'] новыми путями
Путь для поиска файлов c - по умолчанию указан только один vendor/infrajs/ и его достаточно, чтобы собрать все нужные зависимости., (*9)
Определённые пути кэшируются, кэш привязан к дате изменения файла composer.lock, (*10)
Принцип работы - пробежаться по всем папкам проекта и все папки папок с файлами .infra.json добавить в config.path.search., (*11)
Найденные пути добавляются в конец config.path.search., (*12)
Есть папки которые содержат часто-подключаемые файлы, но не содержащие .infra.json - vendor/components/, - vendor/twbs/, - bower_components/ Можно указывать вручную в корне проекта .infra.json, (*13)
{ "path":{ "search":[ "vendor/components/", "vendor/twbs/", "bower_components/" ] } }
Без расширения config-search все пути нужно буедет перечислить вручную в корневом .infra.json. Отключить использование этого расширения если оно установлено можно параметром off в корневом .infra.json, (*14)
{ "config-search":{ "off":true } }