Files

34 lines
1.5 KiB
Markdown

# release-safe-static-loading Specification
## Purpose
TBD - created by archiving change update-release-safe-static-loading. Update Purpose after archive.
## Requirements
### Requirement: 运行时只使用可用的 CDN 源
系统 SHALL 仅让可在浏览器与 Service Worker 中稳定访问的 CDN 源参与运行时静态资源加载。
#### Scenario: 不可用 CDN 不进入运行时候选集
- **WHEN** Service Worker 选择当前版本静态资源的远程源
- **THEN** 仅返回运行时可用的 CDN 源
- **AND** 不会尝试已知会被浏览器或 Worker 拦截的 CDN 源
### Requirement: 服务器部署必须等待关键 CDN 资产就绪
系统 SHALL 在部署服务器 HTML 前,确认当前版本关键静态资源已能从运行时 CDN 访问。
#### Scenario: CDN 未就绪时阻塞服务器部署
- **WHEN** npm 发布已完成,但关键 JS/CSS 资产仍未能从运行时 CDN 成功获取
- **THEN** 发布流程持续等待
- **AND** 不继续部署服务器 HTML
#### Scenario: CDN 就绪后继续部署
- **WHEN** 当前版本关键入口静态资源均已从运行时 CDN 返回成功
- **THEN** 发布流程继续执行服务器部署
### Requirement: 启动边界依赖链必须稳定
系统 SHALL 为高频延后模块产出稳定 chunk 分组,并阻止它们重新回流到入口依赖链。
#### Scenario: 构建校验入口依赖链
- **WHEN** 运行启动边界校验脚本
- **THEN** 脚本检查入口 HTML 及静态依赖图
- **AND** 若发现高频延后模块分组重新进入入口依赖链则返回失败