spryker-sdk / composer-constrainer
ComposerConstrainer 模块
Requires
- php: >=7.4
- roave/better-reflection: ^5.0.0 || ^6.0.0
- spryker/kernel: ^3.33.0
- spryker/laminas: ^1.0.0
- spryker/symfony: ^3.2.2
- spryker/transfer: ^3.27.0
Requires (Dev)
- codeception/module-asserts: ^1.3
- ergebnis/json-printer: ^3.1
- phpstan/phpstan: ^1.2.0
- spryker/code-sniffer: *
- spryker/console: *
- spryker/testify: ^3.15.0
README
这是一个工具,用于检测扩展核心模块,并将 composer.json 中的约束从使用 ^
(插入符) 更新为使用 ~
(波浪号)。
此工具将找到什么
- 扩展 API 和非 API 类。
此工具忽略的内容
- 扩展 ModuleDependencyProvider。
- 扩展 ModuleConfig。
安装
composer require --dev spryker-sdk/composer-constrainer
这是一个仅用于开发的 "require-dev" 模块。请确保将其作为此类包含。
将控制台命令 SprykerSdk\Zed\ComposerConstrainer\Communication\Console\ComposerConstraintConsole
添加到您的 Pyz\Zed\Console\ConsoleDependencyProvider::getConsoleCommands()
栈中。
文档
Spyrker OS 是模块化的,遵循 SemVer。每个 API 的重大变更都被视为主要版本。但对于非 API 呢?Spyrker 利用在次要和补丁版本中更改非 API 功能的能力。这样,Spyrker 为不同的业务领域提供了新功能。
对我的自定义模块意味着什么?
当您自定义 Spryker 模块(在项目级别更改模块行为)时,即使是微小的更改也可能导致迁移工作。为了避免此类情况并保持项目更新安全可预测,项目应使用 ~
(波浪号) composer 约束而不是 ^
来替代具有更改行为的模块。为了简化此过程,Spyrker 提供了一个开发命令 vendor/bin/console code:constraint:modules
,它将建议在 composer.json 中所需更改。它还可以自动调整您的 composer.json。
使用方法
执行 dry-run 命令
vendor/bin/console code:constraint:modules -d
此命令不会对 composer.json
进行更改。使用 -v
查看版本详细信息。
此命令的返回码为 0
(成功) 或 1
(错误,某些约束需要更改)。
这是您 CI 系统推荐的钩子。
执行命令
vendor/bin/console code:constraint:modules
此命令将更改项目的 composer.json
。请在应用任何更改之前先执行 dry-run 命令。