承接 folivoro/branch 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

folivoro/branch

最新稳定版本:v0.0.2

Composer 安装命令:

composer require folivoro/branch

包简介

Local package development for Composer without modifying composer.json

README 文档

README

Sloth Logo

Branch

Local package development for Composer without touching composer.json

The Problem

When developing packages locally, you typically need to either:

  1. Modify composer.json - Add path repositories, remember to remove them before committing
  2. Use composer link - Extra setup, can get confused with global installs

Both approaches are error-prone and easy to forget.

The Solution

Drop a branch-local.json next to your composer.json and you're done. No modifications needed.

cd ~/projects/my-app
composer global require folivoro/branch
# Allow the plugin once in ~/.composer/composer.json
echo '{"config":{"allow-plugins":{"folivoro/branch":true}}}' | jq -s '.[0].config.allow-plugins += input.config.allow-plugins' ~/.composer/composer.json ~/.composer/composer.json > tmp && mv tmp ~/.composer/composer.json

Create branch-local.json:

{
    "acme/widget": "../acme-widget",
    "acme/gizmo": "/Users/dev/acme-gizmo"
}

Run composer install or composer update. That's it.

How It Works

The plugin reads branch-local.json at pre-install and pre-update time and registers each path as a Composer PathRepository. It automatically extracts the version constraint from your composer.json's require block and uses the lower bound, so your local branches can be named anything.

Version Resolution

Consumer require Local version used
^1.0.0 1.0.0
~2.1.0 2.1.0
>=3.0.0 3.0.0
dev-main dev-main

Path Formats

  • Relative: ../my-package (relative to working directory)
  • Absolute: /Users/dev/packages/my-package

Installation

Global (Recommended)

composer global require folivoro/branch

Allow the plugin:

composer config --global allow-plugins.folivoro/branch true

Per-project

composer require --dev folivoro/branch

Configuration

The plugin reads branch-local.json from the project root as a flat key-value map:

{
    "vendor/package-name": "../path/to/package",
    "another/vendor": "/absolute/path/to/package"
}

Global vs Per-project

Mode branch-local.json location Use case
Global Project root Works across all projects
Per-project Inside a project Project-specific overrides

Requirements

  • PHP 8.1+
  • Composer 2.0+

License

MIT

统计信息

  • 总下载量: 19
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固