sunaoka/composer-vcs-export-plugin 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

sunaoka/composer-vcs-export-plugin

最新稳定版本:v0.1.2

Composer 安装命令:

composer require --dev sunaoka/composer-vcs-export-plugin

包简介

Exports Composer VCS repositories to vendor directories applying .gitattributes export-ignore rules.

README 文档

README

Latest License PHP Test codecov

Overview

This Composer plugin ensures that when installing packages from VCS repositories (such as Git) via the repositories configuration, only the files allowed by .gitattributes export-ignore rules are placed in the vendor directory.
It enables clean, distribution-like installs even when directly referencing VCS sources, helping maintain a tidy vendor/ with only the intended files from each package.

Features

  • Applies .gitattributes export-ignore rules to packages installed from VCS repositories
  • Ensures only distribution-ready files are present in vendor/
  • Works automatically during Composer install/update
  • No configuration required for standard usage

Installation

Add the plugin to your project using Composer:

composer require --dev sunaoka/composer-vcs-export-plugin

Or

composer global require sunaoka/composer-vcs-export-plugin

Usage

No additional configuration is needed.
When you install or update packages from VCS repositories (e.g., via the repositories section in your composer.json), this plugin will:

  • Detect if the package was installed from a Git repository
  • Use git archive to export files, respecting .gitattributes export-ignore rules
  • Replace the package directory in vendor/ with the exported contents

Example

composer.json:

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://example.com/your-vendor/your-library.git"
        }
    ],
    "require": {
        "your-vendor/your-library": "^1.0",
        "sunaoka/composer-vcs-export-plugin": "^1.0"
    },
    "config": {
        "allow-plugins": {
          "sunaoka/composer-vcs-export-plugin": true
        }
    }
}

With this setup, only the files not marked with export-ignore in .gitattributes will be present in vendor/your-vendor/your-library.

Requirements

  • PHP 7.2.5 or later
  • Composer 2.x
  • git and unzip command available in the system environment

Limitations

  • Only works with Git repositories
  • Requires the .git directory to be present in the installed package (i.e., VCS install, not dist)
  • May not work on environments where git archive or unzip are unavailable (e.g., some Windows setups)
  • Does not affect packages installed via dist (zip/tarball)

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-07-08

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固