php-forge / foxy
为Composer提供快速、可靠且安全的Bun/NPM/Yarn/pnpm桥接
Requires
- php: ^8.1
- composer-plugin-api: ^2.0
- ext-ctype: *
- ext-mbstring: *
- composer/composer: ^2.0.0
- composer/semver: ^3.4
- symfony/console: ^6.0|^7.0
Requires (Dev)
- maglnet/composer-require-checker: ^4.7
- php-forge/support: ^0.1
- phpunit/phpunit: ^10.5
- symplify/easy-coding-standard: ^12.1
- vimeo/psalm: ^5.20
- dev-main / 1.0.x-dev
- 0.1.2
- 0.1.1
- 0.1.0
- dev-dependabot/composer/maglnet/composer-require-checker-4.12.0
- dev-refactor-semverutil-class
- dev-dependabot/composer/vimeo/psalm-5.26.1
- dev-dependabot/composer/symplify/easy-coding-standard-12.3.5
- dev-dependabot/composer/phpunit/phpunit-10.5.27
- dev-dependabot/composer/symfony/console-6.4.9
- dev-update-docs
This package is auto-updated.
Last update: 2024-09-24 14:46:43 UTC
README
将以下内容添加到您的 composer.json
文件中。
管理器可以是 bun
、npm
、yarn
或 pnpm
。默认情况下,使用 npm
。
{ "require": { "php-forge/foxy": "^0.1" }, "config": { "foxy": { "manager": "bun" } } }
重要
⚠ 本插件基于 Fxpio/Foxy。
更新
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 Encore和Laravel 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许可下发布。查看完整的许可协议在
报告问题或功能请求
问题和功能请求在Github问题跟踪器中跟踪。