@modelcontextprotocol/codemod@2.2.0
MCP TypeScript SDK 发布 @modelcontextprotocol/codemod@2.2.0 补丁版本。变更点:v1-to-v2 codemod 现在把重写后的 import 写在原第一个 v1 import 所在位置,而不是文件顶部,从而保留其上方的 license header、// @ts-nocheck、/// 以及 'use client' / 'use server' / 'use strict' 指令。已知缺口:当 codemod 后续步骤替换或删除该 import(例如文件唯一的 SDK import 是 ErrorCode 或 StreamableHTTPError)时,新 import 仍可能落在 header 上方或内部,且 /** */ header 可能被删除。用 2.1.0 或更早版本迁移过的文件不会被修复,需人工检查这些文件顶部。
发展脉络
- 首次出现@modelcontextprotocol/codemod@2.2.0MCP TypeScript SDK Releases
- 当前判断MCP 生态的 SDK 从 v1 到 v2 迁移,工具链的可靠性直接影响采用速度。codemod 这类迁移工具一旦破坏 license header 或 'use client' 指令,会在下游仓库产生难以批量发现的隐性回归,因此发布说明主动披露已知缺口与「旧版本迁移文件不修复」的边界,属于对开发者负责的做法。可验证的下一信号:社区是否报告因该缺口导致的构建或合规问题,以及是否出现第三方修复脚本。Agent Pulse · 分析
@modelcontextprotocol/codemod 2.2.0 是一个补丁版本,修复 v1 到 v2 迁移时 import 重写位置的问题:重写后的 import 现在落在原第一个 v1 import 的位置,而非文件顶部,因此 license header、// @ts-nocheck、/// 和 'use client' / 'use server' / 'use strict' 等指令得以保留。发布说明同时列出已知缺口:若 codemod 后续步骤替换或移除该 import(例如文件唯一的 SDK import 为 ErrorCode 或 StreamableHTTPError),新 import 仍可能出现在 header 上方或内部,/** */ header 也可能被删除。此外,已用 2.1.0 或更早版本完成迁移的文件不会被自动修复,需要人工检查文件顶部。
这是代码迁移工具在文本改写层面的位置约束问题:把 import 锚定到原 import 位置,比锚定到文件顶部更能保住文件头部的指令与注释。但发布说明自己承认该策略在 import 被后续步骤替换或删除时失效,说明当前实现尚未把「文件头部区域」建模为不可破坏的保护区。可验证的下一信号:后续版本是否引入对 header/directive 的显式保护或幂等重跑能力,以及是否提供修复 2.1.0 及更早迁移结果的迁移脚本。
MCP 生态的 SDK 从 v1 到 v2 迁移,工具链的可靠性直接影响采用速度。codemod 这类迁移工具一旦破坏 license header 或 'use client' 指令,会在下游仓库产生难以批量发现的隐性回归,因此发布说明主动披露已知缺口与「旧版本迁移文件不修复」的边界,属于对开发者负责的做法。可验证的下一信号:社区是否报告因该缺口导致的构建或合规问题,以及是否出现第三方修复脚本。
对维护 MCP TypeScript SDK 集成代码的团队,升级到 2.2.0 可减少迁移后手工修复文件头部的成本,并降低 license 合规与 'use client' / 'use server' 指令被破坏的风险。但已用旧版 codemod 迁移的仓库不会自动受益,需要安排一次针对文件顶部的检查。可验证的下一信号:团队在升级后统计需人工修复的文件数量是否下降。
若后续版本补齐对文件头部与指令的保护,并覆盖 import 被替换或删除的分支,v1 到 v2 迁移的自动化程度会提高;反之,使用 2.1.0 及更早版本迁移过的仓库需要人工排查文件顶部。可验证的下一信号是下一个 codemod 版本说明中是否明确关闭该已知缺口。