为Composer提供快速、可靠且安全的Bun/NPM/Yarn/pnpm桥接

资助包维护!
terabytesoftw

安装数: 48,834

依赖者: 7

建议者: 0

安全: 0

星标: 42

关注者: 2

分支: 1

开放问题: 1

类型:composer-plugin


README

Foxy

php-version PHPUnit Codecov PSalm StyleCI

将以下内容添加到您的 composer.json 文件中。

管理器可以是 bunnpmyarnpnpm。默认情况下,使用 npm

{
    "require": {
        "php-forge/foxy": "^0.1"
    },    
    "config": {
        "foxy": {
            "manager": "bun"
        }
    }
}

重要

⚠ 本插件基于 Fxpio/Foxy

更新

  • PHP版本为8.1或更高。
  • Composer版本为2.0或更高。
  • Composer API版本为2.0或更高。
  • 添加对 Bun 的支持。
  • 删除过时的方法。
  • 添加静态分析支持 Psalm
  • 添加代码质量支持 StyleCI

Foxy是一个Composer插件,用于自动化验证、安装、更新和删除项目中NPM package.json 文件和PHP库中定义的PHP库资产依赖(JavaScript、样式表等)。它处理在执行Composer时,Bun或NPM或Yarn或PNpM出错时恢复项目状态的情况。

所有功能和工具都可用

每种语言都有自己的依赖管理系统,强烈建议使用每种包管理器。当资产依赖仅在PHP项目中管理时,NPM、Yarn或PNpM运行良好,但是当创建使用资产的PHP库时,无法自动添加资产依赖,最重要的是,无法自动进行版本验证。您必须告诉开发人员您的PHP库使用的资产依赖列表,并要求他们将其项目的资产管理器中手动添加资产依赖。

然而,另一个解决方案存在——许多项目所提出的——您必须在PHP库的文件夹中添加资产(如 /assets/Resources/public)。当然,使用此方法,代码会重复,它污染了PHP库的源代码,无法进行版本管理/验证,甚至更不可能使用所有工具,如Babel、Scss、Less等。

Foxy专注于自动化验证、添加、更新和删除定义文件中资产包的依赖项,同时恢复项目状态,以及Bun、NPM、Yarn或PNpM出错时PHP依赖项的状态。

它非常快

Foxy检索所有Composer依赖项列表,将资产依赖项注入到 package.json 文件中,并将库的分析、验证和下载任务留给Bun、NPM、Yarn或PNpM执行。

因此,Composer不使用任何版本控制系统(VCS)仓库来分析资产依赖项,您保留原生包管理器的性能。

它很可靠

Foxy在本地目录中创建只包含资产依赖定义文件的PHP库的模拟包,并将这些包与项目的资产依赖定义文件相关联。鉴于Foxy不操作任何资产依赖项,更不用说版本约束,这允许Bun、NPM、Yarn或PNpM无需任何中介即可解决资产依赖项。此外,整个与锁定文件和安装过程的验证都留给Bun、NPM、Yarn或PNpM。

它是安全的

如果Bun、NPM、Yarn或PNpM结束时出现错误,Foxy会恢复Composer锁定文件及其所有PHP依赖项,以及资产依赖定义文件到之前的状态。

特性

  • 兼容Yii Assets
  • 兼容Symfony Webpack EncoreLaravel Mix
  • 与Node.js和Bun、NPM、Yarn或PNpM一起工作
  • 与项目或PHP库中定义在package.json文件中的资产依赖项一起工作
  • 与项目或库的依赖项中的安装(非全局模式)一起工作
  • 与公共或私有仓库一起工作
  • 与Composer、NPM、Yarn和PNpM的所有功能一起工作
  • 保留Composer、NPM、Yarn和PNpM的原生性能
  • 如果NPM、Yarn或PNpM结束时出现错误,恢复PHP依赖项和锁定文件的先前版本
  • 使用版本范围验证NPM、Yarn或PNpM版本
  • 按项目、全局或使用环境变量配置插件
    • 启用/禁用插件
    • 选择资产管理器:NPM、Yarn或PNpM(默认使用npm
    • 使用Composer版本范围锁定资产管理器版本
    • 定义资产管理器二进制的自定义路径
    • 启用/禁用项目的资产包文件回退
    • 启用/禁用Composer锁定文件及其依赖项的回退
    • 启用/禁用资产管理者以仅操作资产包文件
    • 覆盖资产管理器的安装命令选项
    • 覆盖资产管理器的更新命令选项
    • 定义PHP库模拟包的自定义路径
    • 手动启用/禁用PHP库的资产包
  • 与Composer命令一起工作
    • 安装
    • 更新
    • 要求
    • 删除

文档

安装

安装说明位于指南中。

许可

Foxy在MIT许可下发布。查看完整的许可协议在

LICENSE

报告问题或功能请求

问题和功能请求在Github问题跟踪器中跟踪。