@core 基础设施
@core 总览
packages/@core 命名空间的定位、包列表与依赖方向
定位
packages/@core/ 是项目的基础设施层,存放框架无关或轻度依赖 React 的核心能力包,以及独立发布的 CLI 工具。
放在这里的标准:
- 跨平台:Web / React Native / Node 均可使用,或仅需 React 而不依赖浏览器 API;
- 与业务无关:属于通用基础能力;
- 职责边界清晰:不与其他 @core 包循环依赖。
不放这里的:业务组件、页面级逻辑、特定平台 hooks(这些放 packages/hooks、packages/web/*)。
包列表
| 目录 | 包名 | 版本 | 说明 | 子入口 | 依赖 React |
|---|---|---|---|---|---|
types | @skyroc/types | 1.0.0 | 全局类型声明,零依赖 | — | 否 |
type-utils | @skyroc/type-utils | 0.1.0 | 高级 TS 工具类型 | — | 否 |
utils | @skyroc/utils | 2.0.2 | 通用工具函数 | ./path ./web | 否 |
color | @skyroc/color | 2.5.0 | 颜色 & 调色板生成 | — | 否 |
axios | @skyroc/axios | 2.0.1 | 类型安全 HTTP 客户端 | — | 否 |
state | @skyroc/core-state | 1.0.0 | Jotai 状态封装 | — | 是(peer) |
service | @skyroc/service | 1.0.0 | 请求 & 查询基础设施 | ./query | 是 |
logger | @skyroc/logger | 1.0.0 | 跨端日志系统 | — | 否 |
scheduler | @skyroc/scheduler | 1.0.0 | 协作式任务调度 | — | 否 |
scripts | @skyroc/scripts | 2.5.0 | 项目自动化 CLI(sa) | — | 否 |
依赖方向
types(零依赖,类型声明)
↑
utils(零 @core 依赖) logger / scheduler / state / scripts(彼此独立)
↑
color / axios(依赖 utils)
↑
service(依赖 axios)箭头表示「被依赖」方向。禁止同层或反向依赖。
state通过peerDependencies依赖jotai >= 2.0.0与react >= 18.0.0,不在内部依赖图里。
测试覆盖
多数 @core 包有 __tests__/ 并被根 vitest.config.ts 纳入覆盖率统计:
| 包 | 有测试 | 测试文件数 |
|---|---|---|
| utils | ✅ | 28 |
| color | ✅ | 7 |
| axios | ✅ | 5 |
| state | ✅ | 6 |
| service | ✅ | 5 |
| scheduler | ✅ | 1 |
| types / logger / scripts | ❌ | 0 |