befly 3.16.10 → 3.17.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.
Files changed (184) hide show
  1. package/README.md +0 -129
  2. package/befly.js +16413 -0
  3. package/befly.min.js +72 -0
  4. package/package.json +19 -29
  5. package/scripts/syncDb/context.js +99 -0
  6. package/scripts/syncDb/diff.js +133 -0
  7. package/scripts/syncDb/index.js +70 -0
  8. package/scripts/syncDb/query.js +26 -0
  9. package/scripts/syncDb/report.js +190 -0
  10. package/scripts/syncDb/transform.js +111 -0
  11. package/dist/befly.config.d.ts +0 -7
  12. package/dist/befly.config.js +0 -128
  13. package/dist/befly.js +0 -17348
  14. package/dist/befly.min.js +0 -23
  15. package/dist/checks/checkApi.d.ts +0 -1
  16. package/dist/checks/checkApi.js +0 -139
  17. package/dist/checks/checkConfig.d.ts +0 -9
  18. package/dist/checks/checkConfig.js +0 -255
  19. package/dist/checks/checkHook.d.ts +0 -1
  20. package/dist/checks/checkHook.js +0 -132
  21. package/dist/checks/checkMenu.d.ts +0 -3
  22. package/dist/checks/checkMenu.js +0 -106
  23. package/dist/checks/checkPlugin.d.ts +0 -1
  24. package/dist/checks/checkPlugin.js +0 -132
  25. package/dist/checks/checkTable.d.ts +0 -7
  26. package/dist/checks/checkTable.js +0 -431
  27. package/dist/configs/presetRegexp.d.ts +0 -145
  28. package/dist/configs/presetRegexp.js +0 -218
  29. package/dist/hooks/auth.d.ts +0 -3
  30. package/dist/hooks/auth.js +0 -24
  31. package/dist/hooks/cors.d.ts +0 -7
  32. package/dist/hooks/cors.js +0 -36
  33. package/dist/hooks/parser.d.ts +0 -10
  34. package/dist/hooks/parser.js +0 -76
  35. package/dist/hooks/permission.d.ts +0 -11
  36. package/dist/hooks/permission.js +0 -78
  37. package/dist/hooks/validator.d.ts +0 -7
  38. package/dist/hooks/validator.js +0 -52
  39. package/dist/index.d.ts +0 -28
  40. package/dist/index.js +0 -316
  41. package/dist/lib/asyncContext.d.ts +0 -21
  42. package/dist/lib/asyncContext.js +0 -27
  43. package/dist/lib/cacheHelper.d.ts +0 -128
  44. package/dist/lib/cacheHelper.js +0 -477
  45. package/dist/lib/cacheKeys.d.ts +0 -27
  46. package/dist/lib/cacheKeys.js +0 -37
  47. package/dist/lib/cipher.d.ts +0 -153
  48. package/dist/lib/cipher.js +0 -237
  49. package/dist/lib/connect.d.ts +0 -95
  50. package/dist/lib/connect.js +0 -313
  51. package/dist/lib/dbHelper.d.ts +0 -229
  52. package/dist/lib/dbHelper.js +0 -1099
  53. package/dist/lib/dbUtils.d.ts +0 -91
  54. package/dist/lib/dbUtils.js +0 -544
  55. package/dist/lib/jwt.d.ts +0 -13
  56. package/dist/lib/jwt.js +0 -77
  57. package/dist/lib/logger.d.ts +0 -46
  58. package/dist/lib/logger.js +0 -731
  59. package/dist/lib/redisHelper.d.ts +0 -193
  60. package/dist/lib/redisHelper.js +0 -598
  61. package/dist/lib/sqlBuilder.d.ts +0 -160
  62. package/dist/lib/sqlBuilder.js +0 -837
  63. package/dist/lib/sqlCheck.d.ts +0 -23
  64. package/dist/lib/sqlCheck.js +0 -119
  65. package/dist/lib/validator.d.ts +0 -45
  66. package/dist/lib/validator.js +0 -424
  67. package/dist/loader/loadApis.d.ts +0 -12
  68. package/dist/loader/loadApis.js +0 -71
  69. package/dist/loader/loadHooks.d.ts +0 -7
  70. package/dist/loader/loadHooks.js +0 -50
  71. package/dist/loader/loadPlugins.d.ts +0 -8
  72. package/dist/loader/loadPlugins.js +0 -69
  73. package/dist/paths.d.ts +0 -93
  74. package/dist/paths.js +0 -100
  75. package/dist/plugins/cache.d.ts +0 -10
  76. package/dist/plugins/cache.js +0 -24
  77. package/dist/plugins/cipher.d.ts +0 -7
  78. package/dist/plugins/cipher.js +0 -14
  79. package/dist/plugins/config.d.ts +0 -3
  80. package/dist/plugins/config.js +0 -9
  81. package/dist/plugins/db.d.ts +0 -10
  82. package/dist/plugins/db.js +0 -48
  83. package/dist/plugins/jwt.d.ts +0 -6
  84. package/dist/plugins/jwt.js +0 -13
  85. package/dist/plugins/logger.d.ts +0 -10
  86. package/dist/plugins/logger.js +0 -21
  87. package/dist/plugins/redis.d.ts +0 -10
  88. package/dist/plugins/redis.js +0 -40
  89. package/dist/plugins/tool.d.ts +0 -75
  90. package/dist/plugins/tool.js +0 -105
  91. package/dist/router/api.d.ts +0 -14
  92. package/dist/router/api.js +0 -109
  93. package/dist/router/static.d.ts +0 -9
  94. package/dist/router/static.js +0 -56
  95. package/dist/scripts/ensureDist.d.ts +0 -1
  96. package/dist/scripts/ensureDist.js +0 -296
  97. package/dist/sync/syncApi.d.ts +0 -3
  98. package/dist/sync/syncApi.js +0 -163
  99. package/dist/sync/syncCache.d.ts +0 -2
  100. package/dist/sync/syncCache.js +0 -14
  101. package/dist/sync/syncDev.d.ts +0 -6
  102. package/dist/sync/syncDev.js +0 -166
  103. package/dist/sync/syncMenu.d.ts +0 -14
  104. package/dist/sync/syncMenu.js +0 -308
  105. package/dist/sync/syncTable.d.ts +0 -126
  106. package/dist/sync/syncTable.js +0 -1129
  107. package/dist/types/api.d.ts +0 -177
  108. package/dist/types/api.js +0 -4
  109. package/dist/types/befly.d.ts +0 -231
  110. package/dist/types/befly.js +0 -4
  111. package/dist/types/cache.d.ts +0 -96
  112. package/dist/types/cache.js +0 -4
  113. package/dist/types/cipher.d.ts +0 -27
  114. package/dist/types/cipher.js +0 -7
  115. package/dist/types/common.d.ts +0 -127
  116. package/dist/types/common.js +0 -5
  117. package/dist/types/context.d.ts +0 -39
  118. package/dist/types/context.js +0 -4
  119. package/dist/types/coreError.d.ts +0 -31
  120. package/dist/types/coreError.js +0 -38
  121. package/dist/types/crypto.d.ts +0 -20
  122. package/dist/types/crypto.js +0 -4
  123. package/dist/types/database.d.ts +0 -182
  124. package/dist/types/database.js +0 -4
  125. package/dist/types/hook.d.ts +0 -30
  126. package/dist/types/hook.js +0 -19
  127. package/dist/types/jwt.d.ts +0 -76
  128. package/dist/types/jwt.js +0 -4
  129. package/dist/types/logger.d.ts +0 -95
  130. package/dist/types/logger.js +0 -6
  131. package/dist/types/plugin.d.ts +0 -27
  132. package/dist/types/plugin.js +0 -17
  133. package/dist/types/redis.d.ts +0 -80
  134. package/dist/types/redis.js +0 -4
  135. package/dist/types/roleApisCache.d.ts +0 -21
  136. package/dist/types/roleApisCache.js +0 -8
  137. package/dist/types/sync.d.ts +0 -93
  138. package/dist/types/sync.js +0 -4
  139. package/dist/types/table.d.ts +0 -34
  140. package/dist/types/table.js +0 -4
  141. package/dist/types/validate.d.ts +0 -113
  142. package/dist/types/validate.js +0 -4
  143. package/dist/utils/calcPerfTime.d.ts +0 -4
  144. package/dist/utils/calcPerfTime.js +0 -13
  145. package/dist/utils/cors.d.ts +0 -8
  146. package/dist/utils/cors.js +0 -17
  147. package/dist/utils/dbFieldRules.d.ts +0 -31
  148. package/dist/utils/dbFieldRules.js +0 -94
  149. package/dist/utils/fieldClear.d.ts +0 -11
  150. package/dist/utils/fieldClear.js +0 -57
  151. package/dist/utils/formatYmdHms.d.ts +0 -1
  152. package/dist/utils/formatYmdHms.js +0 -20
  153. package/dist/utils/getClientIp.d.ts +0 -6
  154. package/dist/utils/getClientIp.js +0 -39
  155. package/dist/utils/importDefault.d.ts +0 -1
  156. package/dist/utils/importDefault.js +0 -53
  157. package/dist/utils/isDirentDirectory.d.ts +0 -3
  158. package/dist/utils/isDirentDirectory.js +0 -18
  159. package/dist/utils/loadMenuConfigs.d.ts +0 -11
  160. package/dist/utils/loadMenuConfigs.js +0 -130
  161. package/dist/utils/loggerUtils.d.ts +0 -18
  162. package/dist/utils/loggerUtils.js +0 -171
  163. package/dist/utils/mergeAndConcat.d.ts +0 -7
  164. package/dist/utils/mergeAndConcat.js +0 -77
  165. package/dist/utils/normalizeFieldDefinition.d.ts +0 -18
  166. package/dist/utils/normalizeFieldDefinition.js +0 -27
  167. package/dist/utils/processInfo.d.ts +0 -26
  168. package/dist/utils/processInfo.js +0 -41
  169. package/dist/utils/response.d.ts +0 -20
  170. package/dist/utils/response.js +0 -96
  171. package/dist/utils/scanAddons.d.ts +0 -15
  172. package/dist/utils/scanAddons.js +0 -35
  173. package/dist/utils/scanCoreBuiltins.d.ts +0 -3
  174. package/dist/utils/scanCoreBuiltins.js +0 -72
  175. package/dist/utils/scanFiles.d.ts +0 -32
  176. package/dist/utils/scanFiles.js +0 -124
  177. package/dist/utils/scanSources.d.ts +0 -10
  178. package/dist/utils/scanSources.js +0 -46
  179. package/dist/utils/sortModules.d.ts +0 -28
  180. package/dist/utils/sortModules.js +0 -105
  181. package/dist/utils/sqlUtil.d.ts +0 -33
  182. package/dist/utils/sqlUtil.js +0 -146
  183. package/dist/utils/util.d.ts +0 -172
  184. package/dist/utils/util.js +0 -517
package/README.md CHANGED
@@ -3,132 +3,3 @@
3
3
  ![野蜂飞舞](https://static.yicode.tech/befly.svg)
4
4
 
5
5
  > 道生一,一生二,二生三,三生万物
6
-
7
- 专为 Bun 运行时设计的 API 框架:插件化、自动同步、内置权限与缓存。
8
-
9
- ## 运行环境
10
-
11
- - Bun >= 1.0
12
- - MySQL >= 8.0
13
- - Redis >= 6.0(可选,但推荐)
14
-
15
- ## 安装与启动
16
-
17
- ### 1) 安装
18
-
19
- 在你的项目里安装:
20
-
21
- ```bash
22
- bun add befly
23
- ```
24
-
25
- ### 2) 项目结构(约定)
26
-
27
- ```text
28
- my-api/
29
- ├── apis/ # 项目 API(扫描 ts/js)
30
- │ └── user/
31
- │ └── hello.ts
32
- ├── tables/ # 表定义 JSON(可选)
33
- │ └── user.json
34
- ├── configs/ # 配置文件(必需)
35
- │ ├── befly.common.json
36
- │ ├── befly.development.json
37
- │ └── befly.production.json
38
- └── main.ts
39
- ```
40
-
41
- ### 3) 配置文件
42
-
43
- `configs/befly.development.json` 示例:
44
-
45
- ```json
46
- {
47
- "appName": "My API",
48
- "appPort": 3000,
49
- "appHost": "127.0.0.1",
50
-
51
- "db": {
52
- "host": "127.0.0.1",
53
- "port": 3306,
54
- "username": "root",
55
- "password": "root",
56
- "database": "my_api2"
57
- },
58
-
59
- "redis": {
60
- "host": "127.0.0.1",
61
- "port": 6379,
62
- "db": 0,
63
- "prefix": "my_api"
64
- },
65
-
66
- "auth": {
67
- "secret": "change-me",
68
- "expiresIn": "7d",
69
- "algorithm": "HS256"
70
- }
71
- }
72
- ```
73
-
74
- > 注意:`redis.prefix` 不要包含 `:`,框架会自动拼接分隔符。
75
-
76
- ### 4) 启动入口
77
-
78
- ```typescript
79
- // main.ts
80
- import { Befly } from "befly";
81
-
82
- const app = new Befly();
83
- await app.start(Bun.env);
84
- ```
85
-
86
- ## 编写第一个 API
87
-
88
- ```typescript
89
- // apis/user/hello.ts
90
- import type { ApiRoute } from "befly/types/api";
91
-
92
- export default {
93
- name: "问候接口",
94
- auth: false,
95
- handler: async (_befly, _ctx) => {
96
- return { code: 0, msg: "Hello, Befly!", data: { ts: Date.now() } };
97
- }
98
- } as ApiRoute;
99
- ```
100
-
101
- 启动后访问:
102
-
103
- - `GET http://localhost:3000/api/app/user/hello`
104
-
105
- ## 路由规则(重要)
106
-
107
- Befly 会根据“来源 + 文件相对路径”生成 `routePath`:
108
-
109
- - 项目 API:`apis/**/*.{ts,js}` → `/api/app/...`
110
- - Addon API:
111
- - `addons/<addonName>/apis/**/*.{ts,js}` → `/api/addon/<addonName>/...`
112
- - `node_modules/@befly-addon/<addonName>/apis/**/*.{ts,js}` → `/api/addon/<addonName>/...`
113
-
114
- 并且:
115
-
116
- - 系统内部用于存储/权限判断的 `routePath` **只看 `url.pathname`**(例如 `/api/app/user/login`)。
117
- - **禁止**把权限写成 `POST /api/...` 或 `POST/api/...`(那只是请求行展示,不参与存储)。
118
-
119
- ## TypeScript 类型导入(public types)
120
-
121
- 只从 `befly/types/*` 子路径引入类型:
122
-
123
- ```typescript
124
- import type { ApiRoute } from "befly/types/api";
125
- import type { BeflyContext } from "befly/types/befly";
126
- ```
127
-
128
- ## 文档
129
-
130
- 更多细节请看 `packages/core/docs/`:
131
-
132
- - `docs/guide/quickstart.md`
133
- - `docs/reference/sync.md`
134
- - `docs/plugins/plugin.md`