用途:升级现有 EmDash 项目。upgrade-emdash 会解析所选 npm 发布标签,更新项目中每个直接依赖的 EmDash 包,刷新 EmDash 技能,并生成项目专属工单。该更新器不会编辑应用代码、不会应用数据库迁移,也不会部署。
主要能力与用法:在项目根目录运行 npx upgrade-emdash@latest --dry-run 预览,再运行 npx upgrade-emdash@latest 执行。用 --to <tag> 指定其他 npm dist-tag(如 next 或 beta),该参数不接受版本号;--yes 用于非交互环境接受提示;--json 输出机器可读的 dry-run;--cwd <path> 指定其他项目根目录。
工单与后续步骤:更新器会写入 .emdash/UPGRADE.md,命令结束后需阅读该文件,其中包含本项目直接包所涉及的完整变更日志条目(已移除自动生成的依赖升级条目),以及安装后发现的精确核心迁移差异。随后检查现有项目及未提交改动,保留无关工作;逐条评估工单中的发布条目,应用必要的源码与配置变更,项目未使用相关功能时不要引入新特性;运行仓库相关的格式化、测试、类型检查和构建命令;执行工单中的迁移状态命令并报告目标数据库与待处理迁移。
限制与安全要求:当工单列出新增核心迁移、状态命令报告更早的待处理迁移,或某发布条目要求数据变更操作时,须按工单的备份流程操作后再启动或部署升级后的应用。除非用户明确要求,否则在应用迁移、部署或进行其他远程变更前应先询问。核心迁移仅支持向前。无新增或待处理迁移的包更新不需要升级专用恢复点。授权进行数据库变更前,需具备可恢复的数据库备份、独立媒体备份、相关加密密钥,以及用于迁移和部署的同一构建产物;JSON 备份不算恢复点。回滚应同时恢复匹配的数据库与应用产物,而不是运行迁移的 down() 函数或删除迁移记录。