yinjun.chen1
|
b250ecbf55
|
perf(packages): 优化 /api/packages 7000+ 条响应性能
- buildPackages 缓存全量结果(rawCache/ignored/threshold 不变时复用)
- gzip 压缩大响应(Node 内置 zlib,减少传输体积 60-80%)
|
2026-09-28 11:04:21 +08:00 |
|
DuMate
|
75b1c4d348
|
fix(scan): 修复重新部署后初次扫描遮罩不显示
根因:firstScan 依赖 hasScanLog()(SQLite 是否曾有成功扫描日志)。数据目录
持久化挂载后,首次成功扫描的日志永久存在,导致后续每次重新构建镜像并重新部署
的启动扫描期间 hasScanLog() 恒为 true、firstScan 恒为 false,遮罩不显示。
改为基于内存态 scanState.startupScanning:仅 server.js 启动扫描时置 true、
runScanAsync 结束后清零;手动/定时/懒触发扫描均不置位,保持后台静默。
|
2026-09-27 11:52:28 +08:00 |
|
DuMate
|
cee8af37ff
|
feat(verdaccio-ui): P0 包来源(私有/缓存)识别 + README 渲染
- scanner:读存储根 verdaccio-db.json list + 包目录 _uplinks 交叉校验 origin(proxy/private);提取 readme 全文与 latest(dist-tags 兜底版本排序)
- scan-manager buildPackages:聚合透出 origin/latest,支持 origin 筛选(列表不携带 readme/versionsDetail,保持响应体小)
- /api/packages 支持 ?origin=all|private|proxy
- 检索页:来源筛选(全部/私有/缓存)+ 包名旁来源徽标(私有橙/缓存蓝)
- 详情抽屉:README 区块(marked gfm + DOMPurify 清洗,双主题样式)
- 移除误入的 bcryptjs 依赖
|
2026-09-26 01:15:51 +08:00 |
|
yinjun.chen1
|
0c0d5370f0
|
refactor: server.js/store 单文件拆分多模块;新增统一错误处理与 /api 404
|
2026-09-22 14:29:18 +08:00 |
|