codexsoft / composer-local-package-updater
Overrides composer.json and installs packages from local repositories while developing application
Requires
- php: ^7.4|^8
- ext-json: *
- symfony/filesystem: ^5.0
This package is auto-updated.
Last update: 2024-10-29 05:59:57 UTC
README
Helper для быстрого получения composer-пакетов из локальных репозиториев. Полезен когда в проекте используется зависимость в виде вашего composer-пакета, который находится в разработке и развернут локально.
Не изменяет composer.json
и composer.lock
проекта.
-
Сделает composer install
-
Скопирует composer.json в composer.local.json, заменив/добавив в required пакеты с указанными версиями, и прописав репозитории типа path на локальные директории
-
Скопирует composer.lock в composer.local.lock
-
Сделает composer update ...
Чтобы восстановить в /vendor оригинальные пакеты, просто делаем composer install и работаем как обычно.
Как использовать
Создадим новый файл с php-скриптом (например, /local.php) и заполним его следующим содержимым:
<?php use CodexSoft\ComposerLocalPackages\Updater; require __DIR__.'/vendor/autoload.php'; (new Updater()) ->add('vendor/package-name', 'dev-feature/awesome', '/path/to/package/repo') ->run();
Поддерживается добавление/замена версии множества пакетов, а также некоторые другие опции:
(new Updater()) ->add('vendor/package-name1', 'dev-feature/first', '/path/to/package/repo1') ->add('vendor/package-name2', 'dev-feature/second', '/path/to/package/repo2') ->setComposerCommand('/bin/composer') ->setComposerOptions('--no-scripts -vvv') ->setMergeConfig([ 'repositories' => [ ['packagist.org' => false] ], ]) ->run();