fix/ci-deps-security
main
attendance.lesson-session.spec.ts
npm audit
getCourseClock
utcOffset(8)
TZ=UTC
.gitea/workflows/dependency-check.yml
npm audit --omit=dev
- fix(server): getCourseClock 固定 UTC+8(Asia/Shanghai),与 attendance-settlement 保持一致, 修复 CI(UTC 容器)下 attendance.lesson-session.spec.ts 失败 - chore(deps): @ant-design/x 2.9.0 / @ant-design/x-markdown 2.9.0 / mermaid 11.16.1; 直接依赖 dompurify 3.4.13(修复生产依赖 audit 漏洞,mermaid/x-markdown 复用同一份) - ci: 新增 dependency-check workflow(生产依赖 moderate+ / 全局 critical 失败,outdated 报告)
No dependencies set.
The note is not visible to the blocked user.
背景
attendance.lesson-session.spec.ts的「uses Asia/Shanghai time…」用例在 UTC 容器里必挂。npm audit(官方源)报告生产依赖 3 个漏洞:@ant-design/x(low)、@ant-design/x-markdown(moderate)、mermaid(moderate),且 dompurify 传递依赖存在 moderate XSS 漏洞。改动
getCourseClock原先用进程本地时间(CI 容器是 UTC),改为固定utcOffset(8)(Asia/Shanghai),与 attendance-settlement 的实现对齐;本地TZ=UTC全量后端测试 152 suites / 1178 tests 通过。.gitea/workflows/dependency-check.yml:PR + 每周一 + 手动触发;生产依赖 moderate+ 或全局 critical 失败,outdated 仅报告(注意:npmmirror 不支持 audit,已显式用官方 registry)。验证
npm audit --omit=dev:0 vulnerabilities