# mode=pre-check：发布前 TypeScript 预检

> 流程与 feature phase 的 code.verify 阶段**完全相同**。若 code-gen 已执行过 verify 通过，tsc 无需重跑，可直接进 apply。
>
> 详细流程（tsc --noEmit + L1/L2/L3 自动修复 + 降级兜底）见 [`feature-code-verify.md`](feature-code-verify.md)。

## PC1：是否有前端代码要 tsc

Read 工程根目录的 `plugin.config.json` 的 `resources`：

- **有条目** → 确认每个点位的 `entry` 字段都指向存在的文件；某个 entry 文件缺失（resources 有条目、但模板没拉到本地）→ 提示用户先完成代码生成（`feature phase`），别带 entry 缺失的产物去发布。然后走 PC2。
- **为空** → 这插件没有前端产物（webhook 形态），没有前端代码可 tsc——**跳过 PC2，直接进 apply**（`lpm release` 自己会跳 build/zip/upload、输出 `Artifact version: 0`）。

> 运行时 URL（占位/非法）的处理不在 pre-check：pre-check 只跑 tsc。Stage Config 阶段 `local-config set` 的占位 URL 告知见 [`feature-config-apply.md`](feature-config-apply.md)；发布前的占位 URL 暴露与确认由 apply 阶段 **A0 的 `lpm check diff` ④段「运行时 URL 健康」** 唯一负责。

## PC2：tsc --noEmit + 自动修复

走 [`feature-code-verify.md`](feature-code-verify.md) 完整流程（L1 预检 + L2 自动修复 ≤ 2 轮 + L3 降级提示）。

成功 → 进 apply 阶段（`lpm release`）。

失败到 L3 → 同 code-verify.md 的降级提示，提供 zip 下载 + 本地 `npm install` + `npx tsc --noEmit` 排查指引。
