@dtdyq/restbase 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,28 +15,81 @@
15
15
 
16
16
  ## 快速开始
17
17
 
18
+ ### 方式一:全局安装(推荐)
19
+
20
+ ```bash
21
+ bun install -g @dtdyq/restbase
22
+ ```
23
+
24
+ 安装后在任意目录使用 `restbase` 命令。所有配置通过 `.env` 文件读取:
25
+
26
+ ```bash
27
+ # 生成 .env 配置模板
28
+ restbase env
29
+
30
+ # 前台启动(读取当前目录 .env)
31
+ restbase run
32
+
33
+ # 后台启动(daemon 模式)
34
+ restbase start
35
+
36
+ # 查看运行中的实例(含健康状态)
37
+ restbase status
38
+
39
+ # 查看某个实例的实时日志
40
+ restbase log <pid>
41
+
42
+ # 停止
43
+ restbase stop <pid> # 停止指定实例
44
+ restbase stop all # 停止所有实例
45
+ ```
46
+
47
+ 更新到最新版:
48
+
49
+ ```bash
50
+ bun install -g @dtdyq/restbase@latest
51
+ ```
52
+
53
+ ### 方式二:从源码运行
54
+
18
55
  ```bash
19
56
  bun install
20
- bun run server.ts
57
+ bun run src/server.ts
21
58
  ```
22
59
 
60
+ ### 验证
61
+
23
62
  ```bash
24
- # 健康检查
63
+ # 健康检查(返回实例状态 + 资源占用)
25
64
  curl http://localhost:3333/api/health
65
+ # → { "code": "OK", "data": { "status": "healthy", "port": 3333, "pid": 12345, "uptime": 60, "memory": {...}, "cpu": {...} } }
26
66
 
27
67
  # Basic Auth 查询
28
68
  curl -u admin:admin http://localhost:3333/api/data/products
29
69
  ```
30
70
 
71
+ ### 前端客户端
72
+
73
+ 独立 npm 包,零依赖:
74
+
75
+ ```bash
76
+ bun add @dtdyq/restbase-client
77
+ ```
78
+
79
+ ```ts
80
+ import RestBase, { gt } from "@dtdyq/restbase-client";
81
+
82
+ const rb = new RestBase(); // 同源部署不传参
83
+ await rb.auth.login("admin", "admin");
84
+ const data = await rb.table("products").query().where(gt("price", 100)).data();
85
+ ```
86
+
87
+ 详见 [client/README.md](client/README.md)。
88
+
31
89
  ## 构建与部署
32
90
 
33
91
  ```bash
34
- bun run build # 当前平台
35
- bun run build:linux # Linux x64
36
- bun run build:linux-arm # Linux ARM64
37
- bun run build:mac # macOS x64
38
- bun run build:mac-arm # macOS ARM64
39
- bun run build:windows # Windows x64
92
+ bun run build # 编译为当前平台独立二进制
40
93
 
41
94
  # 运行二进制(无需 Bun 运行时)
42
95
  ./restbase
@@ -46,6 +99,7 @@ bun run build:windows # Windows x64
46
99
 
47
100
  | 变量 | 说明 | 默认值 |
48
101
  |:--------------------------|:---------------------------|:--------------------|
102
+ | `SVR_NAME` | 实例名称(`status` 中显示) | 空 |
49
103
  | `SVR_PORT` | 服务端口 | `3333` |
50
104
  | `SVR_STATIC` | 静态文件目录(前端托管) | 空 |
51
105
  | `SVR_API_LIMIT` | API 限流(每秒每接口请求数) | `100` |
@@ -65,7 +119,7 @@ bun run build:windows # Windows x64
65
119
  ## 测试
66
120
 
67
121
  ```bash
68
- bun test rest.test.ts # 137+ 用例
122
+ bun test src/rest.test.ts # 137+ 用例
69
123
  ```
70
124
 
71
125
  ## 文档
@@ -73,30 +127,66 @@ bun test rest.test.ts # 137+ 用例
73
127
  | 文档 | 内容 |
74
128
  |:-------------------------------------------------|:--------------------------------------------------|
75
129
  | [documents/server.md](documents/server.md) | 服务端详细文档 — 配置、全部 API 接口说明与示例、日志、部署 |
76
- | [documents/client.md](documents/client.md) | 前端客户端文档 — 安装、API 速查、QueryBuilder 链式调用、类型安全 SELECT |
130
+ | [client/README.md](client/README.md) | 前端客户端文档 — 安装、API 速查、QueryBuilder 链式调用、类型安全 SELECT |
77
131
  | [documents/db_design.md](documents/db_design.md) | 数据库设计指南 — 表结构规范、约束、索引、设计模式与检查清单 |
78
132
  | [documents/design.md](documents/design.md) | 需求与设计文档 — 架构设计、技术规格、完整接口定义 |
79
133
 
134
+ ## CLI 命令
135
+
136
+ ```
137
+ restbase <command> [arguments]
138
+
139
+ Commands:
140
+ run 前台启动服务(读取当前目录 .env)
141
+ start 后台启动(daemon 模式)
142
+ stop <pid|all> 停止后台实例
143
+ status 查看运行中的实例(含健康检查)
144
+ log <pid> 实时查看实例日志
145
+ env 在当前目录生成 .env 配置模板
146
+ version 显示版本号
147
+ help 显示帮助
148
+ ```
149
+
150
+ 所有配置通过 `.env` 文件管理,可在 `.env` 中设置 `SVR_NAME` 为实例命名。
151
+
152
+ 实例元数据和默认日志存放在 `~/.restbase/`:
153
+
154
+ ```
155
+ ~/.restbase/
156
+ ├── instances/ # 实例元数据(name/port/pid/logPath)
157
+ │ ├── 12345.json
158
+ │ └── 23456.json
159
+ └── logs/ # daemon 默认日志目录
160
+ ├── 3333.log
161
+ ├── 3333.out
162
+ └── 8080.log
163
+ ```
164
+
80
165
  ## 文件结构
81
166
 
82
167
  ```
83
168
  restbase/
84
- ├── server.ts # 入口
85
- ├── types.ts # 配置 + 类型
86
- ├── db.ts # 数据库
87
- ├── auth.ts # 鉴权
88
- ├── crud.ts # CRUD 路由
89
- ├── query.ts # SQL 生成
90
- ├── logger.ts # 日志
169
+ ├── bin/
170
+ │ └── restbase.ts # CLI 入口(run/start/stop/status)
171
+ ├── src/
172
+ ├── server.ts # 服务启动
173
+ ├── types.ts # 配置 + 类型 + Zod Schema
174
+ ├── db.ts # 数据库
175
+ ├── auth.ts # 鉴权
176
+ │ ├── crud.ts # CRUD 路由
177
+ │ ├── query.ts # SQL 生成
178
+ │ ├── logger.ts # 日志
179
+ │ └── rest.test.ts # 集成测试
91
180
  ├── client/
92
- └── restbase-client.ts # 前端客户端
181
+ ├── restbase-client.ts # 前端客户端(独立 npm 包 @dtdyq/restbase-client)
182
+ │ ├── README.md # 客户端文档
183
+ │ └── package.json
93
184
  ├── documents/
94
- │ ├── design.md # 需求设计文档
95
- │ ├── server.md # 服务端文档
96
- │ └── client.md # 客户端文档
97
- ├── init.sql # 初始化 SQL
98
- ├── rest.test.ts # 集成测试
99
- ├── .env / .env.test # 环境配置
185
+ │ ├── design.md # 需求设计文档
186
+ │ ├── server.md # 服务端文档
187
+ │ └── db_design.md # 数据库设计指南
188
+ ├── init.sql # 初始化 SQL
189
+ ├── .env / .env.test # 环境配置
100
190
  └── package.json
101
191
  ```
102
192