mcpField
T
typo3-extension-upgrade

typo3-extension-upgrade

github.com/dirnbauer开发33100 次安装13 周前更新
代码仓库

关于 typo3-extension-upgrade

typo3-extension-upgrade 是将 TYPO3 扩展代码升级到较新 LTS 版本的技能,不用于升级项目或 TYPO3 核心。它结合迁移工具、静态分析、测试和版本指南,强调审查变更。

主要功能

  1. 01规划升级并评估兼容性风险
  2. 02扫描已弃用的 API
  3. 03使用 Rector 迁移 PHP
  4. 04使用 Fractor 迁移配置和模板
  5. 05通过 PHPStan 和 PHPUnit 检查代码
  6. 06查阅特定版本的迁移参考资料

适用场景

  1. 01将扩展升级到较新的 TYPO3 LTS
  2. 02应用前审查自动迁移变更
  3. 03检查不同受支持依赖版本的兼容性
  4. 04评估升级范围及无法自动处理的问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dirnbauer/webconsulting-skills --skill typo3-extension-upgrade

安装后在 Claude Code 中输入/typo3-extension-upgrade确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

checkpoints.yaml
assets/
.php-cs-fixer.php
fractor.php
phpstan.neon
phpunit.xml
rector.php
references/
api-changes.md
api-traps.md
audit-mode.md
dual-compatibility.md
multi-version-worktrees.md
pre-upgrade.md
real-world-patterns.md
third-party-dependency-upgrades.md
toolchain-output.md
troubleshooting.md
upgrade-v11-to-v12.md
upgrade-v12-to-v13.md
upgrade-v13-to-v14.md
verification.md
scripts/
scan-deprecations.sh

详细介绍

TYPO3 扩展升级技能

用于将 TYPO3 扩展升级到较新 LTS 版本的框架。 仅针对扩展代码,不涉及项目或核心升级。

升级工具包

工具用途文件
扩展扫描器诊断已弃用的 APITYPO3 后端
Rector自动化 PHP 迁移.php
Fractor非 PHP 迁移FlexForms、TypoScript、YAML、Fluid
PHPStan静态分析.php

核心工作流

  1. 完成规划阶段(参阅 references/pre-upgrade.md)
  2. 创建功能分支(确认 Git 工作区干净)
  3. 更新 composer.json 中的目标版本约束
  4. 审查第三方依赖项的主版本变更(参阅 references/third-party-dependency-upgrades.md)
  5. 运行 rector process --dry-run,然后审查并应用变更
  6. 运行 fractor process --dry-run,然后审查并应用变更
  7. 运行 php-cs-fixer fix
  8. 针对每个受支持的依赖项版本运行 phpstan analyse,并修复错误
  9. 运行 phpunit 并修复测试
  10. 在目标 TYPO3 版本中测试
  11. 验证成功标准(参阅 references/verification.md)

不应自动应用的情况

当涉及双版本兼容性、缺少测试、变更不明确或复杂 API(DBAL、Extbase)时, 切勿盲目应用 Rector/Fractor。应手动应用规则,并在每次变更后进行测试。

第三方依赖项升级

当 composer.json 将依赖项约束扩展到新的主版本时:列出 API 的使用情况,对照新 API 进行核查,验证模拟对象,针对签名差异使用适配器模式,并按每个主版本运行 PHPStan。参阅 references/third-party-dependency-upgrades.md。

快速命令

rector process --dry-run && rector process        # PHP migrations
fractor process --dry-run && fractor process       # Non-PHP migrations
php-cs-fixer fix && phpstan analyse && phpunit     # Quality checks

资源模板

assets/ 中的配置模板:rector.php、fractor.php、phpstan.neon、phpunit.xml、.php-cs-fixer.php

参考资料

参考资料适用场景……
references/pre-upgrade.md规划清单、版本审查、风险评估
references/api-changes.md按 TYPO3 版本检查已弃用或已移除的 API
references/api-traps.md跨版本陷阱:TCA 限制、引导顺序、绕过 DI
references/upgrade-v11-to-v12.md从 TYPO3 v11 升级到 v12
references/upgrade-v12-to-v13.md从 TYPO3 v12 升级到 v13
references/upgrade-v13-to-v14.md从 TYPO3 v13 升级到 v14
references/dual-compatibility.md双版本兼容(v12 + v13)
references/real-world-patterns.md实际迁移示例
references/toolchain-output.mdRector/Fractor 试运行输出
references/troubleshooting.mdRector 破坏代码、PHPStan 错误、测试失败
references/third-party-dependency-upgrades.md非 TYPO3 依赖项(主版本升级、适配器模式)
references/verification.md成功标准和实际环境测试
references/multi-version-worktrees.md按 LTS 划分的工作树布局、回移工作流、跨版本 CI 矩阵
references/audit-mode.md评估/估算:仅针对无法自动化的发现创建工单
scripts/scan-deprecations.sh <path>确定性 grep 扫描,用于查找已弃用或已移除的 API 和陷阱

外部资源


致谢与归属

此技能基于 Netresearch DTT GmbH 的优秀成果。

原始代码库:https://github.com/netresearch/typo3-extension-upgrade-skill

版权所有 (c) Netresearch DTT GmbH — 方法论和最佳实践(MIT / CC-BY-SA-4.0)

特别感谢 Netresearch DTT GmbH 为 TYPO3 社区慷慨贡献开源成果,助力塑造了此技能集合。 由 webconsulting.at 为此技能集合改编

评论

支持 Markdown