@cloudbase/cli 1.12.7-alpha.4 → 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.
Files changed (317) hide show
  1. package/.editorconfig +9 -9
  2. package/.eslintignore +7 -7
  3. package/.eslintrc +35 -35
  4. package/.prettierrc.js +29 -29
  5. package/.vscode/launch.json +16 -16
  6. package/.vscode/settings.json +3 -0
  7. package/LICENSE +5 -5
  8. package/README.md +35 -35
  9. package/bin/cloudbase.js +5 -5
  10. package/bin/tcb.js +0 -0
  11. package/changelog.md +6 -6
  12. package/jest.config.js +17 -17
  13. package/lib/commands/account/login.js +18 -18
  14. package/lib/commands/run/create.js +6 -1
  15. package/lib/commands/run/delete.js +6 -1
  16. package/lib/commands/run/image/common.js +1 -1
  17. package/lib/commands/run/image/delete.js +5 -0
  18. package/lib/commands/run/image/download.js +5 -0
  19. package/lib/commands/run/image/list.js +5 -0
  20. package/lib/commands/run/image/upload.js +5 -0
  21. package/lib/commands/run/index.js +1 -0
  22. package/lib/commands/run/list.js +7 -1
  23. package/lib/commands/run/service/config.js +112 -0
  24. package/lib/commands/run/service/create.js +140 -0
  25. package/lib/commands/run/service/deploy.js +145 -0
  26. package/lib/commands/run/service/index.js +21 -0
  27. package/lib/commands/run/service/list.js +115 -0
  28. package/lib/commands/run/service/update.js +132 -0
  29. package/lib/commands/run/version/common.js +1 -1
  30. package/lib/commands/run/version/create.js +5 -0
  31. package/lib/commands/run/version/delete.js +5 -0
  32. package/lib/commands/run/version/list.js +5 -0
  33. package/lib/commands/run/version/modify.js +5 -0
  34. package/lib/commands/run/version/update.js +5 -0
  35. package/lib/commands/storage/storage.js +1 -1
  36. package/lib/constant.js +20 -1
  37. package/lib/env/login.js +7 -7
  38. package/lib/help.js +40 -38
  39. package/lib/run/index.js +1 -0
  40. package/lib/run/service/common.js +163 -0
  41. package/lib/run/service/config.js +70 -0
  42. package/lib/run/service/create.js +67 -0
  43. package/lib/run/service/deployPackage.js +87 -0
  44. package/lib/run/service/index.js +23 -0
  45. package/lib/run/service/list.js +31 -0
  46. package/lib/run/service/showLogs.js +116 -0
  47. package/lib/run/service/update.js +83 -0
  48. package/lib/utils/checkTcbrEnv.js +74 -0
  49. package/lib/utils/commonParamsCheck.js +48 -0
  50. package/lib/utils/index.js +3 -0
  51. package/lib/utils/tcbrApi/callTcbrApi.js +38 -0
  52. package/lib/utils/tcbrApi/index.js +17 -0
  53. package/lib/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.js +268 -0
  54. package/lib/utils/tcbrApi/tcbr-cloud-api/error.js +17 -0
  55. package/lib/utils/tcbrApi/tcbr-cloud-api/index.js +17 -0
  56. package/lib/utils/tcbrApi/tcbr-cloud-api/request.js +40 -0
  57. package/lib/utils/tcbrApi/tcbr-cloud-api-request.js +61 -0
  58. package/lib/utils/validator.js +32 -1
  59. package/package.json +88 -88
  60. package/post-install.js +61 -61
  61. package/runtime/nodejs/bootstrap.js +255 -255
  62. package/runtime/nodejs/runtime.js +183 -183
  63. package/src/auth/index.ts +1 -1
  64. package/src/auth/login.ts +91 -91
  65. package/src/auth/logout.ts +7 -7
  66. package/src/commands/account/index.ts +2 -2
  67. package/src/commands/account/login.ts +192 -192
  68. package/src/commands/account/logout.ts +24 -24
  69. package/src/commands/common.ts +246 -246
  70. package/src/commands/env/base.ts +90 -90
  71. package/src/commands/env/create.ts +92 -92
  72. package/src/commands/env/domain.ts +186 -186
  73. package/src/commands/env/index.ts +4 -4
  74. package/src/commands/env/login.ts +235 -235
  75. package/src/commands/framework/index.ts +124 -124
  76. package/src/commands/functions/alias/getRoute.ts +76 -76
  77. package/src/commands/functions/alias/index.ts +2 -2
  78. package/src/commands/functions/alias/setRoute.ts +82 -82
  79. package/src/commands/functions/code-download.ts +100 -100
  80. package/src/commands/functions/code-update.ts +62 -62
  81. package/src/commands/functions/concurrency/delete.ts +45 -45
  82. package/src/commands/functions/concurrency/index.ts +2 -2
  83. package/src/commands/functions/concurrency/list.ts +58 -58
  84. package/src/commands/functions/concurrency/set.ts +47 -47
  85. package/src/commands/functions/config-update.ts +76 -76
  86. package/src/commands/functions/copy.ts +62 -62
  87. package/src/commands/functions/delete.ts +79 -79
  88. package/src/commands/functions/deploy.ts +293 -293
  89. package/src/commands/functions/detail.ts +138 -138
  90. package/src/commands/functions/index.ts +16 -16
  91. package/src/commands/functions/invoke.ts +121 -121
  92. package/src/commands/functions/layer/bind.ts +182 -182
  93. package/src/commands/functions/layer/common.ts +8 -8
  94. package/src/commands/functions/layer/create.ts +49 -49
  95. package/src/commands/functions/layer/delete.ts +73 -73
  96. package/src/commands/functions/layer/download.ts +92 -92
  97. package/src/commands/functions/layer/index.ts +7 -7
  98. package/src/commands/functions/layer/list.ts +94 -94
  99. package/src/commands/functions/layer/sort.ts +76 -76
  100. package/src/commands/functions/list.ts +68 -68
  101. package/src/commands/functions/log.ts +148 -148
  102. package/src/commands/functions/run.ts +249 -249
  103. package/src/commands/functions/trigger-create.ts +79 -79
  104. package/src/commands/functions/trigger-delete.ts +105 -105
  105. package/src/commands/functions/version/index.ts +1 -1
  106. package/src/commands/functions/version/list.ts +73 -73
  107. package/src/commands/functions/version/publish.ts +43 -43
  108. package/src/commands/gateway/create.ts +109 -109
  109. package/src/commands/gateway/delete.ts +81 -81
  110. package/src/commands/gateway/domain.ts +159 -159
  111. package/src/commands/gateway/index.ts +5 -5
  112. package/src/commands/gateway/list.ts +76 -76
  113. package/src/commands/gateway/switch.ts +107 -107
  114. package/src/commands/helpers/index.ts +2 -2
  115. package/src/commands/helpers/init.ts +431 -431
  116. package/src/commands/helpers/new.ts +117 -117
  117. package/src/commands/helpers/open.ts +67 -67
  118. package/src/commands/hosting/hosting.ts +360 -360
  119. package/src/commands/index.ts +13 -13
  120. package/src/commands/lowcode/app.ts +34 -34
  121. package/src/commands/lowcode/comps.ts +322 -322
  122. package/src/commands/lowcode/index.ts +1 -1
  123. package/src/commands/lowcode/utils.ts +24 -24
  124. package/src/commands/run/create.ts +9 -2
  125. package/src/commands/run/delete.ts +8 -2
  126. package/src/commands/run/image/common.ts +1 -1
  127. package/src/commands/run/image/delete.ts +8 -1
  128. package/src/commands/run/image/download.ts +7 -1
  129. package/src/commands/run/image/index.ts +4 -4
  130. package/src/commands/run/image/list.ts +7 -2
  131. package/src/commands/run/image/upload.ts +8 -1
  132. package/src/commands/run/index.ts +2 -1
  133. package/src/commands/run/list.ts +11 -3
  134. package/src/commands/run/service/config.ts +81 -0
  135. package/src/commands/run/service/create.ts +118 -0
  136. package/src/commands/run/service/deploy.ts +121 -0
  137. package/src/commands/run/service/index.ts +5 -0
  138. package/src/commands/run/service/list.ts +94 -0
  139. package/src/commands/run/service/update.ts +104 -0
  140. package/src/commands/run/standalonegateway/common.ts +7 -7
  141. package/src/commands/run/standalonegateway/create.ts +85 -85
  142. package/src/commands/run/standalonegateway/destroy.ts +59 -59
  143. package/src/commands/run/standalonegateway/index.ts +4 -4
  144. package/src/commands/run/standalonegateway/list.ts +53 -53
  145. package/src/commands/run/standalonegateway/package.ts +62 -62
  146. package/src/commands/run/standalonegateway/turn.ts +63 -63
  147. package/src/commands/run/version/common.ts +1 -1
  148. package/src/commands/run/version/create.ts +8 -1
  149. package/src/commands/run/version/delete.ts +8 -2
  150. package/src/commands/run/version/index.ts +4 -4
  151. package/src/commands/run/version/list.ts +7 -1
  152. package/src/commands/run/version/modify.ts +8 -1
  153. package/src/commands/run/version/update.ts +8 -1
  154. package/src/commands/smart.ts +132 -132
  155. package/src/commands/storage/storage.ts +464 -464
  156. package/src/commands/third/thirdAttach.ts +49 -49
  157. package/src/completion/index.ts +13 -13
  158. package/src/constant.ts +35 -1
  159. package/src/decorators/captureError.ts +25 -25
  160. package/src/decorators/constants.ts +12 -12
  161. package/src/decorators/deprecate.ts +25 -25
  162. package/src/decorators/guard.ts +42 -42
  163. package/src/decorators/index.ts +7 -7
  164. package/src/decorators/injectParams.ts +54 -54
  165. package/src/decorators/params/common.ts +28 -28
  166. package/src/decorators/params/index.ts +35 -35
  167. package/src/env/domain.ts +33 -33
  168. package/src/env/index.ts +63 -63
  169. package/src/env/login.ts +80 -80
  170. package/src/error.ts +36 -36
  171. package/src/function/alias.ts +43 -43
  172. package/src/function/base.ts +253 -253
  173. package/src/function/code.ts +55 -55
  174. package/src/function/concurrency.ts +57 -57
  175. package/src/function/create.ts +78 -78
  176. package/src/function/delete.ts +42 -42
  177. package/src/function/index.ts +10 -10
  178. package/src/function/layer/attach.ts +68 -68
  179. package/src/function/layer/create.ts +63 -63
  180. package/src/function/layer/delete.ts +21 -21
  181. package/src/function/layer/download.ts +54 -54
  182. package/src/function/layer/index.ts +7 -7
  183. package/src/function/layer/list.ts +32 -32
  184. package/src/function/layer/sort.ts +24 -24
  185. package/src/function/trigger.ts +97 -97
  186. package/src/function/update.ts +35 -35
  187. package/src/function/version.ts +38 -38
  188. package/src/function/vpc.ts +22 -22
  189. package/src/gateway/index.ts +137 -137
  190. package/src/help.ts +50 -48
  191. package/src/hosting.ts +212 -212
  192. package/src/index.ts +13 -13
  193. package/src/logger.ts +17 -17
  194. package/src/run/create.ts +23 -23
  195. package/src/run/delete.ts +15 -15
  196. package/src/run/image/build.ts +36 -36
  197. package/src/run/image/delete.ts +13 -13
  198. package/src/run/image/index.ts +3 -3
  199. package/src/run/image/info.ts +26 -26
  200. package/src/run/index.ts +2 -1
  201. package/src/run/list.ts +29 -29
  202. package/src/run/repo.ts +24 -24
  203. package/src/run/service/common.ts +206 -0
  204. package/src/run/service/config.ts +77 -0
  205. package/src/run/service/create.ts +52 -0
  206. package/src/run/service/deployPackage.ts +63 -0
  207. package/src/run/service/index.ts +7 -0
  208. package/src/run/service/list.ts +29 -0
  209. package/src/run/service/showLogs.ts +98 -0
  210. package/src/run/service/update.ts +81 -0
  211. package/src/run/standalonegateway/create.ts +24 -24
  212. package/src/run/standalonegateway/destroy.ts +19 -19
  213. package/src/run/standalonegateway/index.ts +4 -4
  214. package/src/run/standalonegateway/list.ts +74 -74
  215. package/src/run/standalonegateway/package/list.ts +24 -24
  216. package/src/run/standalonegateway/turn/index.ts +1 -1
  217. package/src/run/standalonegateway/turn/off.ts +19 -19
  218. package/src/run/standalonegateway/turn/on.ts +19 -19
  219. package/src/run/version/create.ts +68 -68
  220. package/src/run/version/delete.ts +15 -15
  221. package/src/run/version/index.ts +5 -5
  222. package/src/run/version/list.ts +16 -16
  223. package/src/run/version/modify.ts +16 -16
  224. package/src/run/version/repo.ts +27 -27
  225. package/src/run/version/update.ts +58 -58
  226. package/src/storage.ts +114 -114
  227. package/src/third/index.ts +12 -12
  228. package/src/types.ts +128 -2
  229. package/src/utils/auth.ts +15 -15
  230. package/src/utils/checkTcbrEnv.ts +67 -0
  231. package/src/utils/cli-table.ts +23 -23
  232. package/src/utils/commonParamsCheck.ts +65 -0
  233. package/src/utils/config.ts +39 -39
  234. package/src/utils/env.ts +244 -244
  235. package/src/utils/fs/del.ts +5 -5
  236. package/src/utils/fs/index.ts +71 -71
  237. package/src/utils/function-packer.ts +97 -97
  238. package/src/utils/index.ts +5 -1
  239. package/src/utils/log.ts +81 -81
  240. package/src/utils/net/cloud-api-request.ts +62 -62
  241. package/src/utils/net/credential.ts +53 -53
  242. package/src/utils/net/http-request.ts +84 -84
  243. package/src/utils/net/index.ts +4 -4
  244. package/src/utils/net/manager-service.ts +36 -36
  245. package/src/utils/net/proxy.ts +6 -6
  246. package/src/utils/notice.ts +28 -28
  247. package/src/utils/output/highlight.ts +5 -5
  248. package/src/utils/output/index.ts +2 -2
  249. package/src/utils/output/link.ts +10 -10
  250. package/src/utils/output/loading.ts +82 -82
  251. package/src/utils/parallel.ts +82 -82
  252. package/src/utils/platform/index.ts +2 -2
  253. package/src/utils/platform/mac.ts +21 -21
  254. package/src/utils/platform/os.ts +64 -64
  255. package/src/utils/platform/port.ts +10 -10
  256. package/src/utils/progress-bar.ts +38 -38
  257. package/src/utils/prompt/select.ts +59 -59
  258. package/src/utils/reporter/agree.ts +20 -20
  259. package/src/utils/reporter/download.ts +26 -26
  260. package/src/utils/reporter/index.ts +3 -3
  261. package/src/utils/reporter/usage.ts +20 -20
  262. package/src/utils/store/auth.ts +49 -49
  263. package/src/utils/store/common.ts +8 -8
  264. package/src/utils/store/db.ts +68 -68
  265. package/src/utils/store/index.ts +4 -4
  266. package/src/utils/store/usage.ts +12 -12
  267. package/src/utils/tcbrApi/callTcbrApi.ts +28 -0
  268. package/src/utils/tcbrApi/index.ts +1 -0
  269. package/src/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.ts +363 -0
  270. package/src/utils/tcbrApi/tcbr-cloud-api/error.ts +30 -0
  271. package/src/utils/tcbrApi/tcbr-cloud-api/index.ts +1 -0
  272. package/src/utils/tcbrApi/tcbr-cloud-api/request.ts +28 -0
  273. package/src/utils/tcbrApi/tcbr-cloud-api-request.ts +66 -0
  274. package/src/utils/template.ts +170 -170
  275. package/src/utils/tools/encoding.ts +8 -8
  276. package/src/utils/tools/index.ts +4 -4
  277. package/src/utils/tools/object.ts +33 -33
  278. package/src/utils/tools/time.ts +38 -38
  279. package/src/utils/tools/uid.ts +19 -19
  280. package/src/utils/validator.ts +64 -32
  281. package/templates/html/loginFail.html +90 -90
  282. package/templates/html/loginSuccess.html +86 -86
  283. package/templates/server/node/_gitignore +54 -54
  284. package/templates/server/node/cloudbaserc.json +10 -10
  285. package/templates/server/node/index.js +5 -5
  286. package/templates/server/node/package.json +9 -9
  287. package/tsconfig.json +19 -19
  288. package/tsconfig.test.json +13 -13
  289. package/types/commands/run/index.d.ts +1 -0
  290. package/types/commands/run/service/config.d.ts +14 -0
  291. package/types/commands/run/service/create.d.ts +13 -0
  292. package/types/commands/run/service/deploy.d.ts +13 -0
  293. package/types/commands/run/service/index.d.ts +5 -0
  294. package/types/commands/run/service/list.d.ts +13 -0
  295. package/types/commands/run/service/update.d.ts +13 -0
  296. package/types/constant.d.ts +18 -0
  297. package/types/run/index.d.ts +1 -0
  298. package/types/run/service/common.d.ts +32 -0
  299. package/types/run/service/config.d.ts +23 -0
  300. package/types/run/service/create.d.ts +7 -0
  301. package/types/run/service/deployPackage.d.ts +11 -0
  302. package/types/run/service/index.d.ts +7 -0
  303. package/types/run/service/list.d.ts +2 -0
  304. package/types/run/service/showLogs.d.ts +2 -0
  305. package/types/run/service/update.d.ts +2 -0
  306. package/types/types.d.ts +116 -2
  307. package/types/utils/checkTcbrEnv.d.ts +3 -0
  308. package/types/utils/commonParamsCheck.d.ts +3 -0
  309. package/types/utils/index.d.ts +3 -0
  310. package/types/utils/tcbrApi/callTcbrApi.d.ts +1 -0
  311. package/types/utils/tcbrApi/index.d.ts +1 -0
  312. package/types/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.d.ts +51 -0
  313. package/types/utils/tcbrApi/tcbr-cloud-api/error.d.ts +20 -0
  314. package/types/utils/tcbrApi/tcbr-cloud-api/index.d.ts +1 -0
  315. package/types/utils/tcbrApi/tcbr-cloud-api/request.d.ts +4 -0
  316. package/types/utils/tcbrApi/tcbr-cloud-api-request.d.ts +9 -0
  317. package/types/utils/validator.d.ts +4 -0
@@ -1,76 +1,76 @@
1
- import inquirer from 'inquirer'
2
- import { Command, ICommand } from '../common'
3
- import { CloudBaseError } from '../../error'
4
- import { InjectParams, CmdContext, ArgsParams, Log, Logger } from '../../decorators'
5
- import { batchUpdateFunctionConfig, updateFunctionConfig } from '../../function'
6
-
7
- @ICommand()
8
- export class ConfigUpdate extends Command {
9
- get options() {
10
- return {
11
- cmd: 'fn',
12
- childCmd: {
13
- cmd: 'config',
14
- desc: '函数配置管理'
15
- },
16
- childSubCmd: 'update [name]',
17
- deprecateCmd: 'functions:config:update [name]',
18
- options: [
19
- {
20
- flags: '-e, --envId <envId>',
21
- desc: '环境 Id'
22
- }
23
- ],
24
- desc: '更新云函数配置'
25
- }
26
- }
27
-
28
- @InjectParams()
29
- async execute(@CmdContext() ctx, @ArgsParams() params, @Log() log: Logger) {
30
- const {
31
- envId,
32
- config: { functions }
33
- } = ctx
34
- const name = params?.[0]
35
- let isBathUpdate = false
36
-
37
- // 不指定云函数名称,更新配置文件中所有函数的配置
38
- if (!name) {
39
- const { isBatch } = await inquirer.prompt({
40
- type: 'confirm',
41
- name: 'isBatch',
42
- message: '无云函数名称,是否需要更新配置文件中的【全部云函数】的配置?',
43
- default: false
44
- })
45
-
46
- isBathUpdate = isBatch
47
-
48
- if (!isBathUpdate) {
49
- throw new CloudBaseError('请指定云函数名称!')
50
- }
51
- }
52
-
53
- if (isBathUpdate) {
54
- await batchUpdateFunctionConfig({
55
- envId,
56
- functions,
57
- log: true
58
- })
59
- return
60
- }
61
-
62
- const functionItem = functions.find((item) => item.name === name)
63
-
64
- if (!functionItem) {
65
- throw new CloudBaseError('未找到相关函数配置,请检查函数名是否正确')
66
- }
67
-
68
- await updateFunctionConfig({
69
- envId,
70
- functionName: name,
71
- config: functionItem
72
- })
73
-
74
- log.success(`[${name}] 更新云函数配置成功!`)
75
- }
76
- }
1
+ import inquirer from 'inquirer'
2
+ import { Command, ICommand } from '../common'
3
+ import { CloudBaseError } from '../../error'
4
+ import { InjectParams, CmdContext, ArgsParams, Log, Logger } from '../../decorators'
5
+ import { batchUpdateFunctionConfig, updateFunctionConfig } from '../../function'
6
+
7
+ @ICommand()
8
+ export class ConfigUpdate extends Command {
9
+ get options() {
10
+ return {
11
+ cmd: 'fn',
12
+ childCmd: {
13
+ cmd: 'config',
14
+ desc: '函数配置管理'
15
+ },
16
+ childSubCmd: 'update [name]',
17
+ deprecateCmd: 'functions:config:update [name]',
18
+ options: [
19
+ {
20
+ flags: '-e, --envId <envId>',
21
+ desc: '环境 Id'
22
+ }
23
+ ],
24
+ desc: '更新云函数配置'
25
+ }
26
+ }
27
+
28
+ @InjectParams()
29
+ async execute(@CmdContext() ctx, @ArgsParams() params, @Log() log: Logger) {
30
+ const {
31
+ envId,
32
+ config: { functions }
33
+ } = ctx
34
+ const name = params?.[0]
35
+ let isBathUpdate = false
36
+
37
+ // 不指定云函数名称,更新配置文件中所有函数的配置
38
+ if (!name) {
39
+ const { isBatch } = await inquirer.prompt({
40
+ type: 'confirm',
41
+ name: 'isBatch',
42
+ message: '无云函数名称,是否需要更新配置文件中的【全部云函数】的配置?',
43
+ default: false
44
+ })
45
+
46
+ isBathUpdate = isBatch
47
+
48
+ if (!isBathUpdate) {
49
+ throw new CloudBaseError('请指定云函数名称!')
50
+ }
51
+ }
52
+
53
+ if (isBathUpdate) {
54
+ await batchUpdateFunctionConfig({
55
+ envId,
56
+ functions,
57
+ log: true
58
+ })
59
+ return
60
+ }
61
+
62
+ const functionItem = functions.find((item) => item.name === name)
63
+
64
+ if (!functionItem) {
65
+ throw new CloudBaseError('未找到相关函数配置,请检查函数名是否正确')
66
+ }
67
+
68
+ await updateFunctionConfig({
69
+ envId,
70
+ functionName: name,
71
+ config: functionItem
72
+ })
73
+
74
+ log.success(`[${name}] 更新云函数配置成功!`)
75
+ }
76
+ }
@@ -1,62 +1,62 @@
1
- import { Command, ICommand } from '../common'
2
- import { CloudBaseError } from '../../error'
3
- import { copyFunction } from '../../function'
4
- import { InjectParams, EnvId, ArgsOptions, ArgsParams, Log, Logger } from '../../decorators'
5
-
6
- @ICommand()
7
- export class FunctionCopy extends Command {
8
- get options() {
9
- return {
10
- cmd: 'fn',
11
- childCmd: 'copy <name> [newFunctionName]',
12
- deprecateCmd: 'functions:copy <name> [newFunctionName]',
13
- options: [
14
- {
15
- flags: '-e, --envId <envId>',
16
- desc: '环境 Id'
17
- },
18
- {
19
- flags: '-t, --target <targetEnvId>',
20
- desc: '目标环境 Id'
21
- },
22
- // {
23
- // flags: '--code-secret <codeSecret>',
24
- // desc: '代码加密的函数的 CodeSecret'
25
- // },
26
- {
27
- flags: '--force',
28
- desc: '如果目标环境下存在同名函数,覆盖原函数'
29
- }
30
- ],
31
- desc: '拷贝云函数'
32
- }
33
- }
34
-
35
- @InjectParams()
36
- async execute(
37
- @EnvId() envId,
38
- @ArgsOptions() options,
39
- @ArgsParams() params,
40
- @Log() log: Logger
41
- ) {
42
- const name = params?.[0]
43
- const newFunctionName = params?.[1]
44
-
45
- const { force, codeSecret, targetEnvId } = options
46
-
47
- if (!name) {
48
- throw new CloudBaseError('请指定函数名称!')
49
- }
50
-
51
- await copyFunction({
52
- force,
53
- envId,
54
- codeSecret,
55
- functionName: name,
56
- newFunctionName: newFunctionName || name,
57
- targetEnvId: targetEnvId || envId
58
- })
59
-
60
- log.success('拷贝函数成功')
61
- }
62
- }
1
+ import { Command, ICommand } from '../common'
2
+ import { CloudBaseError } from '../../error'
3
+ import { copyFunction } from '../../function'
4
+ import { InjectParams, EnvId, ArgsOptions, ArgsParams, Log, Logger } from '../../decorators'
5
+
6
+ @ICommand()
7
+ export class FunctionCopy extends Command {
8
+ get options() {
9
+ return {
10
+ cmd: 'fn',
11
+ childCmd: 'copy <name> [newFunctionName]',
12
+ deprecateCmd: 'functions:copy <name> [newFunctionName]',
13
+ options: [
14
+ {
15
+ flags: '-e, --envId <envId>',
16
+ desc: '环境 Id'
17
+ },
18
+ {
19
+ flags: '-t, --target <targetEnvId>',
20
+ desc: '目标环境 Id'
21
+ },
22
+ // {
23
+ // flags: '--code-secret <codeSecret>',
24
+ // desc: '代码加密的函数的 CodeSecret'
25
+ // },
26
+ {
27
+ flags: '--force',
28
+ desc: '如果目标环境下存在同名函数,覆盖原函数'
29
+ }
30
+ ],
31
+ desc: '拷贝云函数'
32
+ }
33
+ }
34
+
35
+ @InjectParams()
36
+ async execute(
37
+ @EnvId() envId,
38
+ @ArgsOptions() options,
39
+ @ArgsParams() params,
40
+ @Log() log: Logger
41
+ ) {
42
+ const name = params?.[0]
43
+ const newFunctionName = params?.[1]
44
+
45
+ const { force, codeSecret, targetEnvId } = options
46
+
47
+ if (!name) {
48
+ throw new CloudBaseError('请指定函数名称!')
49
+ }
50
+
51
+ await copyFunction({
52
+ force,
53
+ envId,
54
+ codeSecret,
55
+ functionName: name,
56
+ newFunctionName: newFunctionName || name,
57
+ targetEnvId: targetEnvId || envId
58
+ })
59
+
60
+ log.success('拷贝函数成功')
61
+ }
62
+ }
@@ -1,79 +1,79 @@
1
- import inquirer from 'inquirer'
2
-
3
- import { Command, ICommand } from '../common'
4
- import { CloudBaseError } from '../../error'
5
- import { loadingFactory } from '../../utils'
6
- import { deleteFunction, batchDeleteFunctions } from '../../function'
7
- import { InjectParams, CmdContext, ArgsParams } from '../../decorators'
8
-
9
- @ICommand()
10
- export class DeleteFunction extends Command {
11
- get options() {
12
- return {
13
- cmd: 'fn',
14
- childCmd: 'delete [name]',
15
- deprecateCmd: 'functions:delete [name]',
16
- options: [
17
- {
18
- flags: '-e, --envId <envId>',
19
- desc: '环境 Id'
20
- }
21
- ],
22
- desc: '删除云函数'
23
- }
24
- }
25
-
26
- @InjectParams()
27
- async execute(@CmdContext() ctx, @ArgsParams() params) {
28
- const name = params?.[0]
29
- const {
30
- envId,
31
- config: { functions }
32
- } = ctx
33
-
34
- let isBatchDelete = false
35
-
36
- // 不指定云函数名称,默认删除所有函数
37
- if (!name) {
38
- const answer = await inquirer.prompt({
39
- type: 'confirm',
40
- name: 'isBatch',
41
- message: '无云函数名称,是否需要删除配置文件中的全部云函数?',
42
- default: false
43
- })
44
-
45
- // 危险操作,再次确认
46
- if (answer.isBatch) {
47
- const { reConfirm } = await inquirer.prompt({
48
- type: 'confirm',
49
- name: 'reConfirm',
50
- message: '确定要删除配置文件中的全部云函数?',
51
- default: false
52
- })
53
- isBatchDelete = reConfirm
54
- }
55
-
56
- if (!isBatchDelete) {
57
- throw new CloudBaseError('请指定需要删除的云函数名称!')
58
- }
59
- }
60
-
61
- if (isBatchDelete) {
62
- const names: string[] = functions.map((item) => item.name)
63
- return batchDeleteFunctions({
64
- names,
65
- envId
66
- })
67
- }
68
-
69
- const loading = loadingFactory()
70
- loading.start(`删除函数 [${name}] 中...`)
71
-
72
- await deleteFunction({
73
- envId,
74
- functionName: name
75
- })
76
-
77
- loading.succeed(`删除函数 [${name}] 成功!`)
78
- }
79
- }
1
+ import inquirer from 'inquirer'
2
+
3
+ import { Command, ICommand } from '../common'
4
+ import { CloudBaseError } from '../../error'
5
+ import { loadingFactory } from '../../utils'
6
+ import { deleteFunction, batchDeleteFunctions } from '../../function'
7
+ import { InjectParams, CmdContext, ArgsParams } from '../../decorators'
8
+
9
+ @ICommand()
10
+ export class DeleteFunction extends Command {
11
+ get options() {
12
+ return {
13
+ cmd: 'fn',
14
+ childCmd: 'delete [name]',
15
+ deprecateCmd: 'functions:delete [name]',
16
+ options: [
17
+ {
18
+ flags: '-e, --envId <envId>',
19
+ desc: '环境 Id'
20
+ }
21
+ ],
22
+ desc: '删除云函数'
23
+ }
24
+ }
25
+
26
+ @InjectParams()
27
+ async execute(@CmdContext() ctx, @ArgsParams() params) {
28
+ const name = params?.[0]
29
+ const {
30
+ envId,
31
+ config: { functions }
32
+ } = ctx
33
+
34
+ let isBatchDelete = false
35
+
36
+ // 不指定云函数名称,默认删除所有函数
37
+ if (!name) {
38
+ const answer = await inquirer.prompt({
39
+ type: 'confirm',
40
+ name: 'isBatch',
41
+ message: '无云函数名称,是否需要删除配置文件中的全部云函数?',
42
+ default: false
43
+ })
44
+
45
+ // 危险操作,再次确认
46
+ if (answer.isBatch) {
47
+ const { reConfirm } = await inquirer.prompt({
48
+ type: 'confirm',
49
+ name: 'reConfirm',
50
+ message: '确定要删除配置文件中的全部云函数?',
51
+ default: false
52
+ })
53
+ isBatchDelete = reConfirm
54
+ }
55
+
56
+ if (!isBatchDelete) {
57
+ throw new CloudBaseError('请指定需要删除的云函数名称!')
58
+ }
59
+ }
60
+
61
+ if (isBatchDelete) {
62
+ const names: string[] = functions.map((item) => item.name)
63
+ return batchDeleteFunctions({
64
+ names,
65
+ envId
66
+ })
67
+ }
68
+
69
+ const loading = loadingFactory()
70
+ loading.start(`删除函数 [${name}] 中...`)
71
+
72
+ await deleteFunction({
73
+ envId,
74
+ functionName: name
75
+ })
76
+
77
+ loading.succeed(`删除函数 [${name}] 成功!`)
78
+ }
79
+ }