定制 neclimdul/composer-installers-extender 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

neclimdul/composer-installers-extender

最新稳定版本:2.0.5

Composer 安装命令:

composer require neclimdul/composer-installers-extender

包简介

Extend the composer/installers plugin to accept any arbitrary package type.

README 文档

README

NOTE: This is a temporary fork of the main package to allow testing of the installer name fix from oomphinc#26. This is not a permanent repo and you should follow that issue because some day it will go away.

Composer Installers Extender

The composer-installers-extender is a plugin for Composer that allows any package to be installed to a directory other than the default vendor directory within a project on a package-by-package basis. This plugin extends the composer/installers plugin to allow any arbitrary package type to be handled by their custom installer.

The composer/installers plugin has a finite set of supported package types and we recognize the need for any arbitrary package type to be installed to a specific directory other than vendor. This plugin allows additional package types to be handled by the composer/installers plugin, benefiting from their explicit install path mapping and token replacement of package properties.

How to Install

Add oomphinc/composer-installers-extender as a dependency of your project:

$ composer require oomphinc/composer-installers-extender

This plugin requires at least PHP 7.1. If you're using a lower version of PHP use the latest stable 1.x release:

$ composer require oomphinc/composer-installers-extender:^1.1

How to Use

The composer/installers plugin is a dependency of this plugin and will be automatically required as well if not already required.

To support additional package types, add an array of these types in the extra property in your composer.json:

with composer/installers < v1.0.13:

{
    "extra": {
        "installer-types": ["library"]
    }
}

with composer/installers >= v1.0.13:

{
    "extra": {
        "installer-types": ["drupal-library"]
    }
}

Then refer to that type when adding to installer-paths:

with composer/installers < v1.0.13:

{
    "extra": {
        "installer-types": ["library"],
        "installer-paths": {
            "special/package/": ["my/package"],
            "path/to/libraries/{$name}/": ["type:library"]
        }
    }
}

with composer/installers >= v1.0.13:

{
    "extra": {
        "installer-types": ["drupal-library"],
        "installer-paths": {
            "special/package/": ["my/package"],
            "path/to/libraries/{$name}/": ["type:drupal-library"]
        }
    }
}

By default, packages that do not specify a type will be considered the type library. Adding support for this type allows any of these packages to be placed in a different install path.

If a type has been added to installer-types, the plugin will attempt to find an explicit installer path in the mapping. If there is no match either by name or by type, the default installer path for all packages will be used instead.

Please see the README for composer/installers to see the supported syntax for package and type matching as well as the supported replacement tokens in the path (e.g. {$name}).

License

MIT License

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-04-05