spryker-sdk/composer-constrainer

ComposerConstrainer 模块

0.2.7 2023-12-13 08:54 UTC

This package is auto-updated.

Last update: 2024-09-19 20:22:43 UTC


README

CI Latest Stable Version Minimum PHP Version PHPStan

这是一个工具,用于检测扩展核心模块,并将 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 文档

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 命令。