codexsoft/composer-local-package-updater

There is no license information available for the latest version (v1.1.0) of this package.

Overrides composer.json and installs packages from local repositories while developing application

Maintainers

👁 kozubsky

Package info

github.com/codexsoft/composer-local-package-updater

pkg:composer/codexsoft/composer-local-package-updater

Statistics

Installs: 89

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v1.1.0 2020-12-29 19:08 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

Unknown License d713a9a2534b7e88be343131a8da6cd98d4114f6

  • Dmitriy V Kozubskiy <kozubsky.woop@inbox.ru>

This package is auto-updated.

Last update: 2026-06-29 01:43:04 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();