Download the PHP package solas-wyrd/yii2-static-assets-publisher without Composer
On this page you can find all versions of the php package solas-wyrd/yii2-static-assets-publisher. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download solas-wyrd/yii2-static-assets-publisher
More information about solas-wyrd/yii2-static-assets-publisher
Files in solas-wyrd/yii2-static-assets-publisher
Package yii2-static-assets-publisher
Short Description Automatically discovers and publishes Yii2 AssetBundle resources for production builds
License MIT
Informations about the package yii2-static-assets-publisher
Yii2 Static Assets Publisher
Пакет автоматически находит классы yii\web\AssetBundle, публикует их ресурсы во время production-сборки и создаёт manifest с контентными хешами.
Требования
- PHP 8.2 или выше;
- Yii2 2.0.49 или выше;
Установка
Конфигурация
Создайте файл, например config/static-assets.php:
Параметры
targetPath — каталог опубликованных ассетов. Перед публикацией он полностью пересоздаётся.
allowedBuildRoot — безопасный родительский каталог. targetPath обязан находиться внутри него. Это защищает от удаления произвольного пути и выхода через symlink.
baseUrl — публичный URL build-директории.
scanPaths — каталоги поиска PHP-классов
hashRoots — соответствие логических имён абсолютным корням. Абсолютный путь /var/www/app/assets может быть записан в manifest как app/assets.
Yii DI definitions
Console controller
Добавьте контроллер пакета в console-конфигурацию:
Публикация:
Runtime AssetManager
В web-конфигурации используйте manifest вместо повторного вычисления хешей:
Если manifest отсутствует или не содержит source-путь, runtime завершится с исключением. Для production это правильное fail-fast поведение: неполная сборка не маскируется пересчётом файлов.
Замена реализаций
Собственный поиск AssetBundle
Это полезно, если проект использует собственный registry, ограниченные namespaces или предварительно сформированный classmap.
Собственная публикация
Реализация может публиковать в shared volume, объектное хранилище или применять дополнительные права и post-processing.
Другое хранилище manifest
Запуск без консольного прогресса
Manifest
Пример static-assets-manifest.json:
Изменение содержимого или имени файла меняет хеш и URL опубликованного ресурса. Неизменённый контент сохраняет прежний URL.
Docker
Публикуйте ассеты после установки зависимостей и копирования исходников:
Разработка пакета
Автоматическое исправление code style:
Лицензия
MIT.