@dangao/bun-server 0.1.3 → 0.1.5
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/dist/auth/controller.d.ts +35 -0
- package/dist/auth/controller.d.ts.map +1 -0
- package/dist/auth/decorators.d.ts +38 -0
- package/dist/auth/decorators.d.ts.map +1 -0
- package/dist/auth/index.d.ts +6 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/jwt.d.ts +43 -0
- package/dist/auth/jwt.d.ts.map +1 -0
- package/dist/auth/oauth2.d.ts +45 -0
- package/dist/auth/oauth2.d.ts.map +1 -0
- package/dist/auth/types.d.ts +238 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/config/config-module.d.ts +14 -0
- package/dist/config/config-module.d.ts.map +1 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/service.d.ts +32 -0
- package/dist/config/service.d.ts.map +1 -0
- package/dist/config/types.d.ts +22 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/controller/controller.d.ts +5 -0
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/core/application.d.ts.map +1 -1
- package/dist/core/context.d.ts.map +1 -1
- package/dist/di/module-registry.d.ts +14 -2
- package/dist/di/module-registry.d.ts.map +1 -1
- package/dist/di/module.d.ts +12 -1
- package/dist/di/module.d.ts.map +1 -1
- package/dist/extensions/index.d.ts +1 -0
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/logger-module.d.ts +30 -0
- package/dist/extensions/logger-module.d.ts.map +1 -0
- package/dist/health/controller.d.ts +27 -0
- package/dist/health/controller.d.ts.map +1 -0
- package/dist/health/health-module.d.ts +9 -0
- package/dist/health/health-module.d.ts.map +1 -0
- package/dist/health/index.d.ts +4 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/types.d.ts +22 -0
- package/dist/health/types.d.ts.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1388 -13
- package/dist/router/registry.d.ts +4 -1
- package/dist/router/registry.d.ts.map +1 -1
- package/dist/router/route.d.ts +9 -1
- package/dist/router/route.d.ts.map +1 -1
- package/dist/router/router.d.ts +14 -2
- package/dist/router/router.d.ts.map +1 -1
- package/dist/security/access-decision-manager.d.ts +14 -0
- package/dist/security/access-decision-manager.d.ts.map +1 -0
- package/dist/security/authentication-manager.d.ts +22 -0
- package/dist/security/authentication-manager.d.ts.map +1 -0
- package/dist/security/context.d.ts +51 -0
- package/dist/security/context.d.ts.map +1 -0
- package/dist/security/filter.d.ts +27 -0
- package/dist/security/filter.d.ts.map +1 -0
- package/dist/security/index.d.ts +8 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/providers/index.d.ts +3 -0
- package/dist/security/providers/index.d.ts.map +1 -0
- package/dist/security/providers/jwt-provider.d.ts +19 -0
- package/dist/security/providers/jwt-provider.d.ts.map +1 -0
- package/dist/security/providers/oauth2-provider.d.ts +19 -0
- package/dist/security/providers/oauth2-provider.d.ts.map +1 -0
- package/dist/security/security-module.d.ts +50 -0
- package/dist/security/security-module.d.ts.map +1 -0
- package/dist/security/types.d.ts +152 -0
- package/dist/security/types.d.ts.map +1 -0
- package/dist/swagger/decorators.d.ts +56 -0
- package/dist/swagger/decorators.d.ts.map +1 -0
- package/dist/swagger/generator.d.ts +17 -0
- package/dist/swagger/generator.d.ts.map +1 -0
- package/dist/swagger/index.d.ts +7 -0
- package/dist/swagger/index.d.ts.map +1 -0
- package/dist/swagger/swagger-extension.d.ts +25 -0
- package/dist/swagger/swagger-extension.d.ts.map +1 -0
- package/dist/swagger/swagger-module.d.ts +37 -0
- package/dist/swagger/swagger-module.d.ts.map +1 -0
- package/dist/swagger/types.d.ts +176 -0
- package/dist/swagger/types.d.ts.map +1 -0
- package/dist/swagger/ui.d.ts +13 -0
- package/dist/swagger/ui.d.ts.map +1 -0
- package/package.json +1 -1
- package/readme.md +14 -10
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { SwaggerOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Swagger 模块配置
|
|
4
|
+
*/
|
|
5
|
+
export interface SwaggerModuleOptions extends SwaggerOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Swagger UI 路径
|
|
8
|
+
* @default '/swagger'
|
|
9
|
+
*/
|
|
10
|
+
uiPath?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Swagger JSON 路径
|
|
13
|
+
* @default '/swagger.json'
|
|
14
|
+
*/
|
|
15
|
+
jsonPath?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Swagger UI 标题
|
|
18
|
+
*/
|
|
19
|
+
uiTitle?: string;
|
|
20
|
+
/**
|
|
21
|
+
* 是否启用 Swagger UI
|
|
22
|
+
* @default true
|
|
23
|
+
*/
|
|
24
|
+
enableUI?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Swagger 模块
|
|
28
|
+
* 提供 API 文档生成和 Swagger UI
|
|
29
|
+
*/
|
|
30
|
+
export declare class SwaggerModule {
|
|
31
|
+
/**
|
|
32
|
+
* 创建 Swagger 模块
|
|
33
|
+
* @param options - 模块配置
|
|
34
|
+
*/
|
|
35
|
+
static forRoot(options: SwaggerModuleOptions): typeof SwaggerModule;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=swagger-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swagger-module.d.ts","sourceRoot":"","sources":["../../src/swagger/swagger-module.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,qBAQa,aAAa;IACxB;;;OAGG;WACW,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,aAAa;CAkC3E"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Swagger/OpenAPI 类型定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Swagger 信息配置
|
|
6
|
+
*/
|
|
7
|
+
export interface SwaggerInfo {
|
|
8
|
+
title: string;
|
|
9
|
+
version: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
contact?: {
|
|
12
|
+
name?: string;
|
|
13
|
+
email?: string;
|
|
14
|
+
url?: string;
|
|
15
|
+
};
|
|
16
|
+
license?: {
|
|
17
|
+
name: string;
|
|
18
|
+
url?: string;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Swagger 配置
|
|
23
|
+
*/
|
|
24
|
+
export interface SwaggerOptions {
|
|
25
|
+
info: SwaggerInfo;
|
|
26
|
+
servers?: Array<{
|
|
27
|
+
url: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
}>;
|
|
30
|
+
basePath?: string;
|
|
31
|
+
tags?: Array<{
|
|
32
|
+
name: string;
|
|
33
|
+
description?: string;
|
|
34
|
+
}>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* API 操作元数据
|
|
38
|
+
*/
|
|
39
|
+
export interface ApiOperationMetadata {
|
|
40
|
+
summary?: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
operationId?: string;
|
|
43
|
+
tags?: string[];
|
|
44
|
+
deprecated?: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* API 参数元数据
|
|
48
|
+
*/
|
|
49
|
+
export interface ApiParamMetadata {
|
|
50
|
+
name: string;
|
|
51
|
+
description?: string;
|
|
52
|
+
required?: boolean;
|
|
53
|
+
schema?: {
|
|
54
|
+
type?: string;
|
|
55
|
+
format?: string;
|
|
56
|
+
enum?: unknown[];
|
|
57
|
+
default?: unknown;
|
|
58
|
+
};
|
|
59
|
+
in: 'query' | 'path' | 'header' | 'cookie';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* API 请求体元数据
|
|
63
|
+
*/
|
|
64
|
+
export interface ApiBodyMetadata {
|
|
65
|
+
description?: string;
|
|
66
|
+
required?: boolean;
|
|
67
|
+
schema?: {
|
|
68
|
+
type?: string;
|
|
69
|
+
properties?: Record<string, unknown>;
|
|
70
|
+
required?: string[];
|
|
71
|
+
};
|
|
72
|
+
examples?: Record<string, unknown>;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* API 响应元数据
|
|
76
|
+
*/
|
|
77
|
+
export interface ApiResponseMetadata {
|
|
78
|
+
status: number;
|
|
79
|
+
description?: string;
|
|
80
|
+
schema?: {
|
|
81
|
+
type?: string;
|
|
82
|
+
properties?: Record<string, unknown>;
|
|
83
|
+
};
|
|
84
|
+
examples?: Record<string, unknown>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* API 标签元数据
|
|
88
|
+
*/
|
|
89
|
+
export interface ApiTagMetadata {
|
|
90
|
+
name: string;
|
|
91
|
+
description?: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Swagger 路径项
|
|
95
|
+
*/
|
|
96
|
+
export interface SwaggerPathItem {
|
|
97
|
+
summary?: string;
|
|
98
|
+
description?: string;
|
|
99
|
+
operationId?: string;
|
|
100
|
+
tags?: string[];
|
|
101
|
+
parameters?: Array<{
|
|
102
|
+
name: string;
|
|
103
|
+
in: 'query' | 'path' | 'header' | 'cookie';
|
|
104
|
+
description?: string;
|
|
105
|
+
required?: boolean;
|
|
106
|
+
schema?: {
|
|
107
|
+
type?: string;
|
|
108
|
+
format?: string;
|
|
109
|
+
enum?: unknown[];
|
|
110
|
+
default?: unknown;
|
|
111
|
+
};
|
|
112
|
+
}>;
|
|
113
|
+
requestBody?: {
|
|
114
|
+
description?: string;
|
|
115
|
+
required?: boolean;
|
|
116
|
+
content?: {
|
|
117
|
+
'application/json'?: {
|
|
118
|
+
schema?: {
|
|
119
|
+
type?: string;
|
|
120
|
+
properties?: Record<string, unknown>;
|
|
121
|
+
required?: string[];
|
|
122
|
+
};
|
|
123
|
+
examples?: Record<string, unknown>;
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
responses?: Record<string, {
|
|
128
|
+
description?: string;
|
|
129
|
+
content?: {
|
|
130
|
+
'application/json'?: {
|
|
131
|
+
schema?: {
|
|
132
|
+
type?: string;
|
|
133
|
+
properties?: Record<string, unknown>;
|
|
134
|
+
};
|
|
135
|
+
examples?: Record<string, unknown>;
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
}>;
|
|
139
|
+
deprecated?: boolean;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Swagger 文档结构
|
|
143
|
+
*/
|
|
144
|
+
export interface SwaggerDocument {
|
|
145
|
+
openapi: string;
|
|
146
|
+
info: {
|
|
147
|
+
title: string;
|
|
148
|
+
version: string;
|
|
149
|
+
description?: string;
|
|
150
|
+
contact?: {
|
|
151
|
+
name?: string;
|
|
152
|
+
email?: string;
|
|
153
|
+
url?: string;
|
|
154
|
+
};
|
|
155
|
+
license?: {
|
|
156
|
+
name: string;
|
|
157
|
+
url?: string;
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
servers?: Array<{
|
|
161
|
+
url: string;
|
|
162
|
+
description?: string;
|
|
163
|
+
}>;
|
|
164
|
+
tags?: Array<{
|
|
165
|
+
name: string;
|
|
166
|
+
description?: string;
|
|
167
|
+
}>;
|
|
168
|
+
paths: Record<string, {
|
|
169
|
+
get?: SwaggerPathItem;
|
|
170
|
+
post?: SwaggerPathItem;
|
|
171
|
+
put?: SwaggerPathItem;
|
|
172
|
+
delete?: SwaggerPathItem;
|
|
173
|
+
patch?: SwaggerPathItem;
|
|
174
|
+
}>;
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/swagger/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Middleware } from '../middleware';
|
|
2
|
+
import { SwaggerExtension } from './swagger-extension';
|
|
3
|
+
/**
|
|
4
|
+
* 创建 Swagger UI 中间件
|
|
5
|
+
* @param extension - Swagger 扩展实例
|
|
6
|
+
* @param options - 配置选项
|
|
7
|
+
*/
|
|
8
|
+
export declare function createSwaggerUIMiddleware(extension: SwaggerExtension, options?: {
|
|
9
|
+
uiPath?: string;
|
|
10
|
+
jsonPath?: string;
|
|
11
|
+
title?: string;
|
|
12
|
+
}): Middleware;
|
|
13
|
+
//# sourceMappingURL=ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/swagger/ui.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAmDvD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,gBAAgB,EAC3B,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,GACL,UAAU,CA+BZ"}
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
可扩展**:松耦合的模块系统、扩展系统与日志框架,既可以快速起步,也能按需裁剪。
|
|
32
32
|
- **Monorepo 友好**:原生支持 Bun workspaces,使用 `workspace:*`
|
|
33
33
|
协议管理内部依赖,配合 catalog 统一版本,完美适配多包协作场景。
|
|
34
|
-
-
|
|
34
|
+
- **完整测试矩阵**:内置单元/集成测试、压力与基准测试用例,Security 和 Swagger 模块测试覆盖完整,便于持续优化。
|
|
35
35
|
|
|
36
36
|
## 核心特性
|
|
37
37
|
|
|
@@ -43,6 +43,8 @@
|
|
|
43
43
|
**中间件管道**:支持全局/控制器/方法级中间件,内置日志、错误处理、CORS、文件上传、静态资源等。
|
|
44
44
|
- ✅ **输入校验**:声明式验证装饰器,直连 `ValidationError` 与异常过滤器。
|
|
45
45
|
- 📡 **WebSocket**:`@WebSocketGateway`、`@OnMessage` 等装饰器级开发体验。
|
|
46
|
+
- 📖 **Swagger/OpenAPI**:内置 Swagger 插件,支持 `@ApiTags`、`@ApiOperation`、`@ApiParam`、`@ApiBody`、`@ApiResponse` 等装饰器,自动生成 API 文档和 Swagger UI。
|
|
47
|
+
- 🔐 **安全认证**:内置 SecurityModule,支持 JWT 和 OAuth2 认证,提供 `@Auth()` 装饰器进行角色权限控制。
|
|
46
48
|
- 📚 **示例与文档**:多语言文档、基础/完整示例、基准脚本与最佳实践。
|
|
47
49
|
|
|
48
50
|
## 架构总览
|
|
@@ -126,11 +128,12 @@ bun --cwd=benchmark run bench:di # 仅运行 DI 基准
|
|
|
126
128
|
|
|
127
129
|
## 示例与扩展
|
|
128
130
|
|
|
129
|
-
- `examples/basic-app.ts`:最小可运行示例,覆盖 DI + Logger + Middleware。
|
|
130
|
-
- `examples/full-app.ts`:包含验证、文件上传、WebSocket
|
|
131
|
-
- `examples/multi-module-app.ts
|
|
132
|
-
- `
|
|
133
|
-
|
|
131
|
+
- `examples/basic-app.ts`:最小可运行示例,覆盖 DI + Logger + Middleware + Swagger + ConfigModule。
|
|
132
|
+
- `examples/full-app.ts`:包含验证、文件上传、WebSocket、复杂控制器,使用 ConfigModule 管理端口与中间件配置。
|
|
133
|
+
- `examples/multi-module-app.ts`:多模块示例,展示模块间的依赖关系和服务共享,使用 ConfigModule 统一管理应用配置。
|
|
134
|
+
- `examples/auth-app.ts`:完整的认证演示,包含 JWT + OAuth2 认证流程、前端演示页面,并通过 ConfigModule 管理应用标题和端口。
|
|
135
|
+
- `packages/bun-server/src/extensions/`:官方扩展(如
|
|
136
|
+
LoggerExtension、SwaggerExtension),可用于注册第三方能力。
|
|
134
137
|
|
|
135
138
|
## 性能与 Benchmark
|
|
136
139
|
|
|
@@ -153,10 +156,11 @@ bun benchmark/di.bench.ts
|
|
|
153
156
|
## 文档与多语言支持
|
|
154
157
|
|
|
155
158
|
- 中文默认文档位于 `docs/`
|
|
156
|
-
- `docs/api.md`
|
|
157
|
-
- `docs/guide.md`
|
|
158
|
-
- `docs/
|
|
159
|
-
- `docs/
|
|
159
|
+
- `docs/api.md` - API 参考文档
|
|
160
|
+
- `docs/guide.md` - 使用指南
|
|
161
|
+
- `docs/extensions.md` - 扩展系统说明(中间件、扩展、模块等)
|
|
162
|
+
- `docs/best-practices.md` - 最佳实践
|
|
163
|
+
- `docs/migration.md` - 迁移指南
|
|
160
164
|
- 英文草稿位于
|
|
161
165
|
`docs/en/`,与中文文件结构一致;如果缺失内容,请优先参考中文版本。
|
|
162
166
|
|