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
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
.gitattributesexport-ignorerules 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 archiveto export files, respecting.gitattributesexport-ignorerules - 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
gitandunzipcommand available in the system environment
Limitations
- Only works with Git repositories
- Requires the
.gitdirectory to be present in the installed package (i.e., VCS install, not dist) - May not work on environments where
git archiveorunzipare unavailable (e.g., some Windows setups) - Does not affect packages installed via dist (zip/tarball)
统计信息
- 总下载量: 79
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-08