@cloudbase/cli 2.0.12 → 2.1.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 (277) hide show
  1. package/.history/.gitignore_20220624162613 +84 -0
  2. package/.history/.gitignore_20220627114054 +86 -0
  3. package/.history/package_20220711204706.json +88 -0
  4. package/.history/package_20220711204818.json +88 -0
  5. package/.history/package_20220712151717.json +88 -0
  6. package/.history/package_20220712212537.json +88 -0
  7. package/.history/package_20220722205058.json +88 -0
  8. package/.history/package_20220726110155.json +88 -0
  9. package/.history/package_20220726110201.json +88 -0
  10. package/.history/package_20220728110905.json +88 -0
  11. package/.history/package_20220728110936.json +88 -0
  12. package/.history/package_20220728111531.json +89 -0
  13. package/.history/package_20220728111810.json +89 -0
  14. package/.history/src/commands/lowcode/app_20220728111717.ts +52 -0
  15. package/{src/commands/lowcode/app.ts → .history/src/commands/lowcode/app_20220728112031.ts} +2 -2
  16. package/{src/index.ts → .history/src/index_20220624162613.ts} +0 -0
  17. package/.history/src/index_20220627113609.ts +15 -0
  18. package/.history/src/index_20220627114102.ts +13 -0
  19. package/.vscode/launch.json +10 -0
  20. package/bin/cloudbase.js +0 -0
  21. package/bin/tcb.js +5 -5
  22. package/lib/commands/account/login.js +3 -6
  23. package/lib/commands/env/index.js +0 -1
  24. package/lib/commands/lowcode/app.js +1 -1
  25. package/lib/commands/run/index.js +0 -1
  26. package/lib/commands/run/service/deploy.js +6 -1
  27. package/lib/commands/run/service/index.js +0 -1
  28. package/lib/commands/run/service/update.js +4 -0
  29. package/lib/constant.js +15 -1
  30. package/lib/env/index.js +1 -11
  31. package/lib/run/index.js +0 -1
  32. package/lib/run/service/common.js +20 -7
  33. package/lib/run/service/config.js +2 -3
  34. package/lib/run/service/deployPackage.js +2 -9
  35. package/lib/run/service/index.js +0 -1
  36. package/lib/run/service/update.js +1 -1
  37. package/lib/utils/debug-logger.js +30 -0
  38. package/lib/utils/net/cloud-api-request.js +7 -1
  39. package/lib/utils/net/http-request.js +16 -5
  40. package/package.json +2 -2
  41. package/types/commands/env/index.d.ts +0 -1
  42. package/types/commands/run/index.d.ts +0 -1
  43. package/types/commands/run/service/index.d.ts +0 -1
  44. package/types/env/index.d.ts +0 -6
  45. package/types/run/index.d.ts +0 -1
  46. package/types/run/service/common.d.ts +8 -1
  47. package/types/run/service/index.d.ts +0 -1
  48. package/types/types.d.ts +4 -0
  49. package/types/utils/debug-logger.d.ts +1 -0
  50. package/types/utils/net/http-request.d.ts +6 -2
  51. package/lib/commands/env/create.js +0 -115
  52. package/lib/commands/run/create.js +0 -162
  53. package/lib/commands/run/service/create.js +0 -144
  54. package/lib/run/create.js +0 -19
  55. package/lib/run/service/create.js +0 -67
  56. package/src/auth/index.ts +0 -2
  57. package/src/auth/login.ts +0 -91
  58. package/src/auth/logout.ts +0 -7
  59. package/src/commands/account/index.ts +0 -2
  60. package/src/commands/account/login.ts +0 -192
  61. package/src/commands/account/logout.ts +0 -24
  62. package/src/commands/common.ts +0 -246
  63. package/src/commands/env/base.ts +0 -90
  64. package/src/commands/env/create.ts +0 -92
  65. package/src/commands/env/domain.ts +0 -186
  66. package/src/commands/env/index.ts +0 -4
  67. package/src/commands/env/login.ts +0 -235
  68. package/src/commands/framework/index.ts +0 -124
  69. package/src/commands/functions/alias/getRoute.ts +0 -76
  70. package/src/commands/functions/alias/index.ts +0 -2
  71. package/src/commands/functions/alias/setRoute.ts +0 -82
  72. package/src/commands/functions/code-download.ts +0 -100
  73. package/src/commands/functions/code-update.ts +0 -62
  74. package/src/commands/functions/concurrency/delete.ts +0 -45
  75. package/src/commands/functions/concurrency/index.ts +0 -3
  76. package/src/commands/functions/concurrency/list.ts +0 -58
  77. package/src/commands/functions/concurrency/set.ts +0 -47
  78. package/src/commands/functions/config-update.ts +0 -76
  79. package/src/commands/functions/copy.ts +0 -62
  80. package/src/commands/functions/delete.ts +0 -79
  81. package/src/commands/functions/deploy.ts +0 -293
  82. package/src/commands/functions/detail.ts +0 -138
  83. package/src/commands/functions/index.ts +0 -16
  84. package/src/commands/functions/invoke.ts +0 -121
  85. package/src/commands/functions/layer/bind.ts +0 -182
  86. package/src/commands/functions/layer/common.ts +0 -8
  87. package/src/commands/functions/layer/create.ts +0 -49
  88. package/src/commands/functions/layer/delete.ts +0 -73
  89. package/src/commands/functions/layer/download.ts +0 -92
  90. package/src/commands/functions/layer/index.ts +0 -7
  91. package/src/commands/functions/layer/list.ts +0 -94
  92. package/src/commands/functions/layer/sort.ts +0 -76
  93. package/src/commands/functions/list.ts +0 -68
  94. package/src/commands/functions/log.ts +0 -148
  95. package/src/commands/functions/run.ts +0 -249
  96. package/src/commands/functions/trigger-create.ts +0 -79
  97. package/src/commands/functions/trigger-delete.ts +0 -105
  98. package/src/commands/functions/version/index.ts +0 -2
  99. package/src/commands/functions/version/list.ts +0 -73
  100. package/src/commands/functions/version/publish.ts +0 -43
  101. package/src/commands/gateway/create.ts +0 -109
  102. package/src/commands/gateway/delete.ts +0 -81
  103. package/src/commands/gateway/domain.ts +0 -159
  104. package/src/commands/gateway/index.ts +0 -5
  105. package/src/commands/gateway/list.ts +0 -76
  106. package/src/commands/gateway/switch.ts +0 -107
  107. package/src/commands/helpers/index.ts +0 -3
  108. package/src/commands/helpers/init.ts +0 -431
  109. package/src/commands/helpers/new.ts +0 -117
  110. package/src/commands/helpers/open.ts +0 -67
  111. package/src/commands/hosting/hosting.ts +0 -360
  112. package/src/commands/hosting/index.ts +0 -1
  113. package/src/commands/index.ts +0 -13
  114. package/src/commands/lowcode/comps.ts +0 -325
  115. package/src/commands/lowcode/index.ts +0 -2
  116. package/src/commands/lowcode/utils.ts +0 -25
  117. package/src/commands/run/create.ts +0 -153
  118. package/src/commands/run/delete.ts +0 -77
  119. package/src/commands/run/image/common.ts +0 -8
  120. package/src/commands/run/image/delete.ts +0 -68
  121. package/src/commands/run/image/download.ts +0 -68
  122. package/src/commands/run/image/index.ts +0 -5
  123. package/src/commands/run/image/list.ts +0 -84
  124. package/src/commands/run/image/upload.ts +0 -76
  125. package/src/commands/run/index.ts +0 -7
  126. package/src/commands/run/list.ts +0 -83
  127. package/src/commands/run/service/config.ts +0 -81
  128. package/src/commands/run/service/create.ts +0 -122
  129. package/src/commands/run/service/deploy.ts +0 -125
  130. package/src/commands/run/service/index.ts +0 -5
  131. package/src/commands/run/service/list.ts +0 -94
  132. package/src/commands/run/service/update.ts +0 -108
  133. package/src/commands/run/standalonegateway/common.ts +0 -8
  134. package/src/commands/run/standalonegateway/create.ts +0 -85
  135. package/src/commands/run/standalonegateway/destroy.ts +0 -59
  136. package/src/commands/run/standalonegateway/index.ts +0 -5
  137. package/src/commands/run/standalonegateway/list.ts +0 -53
  138. package/src/commands/run/standalonegateway/package.ts +0 -62
  139. package/src/commands/run/standalonegateway/turn.ts +0 -63
  140. package/src/commands/run/version/common.ts +0 -8
  141. package/src/commands/run/version/create.ts +0 -369
  142. package/src/commands/run/version/delete.ts +0 -64
  143. package/src/commands/run/version/index.ts +0 -5
  144. package/src/commands/run/version/list.ts +0 -91
  145. package/src/commands/run/version/modify.ts +0 -137
  146. package/src/commands/run/version/update.ts +0 -398
  147. package/src/commands/smart.ts +0 -132
  148. package/src/commands/storage/index.ts +0 -1
  149. package/src/commands/storage/storage.ts +0 -464
  150. package/src/commands/third/index.ts +0 -1
  151. package/src/commands/third/thirdAttach.ts +0 -49
  152. package/src/completion/index.ts +0 -13
  153. package/src/constant.ts +0 -154
  154. package/src/decorators/captureError.ts +0 -25
  155. package/src/decorators/constants.ts +0 -12
  156. package/src/decorators/deprecate.ts +0 -25
  157. package/src/decorators/guard.ts +0 -42
  158. package/src/decorators/index.ts +0 -7
  159. package/src/decorators/injectParams.ts +0 -54
  160. package/src/decorators/params/common.ts +0 -28
  161. package/src/decorators/params/index.ts +0 -35
  162. package/src/env/domain.ts +0 -33
  163. package/src/env/index.ts +0 -63
  164. package/src/env/login.ts +0 -80
  165. package/src/error.ts +0 -36
  166. package/src/function/alias.ts +0 -43
  167. package/src/function/base.ts +0 -253
  168. package/src/function/code.ts +0 -55
  169. package/src/function/concurrency.ts +0 -57
  170. package/src/function/create.ts +0 -78
  171. package/src/function/delete.ts +0 -42
  172. package/src/function/index.ts +0 -11
  173. package/src/function/layer/attach.ts +0 -68
  174. package/src/function/layer/create.ts +0 -63
  175. package/src/function/layer/delete.ts +0 -21
  176. package/src/function/layer/download.ts +0 -54
  177. package/src/function/layer/index.ts +0 -7
  178. package/src/function/layer/list.ts +0 -32
  179. package/src/function/layer/sort.ts +0 -24
  180. package/src/function/trigger.ts +0 -97
  181. package/src/function/update.ts +0 -35
  182. package/src/function/version.ts +0 -39
  183. package/src/function/vpc.ts +0 -22
  184. package/src/gateway/index.ts +0 -137
  185. package/src/help.ts +0 -50
  186. package/src/hosting.ts +0 -212
  187. package/src/logger.ts +0 -17
  188. package/src/run/create.ts +0 -23
  189. package/src/run/delete.ts +0 -15
  190. package/src/run/image/build.ts +0 -36
  191. package/src/run/image/delete.ts +0 -14
  192. package/src/run/image/index.ts +0 -4
  193. package/src/run/image/info.ts +0 -27
  194. package/src/run/image/list.ts +0 -23
  195. package/src/run/index.ts +0 -8
  196. package/src/run/list.ts +0 -30
  197. package/src/run/repo.ts +0 -25
  198. package/src/run/service/common.ts +0 -311
  199. package/src/run/service/config.ts +0 -77
  200. package/src/run/service/create.ts +0 -52
  201. package/src/run/service/deployPackage.ts +0 -65
  202. package/src/run/service/index.ts +0 -7
  203. package/src/run/service/list.ts +0 -29
  204. package/src/run/service/showLogs.ts +0 -98
  205. package/src/run/service/update.ts +0 -82
  206. package/src/run/standalonegateway/create.ts +0 -24
  207. package/src/run/standalonegateway/destroy.ts +0 -19
  208. package/src/run/standalonegateway/index.ts +0 -5
  209. package/src/run/standalonegateway/list.ts +0 -74
  210. package/src/run/standalonegateway/package/index.ts +0 -1
  211. package/src/run/standalonegateway/package/list.ts +0 -24
  212. package/src/run/standalonegateway/turn/index.ts +0 -2
  213. package/src/run/standalonegateway/turn/off.ts +0 -19
  214. package/src/run/standalonegateway/turn/on.ts +0 -19
  215. package/src/run/version/create.ts +0 -68
  216. package/src/run/version/delete.ts +0 -16
  217. package/src/run/version/index.ts +0 -6
  218. package/src/run/version/list.ts +0 -17
  219. package/src/run/version/modify.ts +0 -17
  220. package/src/run/version/repo.ts +0 -28
  221. package/src/run/version/update.ts +0 -59
  222. package/src/storage.ts +0 -114
  223. package/src/third/index.ts +0 -13
  224. package/src/types.ts +0 -672
  225. package/src/utils/auth.ts +0 -15
  226. package/src/utils/checkTcbrEnv.ts +0 -69
  227. package/src/utils/cli-table.ts +0 -23
  228. package/src/utils/commonParamsCheck.ts +0 -65
  229. package/src/utils/config.ts +0 -39
  230. package/src/utils/env.ts +0 -244
  231. package/src/utils/fs/del.ts +0 -5
  232. package/src/utils/fs/index.ts +0 -71
  233. package/src/utils/function-packer.ts +0 -97
  234. package/src/utils/index.ts +0 -25
  235. package/src/utils/log.ts +0 -82
  236. package/src/utils/net/cloud-api-request.ts +0 -62
  237. package/src/utils/net/credential.ts +0 -53
  238. package/src/utils/net/http-request.ts +0 -84
  239. package/src/utils/net/index.ts +0 -5
  240. package/src/utils/net/manager-service.ts +0 -36
  241. package/src/utils/net/proxy.ts +0 -6
  242. package/src/utils/notice.ts +0 -28
  243. package/src/utils/output/highlight.ts +0 -5
  244. package/src/utils/output/index.ts +0 -3
  245. package/src/utils/output/link.ts +0 -10
  246. package/src/utils/output/loading.ts +0 -82
  247. package/src/utils/parallel.ts +0 -82
  248. package/src/utils/platform/index.ts +0 -3
  249. package/src/utils/platform/mac.ts +0 -21
  250. package/src/utils/platform/os.ts +0 -64
  251. package/src/utils/platform/port.ts +0 -10
  252. package/src/utils/progress-bar.ts +0 -38
  253. package/src/utils/prompt/index.ts +0 -1
  254. package/src/utils/prompt/select.ts +0 -60
  255. package/src/utils/reporter/agree.ts +0 -20
  256. package/src/utils/reporter/download.ts +0 -26
  257. package/src/utils/reporter/index.ts +0 -3
  258. package/src/utils/reporter/usage.ts +0 -20
  259. package/src/utils/store/auth.ts +0 -49
  260. package/src/utils/store/common.ts +0 -8
  261. package/src/utils/store/db.ts +0 -68
  262. package/src/utils/store/index.ts +0 -5
  263. package/src/utils/store/usage.ts +0 -12
  264. package/src/utils/tcbrApi/callTcbrApi.ts +0 -28
  265. package/src/utils/tcbrApi/index.ts +0 -1
  266. package/src/utils/template.ts +0 -170
  267. package/src/utils/tools/encoding.ts +0 -8
  268. package/src/utils/tools/index.ts +0 -4
  269. package/src/utils/tools/object.ts +0 -33
  270. package/src/utils/tools/time.ts +0 -38
  271. package/src/utils/tools/uid.ts +0 -19
  272. package/src/utils/validator.ts +0 -65
  273. package/types/commands/env/create.d.ts +0 -12
  274. package/types/commands/run/create.d.ts +0 -13
  275. package/types/commands/run/service/create.d.ts +0 -13
  276. package/types/run/create.d.ts +0 -2
  277. package/types/run/service/create.d.ts +0 -7
package/src/constant.ts DELETED
@@ -1,154 +0,0 @@
1
- // cloudbase cli 配置的字段名
2
- export class ConfigItems {
3
- static credential = 'credential'
4
- static ssh = 'ssh'
5
- }
6
-
7
- // Node.js 默认部署配置
8
- export const DefaultFunctionDeployConfig = {
9
- timeout: 3,
10
- handler: 'index.main',
11
- runtime: 'Nodejs10.15',
12
- installDependency: true,
13
- ignore: ['node_modules', 'node_modules/**/*', '.git']
14
- }
15
-
16
- // cloudbase 配置文件默认配置
17
- export const DefaultCloudBaseConfig = {
18
- functionRoot: './functions',
19
- functions: []
20
- }
21
-
22
- // 请求超时时间
23
- export const REQUEST_TIMEOUT = 15000
24
-
25
- export const enum ENV_STATUS {
26
- // 创建中
27
- UNAVAILABLE = 'UNAVAILABLE',
28
- // 正常
29
- NORMAL = 'NORMAL',
30
- // 销毁隔离
31
- ISOLATE = 'ISOLATE',
32
- // 异常
33
- ABNORMAL = 'ABNORMAL',
34
- ERROR = 'ERROR'
35
- }
36
-
37
- export const STATUS_TEXT = {
38
- UNAVAILABLE: '创建中',
39
- NORMAL: '正常',
40
- ISOLATE: '隔离中',
41
- ABNORMAL: '异常',
42
- ERROR: '异常'
43
- }
44
-
45
- export const ALL_COMMANDS = [
46
- 'login',
47
- 'logout',
48
- 'init',
49
- 'open',
50
- 'env list',
51
- 'env rename',
52
- 'env create',
53
- 'env domain list',
54
- 'env domain create',
55
- 'env domain delete',
56
- 'env login list',
57
- 'env login create',
58
- 'env login update',
59
- 'fn list',
60
- 'fn download',
61
- 'fn deploy',
62
- 'fn delete',
63
- 'fn detail',
64
- 'fn code update',
65
- 'fn config update',
66
- 'fn copy',
67
- 'fn log',
68
- 'fn trigger create',
69
- 'fn trigger delete',
70
- 'fn invoke',
71
- 'fn publish-version',
72
- 'fn list-function-versions',
73
- 'fn put-provisioned-concurrency',
74
- 'fn get-provisioned-concurrency',
75
- 'fn delete-provisioned-concurrency',
76
- 'fn config-route',
77
- 'functions run',
78
- 'storage upload',
79
- 'storage download',
80
- 'storage delete',
81
- 'storage list',
82
- 'storage url',
83
- 'storage detail',
84
- 'storage get-acl',
85
- 'storage set-acl',
86
- 'hosting detail',
87
- 'hosting deploy',
88
- 'hosting delete',
89
- 'hosting list',
90
- 'access create',
91
- 'access delete',
92
- 'access list',
93
- 'access domain bind',
94
- 'access domain unbind',
95
- 'access domain list',
96
- 'run standalonegateway create',
97
- 'run standalonegateway list',
98
- 'run standalonegateway destroy',
99
- 'run standalonegateway package list',
100
- 'run standalonegateway turn on',
101
- 'run standalonegateway turn off',
102
- ]
103
-
104
- export const StatusMap = {
105
- Active: '部署完成',
106
- Creating: '创建中',
107
- CreateFailed: '创建失败',
108
- Updating: '更新中',
109
- UpdateFailed: '更新失败',
110
- Publishing: '函数版本发布中',
111
- PublishFailed: '函数版本发布失败',
112
- Deleting: '函数删除中',
113
- DeleteFailed: '函数删除失败'
114
- }
115
-
116
- export const ConcurrencyTaskStatus = {
117
- Done: '已完成',
118
- InProgress: '进行中',
119
- Failed: '失败'
120
- }
121
-
122
- export const enum EnumEnvCheck {
123
- EnvFit = 0,
124
- EnvNewCmdOld,
125
- EnvOldCmdNew,
126
- }
127
-
128
- export const enum EnumDeployStatus {
129
- Deploying = 'deploying',
130
- DeploySuccess = 'running',
131
- DeployFailed = 'deploy_failed'
132
- }
133
-
134
- // tcbr 服务配置 cpu 和 mem 的约束
135
- export const CPU_MEM_OPTS: { cpu: number; mems: number[] }[] = [
136
- { cpu: 0.25, mems: [0.5] },
137
- { cpu: 0.5, mems: [1] },
138
- { cpu: 1, mems: [2] },
139
- { cpu: 2, mems: [4] },
140
- { cpu: 4, mems: [8] },
141
- { cpu: 8, mems: [16] },
142
- { cpu: 16, mems: [32] },
143
- ]
144
-
145
- export const DEFAULT_CPU_MEM_SET: { PolicyType: 'mem' | 'cpu', PolicyThreshold: number }[] = [
146
- {
147
- PolicyType: 'mem',
148
- PolicyThreshold: 60
149
- },
150
- {
151
- PolicyType: 'cpu',
152
- PolicyThreshold: 60
153
- },
154
- ]
@@ -1,25 +0,0 @@
1
- /**
2
- * 捕获操作发生的异常,显示错误提示,并在输出中显示详细的错误堆栈信息
3
- */
4
- export const CaptureError = (): MethodDecorator => (
5
- target: any,
6
- key: string | symbol,
7
- descriptor: TypedPropertyDescriptor<any>
8
- ) => {
9
- const rawFunc: Function = descriptor.value
10
-
11
- descriptor.value = async function (...args) {
12
- try {
13
- const res = await rawFunc.apply(this, args)
14
- return res
15
- } catch (e) {
16
- const errMsg =
17
- e?.message ||
18
- (typeof e?.toString === 'function' ? e.toString() : '') ||
19
- 'Unknown Error'
20
- // output.showErrorWithMessage(errMsg, e?.stack || errMsg)
21
- }
22
- }
23
-
24
- return descriptor
25
- }
@@ -1,12 +0,0 @@
1
- export const PARAM_METADATA = 'PARAM_METADATA'
2
-
3
- export enum ParamTypes {
4
- Credential = '__Credential__',
5
- Log = '__Log__',
6
- // 参数选项
7
- CmdContext = '__CmdContext__',
8
- EnvId = '__EnvId__',
9
- Config = '__Config__',
10
- ArgsOptions = '__ArgsOptions__',
11
- ArgsParams = '__ArgsParams__'
12
- }
@@ -1,25 +0,0 @@
1
- import { Logger } from '../utils'
2
-
3
- /**
4
- * 废弃命令
5
- * @param tip
6
- */
7
- export const Deprecate = (options: { tip: string; allowExecute: boolean }): MethodDecorator => (
8
- target: any,
9
- key: string,
10
- descriptor: TypedPropertyDescriptor<any>
11
- ) => {
12
- const { tip, allowExecute } = options
13
- const rawFunc: Function = descriptor.value
14
-
15
- descriptor.value = function (...args) {
16
- const log = new Logger()
17
- log.error(tip || '此命令已废弃!')
18
-
19
- if (allowExecute) {
20
- rawFunc.apply(this, args)
21
- }
22
- }
23
-
24
- return descriptor
25
- }
@@ -1,42 +0,0 @@
1
- import { authSupevisor, getCloudBaseConfig } from '../utils'
2
-
3
- export interface AuthGuardOptions {
4
- // 无法通过 guard 认证时的提示信息
5
- tips?: string
6
- // 校验配置文件是否存在
7
- ensureConfig?: boolean
8
- }
9
-
10
- /**
11
- * Auth 装饰器,用于在执行操作前检验是否登录
12
- * 没有登录时,终止操作,显示登录提示
13
- */
14
- export const AuthGuard = (options: AuthGuardOptions = {}): MethodDecorator => (
15
- target: any,
16
- key: string | symbol,
17
- descriptor: TypedPropertyDescriptor<any>
18
- ) => {
19
- const { tips, ensureConfig = true } = options
20
- const rawFunc: Function = descriptor.value
21
- // 修改原函数行为
22
- descriptor.value = async function (...args) {
23
- const credential = target?.credential
24
- const loginState = await authSupevisor.getLoginState()
25
-
26
- // 未登录,终止运行
27
- if (!credential && !loginState) {
28
- return
29
- }
30
-
31
- if (ensureConfig) {
32
- const config = await getCloudBaseConfig()
33
- if (!config?.envId) {
34
- return
35
- }
36
- }
37
-
38
- return rawFunc.apply(this, args)
39
- }
40
-
41
- return descriptor
42
- }
@@ -1,7 +0,0 @@
1
- export * from './params'
2
- export * from './guard'
3
- export * from './injectParams'
4
- export * from './captureError'
5
- export * from './params/'
6
- export * from './deprecate'
7
- export { Logger } from '../utils'
@@ -1,54 +0,0 @@
1
- import { PARAM_METADATA, ParamTypes } from './constants'
2
- import { ICommandContext } from '../types'
3
-
4
- /**
5
- * 在方法中注入 params 中定义的各种参数
6
- */
7
- export function InjectParams(): MethodDecorator {
8
- return function (target: any, key: string | symbol, descriptor: TypedPropertyDescriptor<any>) {
9
- const rawFunc: Function = descriptor.value
10
-
11
- // 解析需要注入的参数
12
- const paramMetadata = Reflect.getMetadata(PARAM_METADATA, target[key])
13
-
14
- if (paramMetadata) {
15
- descriptor.value = async function (...args) {
16
- // 命令 context
17
- const ctx: ICommandContext = args[0] || {}
18
-
19
- for (const paramKey in paramMetadata) {
20
- if (Object.prototype.hasOwnProperty.call(paramMetadata, paramKey)) {
21
- const { getter, index } = paramMetadata[paramKey]
22
- switch (paramKey) {
23
- // 从 context 中注入命令行参数
24
- case ParamTypes.CmdContext:
25
- args[index] = ctx
26
- break
27
- case ParamTypes.Config:
28
- args[index] = ctx.config
29
- break
30
- case ParamTypes.ArgsParams:
31
- args[index] = ctx.params
32
- break
33
- case ParamTypes.ArgsOptions:
34
- args[index] = ctx.options
35
- break
36
- case ParamTypes.EnvId:
37
- args[index] = ctx.envId
38
- break
39
- default: {
40
- // 注入其他与命令行不相关的参数
41
- const injectValue = await getter(target)
42
- args[index] = injectValue
43
- }
44
- }
45
- }
46
- }
47
-
48
- return rawFunc.apply(this, args)
49
- }
50
- }
51
-
52
- return descriptor
53
- }
54
- }
@@ -1,28 +0,0 @@
1
- import { ParamTypes, PARAM_METADATA } from '../constants'
2
-
3
- type GetterFunction = (target: any) => Promise<any> | any
4
-
5
- /**
6
- * 创建参数装饰器
7
- * @param paramtype 参数类型名
8
- * @param getter decorator 取值函数
9
- */
10
- export const createParamDecorator = (paramtype: ParamTypes, getter: GetterFunction) => {
11
- return () => {
12
- return (target: any, key: string | symbol, index: number) => {
13
- const data = Reflect.getMetadata(PARAM_METADATA, target[key]) || {}
14
-
15
- Reflect.defineMetadata(
16
- PARAM_METADATA,
17
- {
18
- ...data,
19
- [paramtype]: {
20
- index,
21
- getter
22
- }
23
- },
24
- target[key]
25
- )
26
- }
27
- }
28
- }
@@ -1,35 +0,0 @@
1
- import { createParamDecorator } from './common'
2
- import { ParamTypes } from '../constants'
3
- import { authSupevisor, getArgs, Logger } from '../../utils'
4
-
5
- const EmptyValue = () => {}
6
-
7
- // 注入登录态信息
8
- export const Credential = createParamDecorator(ParamTypes.Credential, async () => {
9
- const credential = await authSupevisor.getLoginState()
10
- return credential
11
- })
12
-
13
- // 日志打印
14
- export const Log = createParamDecorator(ParamTypes.Log, () => {
15
- const args = getArgs()
16
- const verbose = process.VERBOSE || args.verbose
17
- const log = new Logger({
18
- verbose
19
- })
20
-
21
- return log
22
- })
23
-
24
- // 命令行相关
25
- export const CmdContext = createParamDecorator(ParamTypes.CmdContext, EmptyValue)
26
-
27
- export const ArgsOptions = createParamDecorator(ParamTypes.ArgsOptions, EmptyValue)
28
-
29
- export const ArgsParams = createParamDecorator(ParamTypes.ArgsParams, EmptyValue)
30
-
31
- // 获取环境 Id
32
- export const EnvId = createParamDecorator(ParamTypes.EnvId, EmptyValue)
33
-
34
- // 注入环境配置
35
- export const Config = createParamDecorator(ParamTypes.Config, EmptyValue)
package/src/env/domain.ts DELETED
@@ -1,33 +0,0 @@
1
- import { CloudApiService } from '../utils/net'
2
-
3
- const tcbService = CloudApiService.getInstance('tcb')
4
-
5
- // 拉取安全域名列表
6
- export async function getEnvAuthDomains({ envId }) {
7
- const { Domains = [] }: any = await tcbService.request(
8
- 'DescribeAuthDomains',
9
- {
10
- EnvId: envId
11
- }
12
- )
13
-
14
- return Domains
15
- }
16
-
17
- // 添加环境安全域名
18
- export async function createEnvDomain({ envId, domains }) {
19
- await tcbService.request('CreateAuthDomain', {
20
- EnvId: envId,
21
- Domains: domains
22
- })
23
- }
24
-
25
- // 删除环境安全域名
26
- export async function deleteEnvDomain({ envId, domainIds }) {
27
- const { Deleted }: any = await tcbService.request('DeleteAuthDomain', {
28
- EnvId: envId,
29
- DomainIds: domainIds
30
- })
31
-
32
- return Deleted
33
- }
package/src/env/index.ts DELETED
@@ -1,63 +0,0 @@
1
- import { CloudApiService, getMangerService } from '../utils/net'
2
- export * from './domain'
3
- export * from './login'
4
-
5
- const tcbService = CloudApiService.getInstance('tcb')
6
-
7
- // 初始化云开发服务
8
- // 当用户没开通云开发服务时,需要调用此接口初始化云开发服务
9
- export async function initTcb(skey: string) {
10
- const res: any = await tcbService.request('InitTcb', {
11
- Skey: skey
12
- })
13
- return res
14
- }
15
-
16
- // 创建新环境
17
- export async function createEnv({ alias, paymentMode }) {
18
- const { env } = await getMangerService()
19
-
20
- return env.createEnv({
21
- paymentMode,
22
- name: alias
23
- })
24
- }
25
-
26
- // 获取环境信息
27
- export async function getEnvInfo(envId: string) {
28
- const { EnvList } = await tcbService.request('DescribeEnvs', {
29
- EnvId: envId
30
- })
31
-
32
- return EnvList?.length ? EnvList[0] : {}
33
- }
34
-
35
- // 列出所有环境
36
- export async function listEnvs(options: { source?: string[] } = {}): Promise<any[]> {
37
- const { source } = options
38
- const res: any = await tcbService.request('DescribeEnvs', {
39
- IsVisible: false,
40
- Channels: ['dcloud']
41
- })
42
- let { EnvList = [] } = res
43
- // 过滤为指定 source 环境
44
- if (source && Array.isArray(source)) {
45
- EnvList = EnvList.filter((item) => source.includes(item.Source))
46
- }
47
- return EnvList
48
- }
49
-
50
- // 修改环境信息
51
- export async function updateEnvInfo({ envId, alias }) {
52
- await tcbService.request('ModifyEnv', {
53
- EnvId: envId,
54
- Alias: alias
55
- })
56
- }
57
-
58
- // 获取 Qcloud 环境数量上限
59
- export async function getEnvLimit(source = 'qcloud') {
60
- return tcbService.request('DescribeEnvLimit', {
61
- Source: source
62
- })
63
- }
package/src/env/login.ts DELETED
@@ -1,80 +0,0 @@
1
- import crypto from 'crypto'
2
- import { CloudApiService } from '../utils/net'
3
- import { CloudBaseError } from '../error'
4
-
5
- const publicRsaKey = `
6
- -----BEGIN PUBLIC KEY-----
7
- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0ZLB0ZpWWFsHPnDDw++Nc2wI3
8
- nl2uyOrIJ5FUfxt4GAmt1Faf5pgMxAnL9exEUrrUDUX8Ri1R0KyfnHQQwCvKt8T8
9
- bgILIJe9UB8e9dvFqgqH2oA8Vqwi0YqDcvFLFJk2BJbm/0QYtZ563FumW8LEXAgu
10
- UeHi/0OZN9vQ33jWMQIDAQAB
11
- -----END PUBLIC KEY-----
12
- `
13
- function rsaEncrypt(data: string): string {
14
- const buffer = Buffer.from(data)
15
- const encrypted = crypto.publicEncrypt(
16
- {
17
- key: publicRsaKey,
18
- padding: crypto.constants.RSA_PKCS1_PADDING
19
- },
20
- buffer
21
- )
22
- return encrypted.toString('base64')
23
- }
24
-
25
- const tcbService = CloudApiService.getInstance('tcb')
26
-
27
- // 拉取登录配置列表
28
- export async function getLoginConfigList({ envId }) {
29
- const { ConfigList = [] }: any = await tcbService.request('DescribeLoginConfigs', {
30
- EnvId: envId
31
- })
32
-
33
- return ConfigList
34
- }
35
-
36
- // 创建登录方式
37
- export async function createLoginConfig({ envId, platform, appId, appSecret }) {
38
- const validPlatform = ['WECHAT-OPEN', 'WECHAT-PUBLIC', 'ANONYMOUS']
39
- if (!validPlatform.includes(platform)) {
40
- throw new CloudBaseError(
41
- `Invalid platform value: ${platform}. Now only support 'WECHAT-OPEN', 'WECHAT-PUBLIC', 'ANONYMOUS`
42
- )
43
- }
44
- const params: any = {
45
- EnvId: envId,
46
- // 平台 “ANONYMOUS" "WECHAT-OPEN" "WECHAT-PUBLIC"
47
- Platform: platform,
48
- PlatformId: appId,
49
- PlatformSecret: rsaEncrypt(appSecret),
50
- Status: 'ENABLE'
51
- }
52
-
53
- await tcbService.request('CreateLoginConfig', params)
54
- }
55
-
56
- // 更新登录方式
57
- export async function updateLoginConfig({
58
- configId,
59
- envId,
60
- status = 'ENABLE',
61
- appId = '',
62
- appSecret = ''
63
- }) {
64
- const validStatus = ['ENABLE', 'DISABLE']
65
- if (!validStatus.includes(status)) {
66
- throw new CloudBaseError(
67
- `Invalid status value: ${status}. Only support 'ENABLE', 'DISABLE'`
68
- )
69
- }
70
- const params: any = {
71
- EnvId: envId,
72
- ConfigId: configId,
73
- Status: status
74
- }
75
-
76
- appId && (params.PlatformId = appId)
77
- appSecret && (params.PlatformSecret = rsaEncrypt(appSecret))
78
-
79
- await tcbService.request('UpdateLoginConfig', params)
80
- }
package/src/error.ts DELETED
@@ -1,36 +0,0 @@
1
- interface Options {
2
- exit?: number
3
- original?: Error | undefined
4
- code?: string | number
5
- requestId?: string
6
- action?: string
7
- meta?: Record<string, any>
8
- }
9
-
10
- export class CloudBaseError extends Error {
11
- readonly exit: number
12
- readonly message: string
13
- readonly name = 'CloudBaseError'
14
- readonly original: Error | undefined
15
- readonly code: string | number
16
- readonly requestId: string
17
- readonly action: string
18
- readonly meta: any
19
-
20
- constructor(message: string, options: Options = {}) {
21
- super()
22
- this.message = message
23
- const {
24
- code = '',
25
- action = '',
26
- original = null,
27
- requestId = '',
28
- meta = {}
29
- } = options
30
- this.original = original
31
- this.code = code
32
- this.requestId = requestId
33
- this.action = action
34
- this.meta = meta
35
- }
36
- }
@@ -1,43 +0,0 @@
1
- import { CloudBaseError } from '../error'
2
- import { IUpdateFunctionAliasConfig, IGetFunctionAlias, IGetFunctionAliasRes } from '../types'
3
- import { getFunctionService } from './base'
4
-
5
- // 设置函数流量配置信息(ALIAS 配置)
6
- export async function setFunctionAliasConfig(options: IUpdateFunctionAliasConfig) {
7
- const { envId, functionName, name, functionVersion, description, routingConfig } = options
8
-
9
- const scfService = await getFunctionService(envId)
10
-
11
- try {
12
- await scfService.updateFunctionAliasConfig({
13
- functionName,
14
- name,
15
- functionVersion,
16
- description,
17
- routingConfig
18
- })
19
- } catch (e) {
20
- throw new CloudBaseError(`[${functionName}] 设置函数流量配置失败: ${e.message}`, {
21
- code: e.code
22
- })
23
- }
24
- }
25
-
26
- // 查询函数别名配置信息
27
- export async function getFunctionAliasConfig(options: IGetFunctionAlias): Promise<IGetFunctionAliasRes> {
28
- const { envId, functionName, name } = options
29
-
30
- const scfService = await getFunctionService(envId)
31
-
32
- try {
33
- return scfService.getFunctionAlias({
34
- functionName,
35
- name
36
- })
37
- } catch (e) {
38
- throw new CloudBaseError(`[${functionName}] 查询函数别名配置失败: ${e.message}`, {
39
- code: e.code
40
- })
41
- }
42
- }
43
-