Skip to content

docs(v4): 明确 dts 与 init 命令的迁移支持状态 #413

Description

@ckken

现状证据

  • 当前稳定文档 docs/v4-migration.md 宣称 EMP v4 4.0.0 已稳定,并引导用户安装 @empjs/cli
  • CLI 将 emp dtsemp init 注册为隐藏的未实现命令:packages/cli/src/script/index.ts;执行会返回“在 @empjs/cli v4 中尚未实现”,该行为已有 真实运行测试 覆盖。
  • 迁移指南当前在“Consumer Validation”要求验证类型生成,却未区分受 Module Federation 构建链支持的类型生成与 emp dts 子命令不可用的边界。

影响

从 v3 迁移且仍使用 emp dts(拉取 remote d.ts)或 emp init 的用户,会在已按稳定版指南安装后才得到运行时失败;这增加迁移试错成本,也让“稳定 v4”的能力边界不清晰。

建议与可选方案

  1. 文档澄清(低风险):在迁移指南的 CLI/验证部分明确列出这两个命令在 v4 不可用,并给出当前等价工作流或后续 Issue 链接。
  2. 兼容实现(需要产品与 API 决策):恢复 dts/ init 的兼容实现,先定义输入、输出、失败语义与 v3 行为对齐范围。
  3. 正式废弃(需要产品与迁移决策):将命令改为公开 deprecation 提示,并在迁移指南给出明确替代路径与移除时间表。

验收标准

  • 维护者确认采用上述方案之一,并明确 dtsinit 的长期支持状态。
  • 若采用文档澄清:迁移指南能让 v3 使用者在执行命令前知道限制和替代路径,且链接与命令均可验证。
  • 若采用兼容实现/正式废弃:增加真实 CLI 行为测试,并明确 v3 到 v4 的迁移说明。

等待用户确认

此问题涉及公开 CLI 能力与迁移承诺,等待用户确认方案后再实施,避免自动改变公共 API 或误导用户。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions