oat-sa/composer-npm-bridge

Composer 包的 NPM 集成。

安装次数: 81,923

依赖者: 3

建议者: 0

安全性: 0

星标: 0

关注者: 26

分支: 16

类型:composer-plugin

v0.4.4 2022-08-12 10:28 UTC

README

Composer 包的 NPM 集成。

此包是从 https://github.com/eloquent/composer-npm-bridge 分支出来的(感谢他们!)

安装

要求

  • 必须将 npm 可执行文件添加到 PATH 中。

使用方法

要使用 Composer NPM bridge,只需将 oat-sa/composer-npm-bridge 添加到项目 Composer 配置文件的 require 部分

composer require oat-sa/composer-npm-bridge

NPM 依赖通过 Composer 包根目录下的 package.json 配置文件指定。源代码控制应该配置为忽略 NPM 的 node_modules 目录,类似于 Composer 的 vendor 目录。

它是如何工作的?

Composer NPM bridge 是一个 Composer 插件,在执行相应的 Composer 命令时自动安装和更新 NPM 包。为了检测兼容的包,桥接器检查 Composer 包配置信息以查找直接要求 oat-sa/composer-npm-bridge Composer 包本身的包。

除了正常操作之外,composer install 将使用桥接器安装所有 Composer 包的 NPM 依赖项。这包括根包以及 Composer 依赖项。

同样,composer update 将使用桥接器安装所有 Composer 依赖项的 NPM 依赖项。它还将为 NPM 依赖项运行 npm install

NPM 依赖项将按与从包的根目录运行 npm install 完全相同的方式安装。即使该包作为依赖项安装,这也适用。

配置

以下配置可以添加到 composer.json 中的 extra.npm-bridge 部分,以根据每个包自定义行为。根包中的值目前不会影响也使用 Composer NPM bridge 的任何依赖包 - 每个包都必须定义自己的选项。

{
    // ...

    "extra": {
        "npm-bridge": {
            "timeout": 9000,
            "optional": true,
            "arguments": ["--prefix", "someDir"]
        },

        // ...
    }
}

通过将 COMPOSER_NPM_BRIDGE_DISABLE 环境变量设置为非空值,可以完全禁用 Composer NPM bridge

COMPOSER_NPM_BRIDGE_DISABLE=1 composer install

注意事项

由于 NPM 依赖项安装在与 Composer 包根目录下,当包作为依赖项安装时,Composer 可能会抱怨工作副本更改。应配置源代码控制以忽略 node_modules 目录,以避免这种情况。