@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,62 +1,62 @@
1
- import { Command, ICommand } from '../../common'
2
- import { listPackageStandalonegateway } from '../../../run'
3
- import { loadingFactory } from '@cloudbase/toolbox'
4
- import { EnvId, ArgsOptions, ArgsParams, InjectParams } from '../../../decorators'
5
- import { standalonegatewayCommonOptions } from './common'
6
- import { CloudBaseError } from '../../../error'
7
- import { printHorizontalTable } from '../../../utils'
8
-
9
- @ICommand()
10
- export class PackageStandalonegateway extends Command {
11
- get options() {
12
- return {
13
- ...standalonegatewayCommonOptions('package <operation>'),
14
- options: [
15
- {
16
- flags: '-e, --envId <envId>',
17
- desc: '环境 Id'
18
- },
19
- {
20
- flags: '-p, --packageVersion <packageVersion>',
21
- desc: '套餐版本'
22
- }
23
- ],
24
- desc: '套餐操作'
25
- }
26
- }
27
-
28
- @InjectParams()
29
- async execute(@EnvId() envId, @ArgsParams() params, @ArgsOptions() options) {
30
- const operation = params?.[0]
31
- if (!operation || ['list'].indexOf(operation) === -1) {
32
- throw new CloudBaseError('请输入具体操作')
33
- }
34
-
35
- switch (operation) {
36
- case 'list':
37
- {
38
- let { appId, packageVersion = '' } = options
39
- appId = String(appId)
40
- packageVersion = String(packageVersion)
41
-
42
- const loading = loadingFactory()
43
-
44
- loading.start('数据加载中...')
45
-
46
- const data = await listPackageStandalonegateway({
47
- envId,
48
- packageVersion
49
- })
50
-
51
- loading.stop()
52
-
53
- const head = ['CPU', '内存', '版本']
54
-
55
- printHorizontalTable(head, data)
56
- }
57
- break
58
- default:
59
- break
60
- }
61
- }
62
- }
1
+ import { Command, ICommand } from '../../common'
2
+ import { listPackageStandalonegateway } from '../../../run'
3
+ import { loadingFactory } from '@cloudbase/toolbox'
4
+ import { EnvId, ArgsOptions, ArgsParams, InjectParams } from '../../../decorators'
5
+ import { standalonegatewayCommonOptions } from './common'
6
+ import { CloudBaseError } from '../../../error'
7
+ import { printHorizontalTable } from '../../../utils'
8
+
9
+ @ICommand()
10
+ export class PackageStandalonegateway extends Command {
11
+ get options() {
12
+ return {
13
+ ...standalonegatewayCommonOptions('package <operation>'),
14
+ options: [
15
+ {
16
+ flags: '-e, --envId <envId>',
17
+ desc: '环境 Id'
18
+ },
19
+ {
20
+ flags: '-p, --packageVersion <packageVersion>',
21
+ desc: '套餐版本'
22
+ }
23
+ ],
24
+ desc: '套餐操作'
25
+ }
26
+ }
27
+
28
+ @InjectParams()
29
+ async execute(@EnvId() envId, @ArgsParams() params, @ArgsOptions() options) {
30
+ const operation = params?.[0]
31
+ if (!operation || ['list'].indexOf(operation) === -1) {
32
+ throw new CloudBaseError('请输入具体操作')
33
+ }
34
+
35
+ switch (operation) {
36
+ case 'list':
37
+ {
38
+ let { appId, packageVersion = '' } = options
39
+ appId = String(appId)
40
+ packageVersion = String(packageVersion)
41
+
42
+ const loading = loadingFactory()
43
+
44
+ loading.start('数据加载中...')
45
+
46
+ const data = await listPackageStandalonegateway({
47
+ envId,
48
+ packageVersion
49
+ })
50
+
51
+ loading.stop()
52
+
53
+ const head = ['CPU', '内存', '版本']
54
+
55
+ printHorizontalTable(head, data)
56
+ }
57
+ break
58
+ default:
59
+ break
60
+ }
61
+ }
62
+ }
@@ -1,63 +1,63 @@
1
- import { Command, ICommand } from '../../common'
2
- import { turnOffStandalonegateway, turnOnStandalonegateway } from '../../../run'
3
- import { loadingFactory } from '@cloudbase/toolbox'
4
- import { ArgsOptions, ArgsParams, EnvId, InjectParams } from '../../../decorators'
5
- import { standalonegatewayCommonOptions } from './common'
6
- import { CloudBaseError } from '../../../error'
7
-
8
- @ICommand()
9
- export class TurnStandalonegateway extends Command {
10
- get options() {
11
- return {
12
- ...standalonegatewayCommonOptions('turn <status>'),
13
- options: [
14
- {
15
- flags: '-e, --envId <envId>',
16
- desc: '环境 Id'
17
- },
18
- {
19
- flags: '-gN, --gatewayName <gatewayName>',
20
- desc: '网关名'
21
- },
22
- {
23
- flags: '-sL, --serviceList <serviceList...>',
24
- desc: '云托管服务列表'
25
- }
26
- ],
27
- desc: '启停小租户网关'
28
- }
29
- }
30
-
31
- @InjectParams()
32
- async execute(@EnvId() envId, @ArgsParams() params, @ArgsOptions() options) {
33
- const status = params?.[0]
34
- if (!status || ['on', 'off'].indexOf(status) === -1) {
35
- throw new CloudBaseError('请输入启停状态')
36
- }
37
-
38
- let { gatewayName = '', serviceList = [] } = options
39
- gatewayName = String(gatewayName)
40
-
41
- if (gatewayName === '') {
42
- throw new CloudBaseError('请输入网关名')
43
- }
44
-
45
- if (serviceList.length === 0) {
46
- throw new CloudBaseError('请输入云托管服务列表')
47
- }
48
-
49
- const loading = loadingFactory()
50
-
51
- loading.start('数据加载中...')
52
-
53
- await (status === 'on' ? turnOnStandalonegateway : turnOffStandalonegateway)({
54
- envId,
55
- gatewayName,
56
- serviceList
57
- })
58
-
59
- loading.stop()
60
-
61
- console.log('操作执行成功')
62
- }
63
- }
1
+ import { Command, ICommand } from '../../common'
2
+ import { turnOffStandalonegateway, turnOnStandalonegateway } from '../../../run'
3
+ import { loadingFactory } from '@cloudbase/toolbox'
4
+ import { ArgsOptions, ArgsParams, EnvId, InjectParams } from '../../../decorators'
5
+ import { standalonegatewayCommonOptions } from './common'
6
+ import { CloudBaseError } from '../../../error'
7
+
8
+ @ICommand()
9
+ export class TurnStandalonegateway extends Command {
10
+ get options() {
11
+ return {
12
+ ...standalonegatewayCommonOptions('turn <status>'),
13
+ options: [
14
+ {
15
+ flags: '-e, --envId <envId>',
16
+ desc: '环境 Id'
17
+ },
18
+ {
19
+ flags: '-gN, --gatewayName <gatewayName>',
20
+ desc: '网关名'
21
+ },
22
+ {
23
+ flags: '-sL, --serviceList <serviceList...>',
24
+ desc: '云托管服务列表'
25
+ }
26
+ ],
27
+ desc: '启停小租户网关'
28
+ }
29
+ }
30
+
31
+ @InjectParams()
32
+ async execute(@EnvId() envId, @ArgsParams() params, @ArgsOptions() options) {
33
+ const status = params?.[0]
34
+ if (!status || ['on', 'off'].indexOf(status) === -1) {
35
+ throw new CloudBaseError('请输入启停状态')
36
+ }
37
+
38
+ let { gatewayName = '', serviceList = [] } = options
39
+ gatewayName = String(gatewayName)
40
+
41
+ if (gatewayName === '') {
42
+ throw new CloudBaseError('请输入网关名')
43
+ }
44
+
45
+ if (serviceList.length === 0) {
46
+ throw new CloudBaseError('请输入云托管服务列表')
47
+ }
48
+
49
+ const loading = loadingFactory()
50
+
51
+ loading.start('数据加载中...')
52
+
53
+ await (status === 'on' ? turnOnStandalonegateway : turnOffStandalonegateway)({
54
+ envId,
55
+ gatewayName,
56
+ serviceList
57
+ })
58
+
59
+ loading.stop()
60
+
61
+ console.log('操作执行成功')
62
+ }
63
+ }
@@ -1,5 +1,5 @@
1
1
  export const versionCommonOptions = (sub: string) => ({
2
- cmd: 'run',
2
+ cmd: 'run:deprecated',
3
3
  childCmd: {
4
4
  cmd: 'version',
5
5
  desc: '云托管版本管理'
@@ -13,9 +13,10 @@ import {
13
13
  basicOperate,
14
14
  logCreate
15
15
  } from '../../../run'
16
- import { loadingFactory, pagingSelectPromp, random } from '../../../utils'
16
+ import { checkTcbrEnv, loadingFactory, logEnvCheck, pagingSelectPromp, random } from '../../../utils'
17
17
  import { InjectParams, EnvId, ArgsOptions } from '../../../decorators'
18
18
  import { versionCommonOptions } from './common'
19
+ import { EnumEnvCheck } from '../../../constant'
19
20
 
20
21
  const uploadTypeMap = {
21
22
  本地代码: 'package',
@@ -111,6 +112,12 @@ export class CreateVersion extends Command {
111
112
  /* eslint complexity: ["error", 40] */
112
113
  @InjectParams()
113
114
  async execute(@EnvId() envId, @ArgsOptions() options) {
115
+ let envCheckType = await checkTcbrEnv(options.envId, false)
116
+ if(envCheckType !== EnumEnvCheck.EnvFit) {
117
+ logEnvCheck(envId, envCheckType)
118
+ return
119
+ }
120
+
114
121
  let {
115
122
  serviceName = '',
116
123
  path: _path = '',
@@ -1,9 +1,10 @@
1
1
  import { Command, ICommand } from '../../common'
2
2
  import { CloudBaseError } from '../../../error'
3
3
  import { deleteVersion } from '../../../run'
4
- import { loadingFactory } from '../../../utils'
4
+ import { checkTcbrEnv, loadingFactory, logEnvCheck } from '../../../utils'
5
5
  import { InjectParams, EnvId, ArgsOptions } from '../../../decorators'
6
6
  import { versionCommonOptions } from './common'
7
+ import { EnumEnvCheck } from '../../../constant'
7
8
 
8
9
  @ICommand()
9
10
  export class DeleteVersion extends Command {
@@ -30,7 +31,12 @@ export class DeleteVersion extends Command {
30
31
 
31
32
  @InjectParams()
32
33
  async execute(@EnvId() envId, @ArgsOptions() options) {
33
-
34
+ let envCheckType = await checkTcbrEnv(options.envId, false)
35
+ if(envCheckType !== EnumEnvCheck.EnvFit) {
36
+ logEnvCheck(envId, envCheckType)
37
+ return
38
+ }
39
+
34
40
  let { serviceName = '', versionName = '' } = options
35
41
 
36
42
  if (versionName.length === 0 || serviceName.length === 0) {
@@ -1,5 +1,5 @@
1
- export * from './list'
2
- export * from './delete'
3
- export * from './modify'
4
- export * from './create'
1
+ export * from './list'
2
+ export * from './delete'
3
+ export * from './modify'
4
+ export * from './create'
5
5
  export * from './update'
@@ -1,9 +1,10 @@
1
1
  import { Command, ICommand } from '../../common'
2
2
  import { CloudBaseError } from '../../../error'
3
3
  import { listVersion } from '../../../run'
4
- import { printHorizontalTable, loadingFactory } from '../../../utils'
4
+ import { printHorizontalTable, loadingFactory, checkTcbrEnv, logEnvCheck } from '../../../utils'
5
5
  import { InjectParams, EnvId, ArgsOptions } from '../../../decorators'
6
6
  import { versionCommonOptions } from './common'
7
+ import { EnumEnvCheck } from '../../../constant'
7
8
 
8
9
  const StatusMap = {
9
10
  normal: '正常',
@@ -39,6 +40,11 @@ export class ListVersion extends Command {
39
40
 
40
41
  @InjectParams()
41
42
  async execute(@EnvId() envId, @ArgsOptions() options) {
43
+ let envCheckType = await checkTcbrEnv(options.envId, false)
44
+ if(envCheckType !== EnumEnvCheck.EnvFit) {
45
+ logEnvCheck(envId, envCheckType)
46
+ return
47
+ }
42
48
 
43
49
  let { limit = 20, offset = 0, serviceName = '' } = options
44
50
  limit = Number(limit)
@@ -2,9 +2,10 @@ import { prompt } from 'enquirer'
2
2
  import { Command, ICommand } from '../../common'
3
3
  import { CloudBaseError } from '../../../error'
4
4
  import { listVersion, modifyVersion } from '../../../run'
5
- import { loadingFactory, pagingSelectPromp } from '../../../utils'
5
+ import { checkTcbrEnv, loadingFactory, logEnvCheck, pagingSelectPromp } from '../../../utils'
6
6
  import { InjectParams, EnvId, ArgsOptions } from '../../../decorators'
7
7
  import { versionCommonOptions } from './common'
8
+ import { EnumEnvCheck } from '../../../constant'
8
9
 
9
10
  // 按百分比配置
10
11
  const modifyByFlow = async (envId: any, serviceName: string, mode: string) => {
@@ -118,6 +119,12 @@ export class ModifyVersion extends Command {
118
119
 
119
120
  @InjectParams()
120
121
  async execute(@EnvId() envId, @ArgsOptions() options) {
122
+ let envCheckType = await checkTcbrEnv(options.envId, false)
123
+ if(envCheckType !== EnumEnvCheck.EnvFit) {
124
+ logEnvCheck(envId, envCheckType)
125
+ return
126
+ }
127
+
121
128
  let { serviceName = '', traffic: _traffic = 'FLOW' } = options
122
129
  if (serviceName.length === 0) throw new CloudBaseError('请填入有效云托管服务名')
123
130
 
@@ -14,9 +14,10 @@ import {
14
14
  logCreate,
15
15
  describeRunVersion
16
16
  } from '../../../run'
17
- import { loadingFactory, pagingSelectPromp, random } from '../../../utils'
17
+ import { checkTcbrEnv, loadingFactory, logEnvCheck, pagingSelectPromp, random } from '../../../utils'
18
18
  import { InjectParams, EnvId, ArgsOptions } from '../../../decorators'
19
19
  import { versionCommonOptions } from './common'
20
+ import { EnumEnvCheck } from '../../../constant'
20
21
 
21
22
  const uploadTypeMap = {
22
23
  本地代码: 'package',
@@ -136,6 +137,12 @@ export class UpdateVersion extends Command {
136
137
 
137
138
  @InjectParams()
138
139
  async execute(@EnvId() envId, @ArgsOptions() options) {
140
+ let envCheckType = await checkTcbrEnv(options.envId, false)
141
+ if(envCheckType !== EnumEnvCheck.EnvFit) {
142
+ logEnvCheck(envId, envCheckType)
143
+ return
144
+ }
145
+
139
146
  let {
140
147
  serviceName = '',
141
148
  versionName = '',
@@ -1,132 +1,132 @@
1
- import fs from 'fs'
2
- import os from 'os'
3
- import _ from 'lodash'
4
- import path from 'path'
5
- import chalk from 'chalk'
6
- import { prompt } from 'enquirer'
7
- import { run } from '@cloudbase/framework-core'
8
- import { ConfigParser, getRegion } from '@cloudbase/toolbox'
9
- import {
10
- logger,
11
- getSelectedEnv,
12
- authSupevisor,
13
- loadingFactory,
14
- getSelectRegion,
15
- checkTcbService,
16
- getCloudBaseConfig,
17
- downloadTemplate,
18
- initProjectConfig
19
- } from '../utils'
20
- import * as Hosting from '../hosting'
21
- import * as Function from '../function'
22
- import { checkLogin } from '../auth'
23
-
24
- /**
25
- * 智能命令
26
- */
27
- export async function smartDeploy() {
28
- const loading = loadingFactory()
29
- loading.start('环境检测中')
30
-
31
- // 检查登录
32
- await checkLogin()
33
-
34
- // 检查是否开通 TCB 服务
35
- await checkTcbService()
36
-
37
- const files = fs.readdirSync(process.cwd())
38
-
39
- loading.stop()
40
-
41
- // 获取当前目录
42
- const home = os.homedir()
43
- const current = process.cwd()
44
- let relative = current
45
- if (current.indexOf(home) > -1) {
46
- relative = path.relative(home, current)
47
- }
48
-
49
- // 当期区域
50
- let region = await getRegion(true)
51
-
52
- // 当前目录为空,执行初始化项目操作
53
- if (!files.length) {
54
- logger.info('当前目录为空,初始化云开发项目\n')
55
- // 先选择 region,再选择环境
56
- region = await getSelectRegion()
57
- const envId = await getSelectedEnv()
58
- // 下载模板
59
- const projectPath = await downloadTemplate()
60
- await initProjectConfig(envId, region, projectPath)
61
- // 成功提示
62
- logger.success('初始化项目成功!\n')
63
- }
64
-
65
- // 初始化项目成功,或当前目录已经存在项目,继续使用 Framework 执行部署
66
- const { setup } = await prompt<any>({
67
- type: 'confirm',
68
- name: 'setup',
69
- message: `是否使用云开发部署当前项目 <${chalk.bold.cyan(relative)}> ?`,
70
- initial: true
71
- })
72
-
73
- if (!setup) {
74
- return
75
- }
76
-
77
- // 检测是否有 cloudbase 配置
78
- const config = await getCloudBaseConfig()
79
- let envId = config?.envId
80
-
81
- // 配置文件中不存在 region,选择 region
82
- if (!config?.region && !region) {
83
- region = await getSelectRegion()
84
- }
85
-
86
- // 配置文件不存在
87
- if (!envId) {
88
- envId = await getSelectedEnv()
89
- fs.writeFileSync(
90
- path.join(process.cwd(), 'cloudbaserc.json'),
91
- JSON.stringify({
92
- envId,
93
- region,
94
- version: '2.0',
95
- $schema: 'https://framework-1258016615.tcloudbaseapp.com/schema/latest.json'
96
- })
97
- )
98
- }
99
-
100
- // 把 region 写入到配置文件中
101
- const parser = new ConfigParser()
102
- parser.update('region', region)
103
-
104
- // 调用 Framework
105
- await callFramework(envId)
106
- }
107
-
108
- async function callFramework(envId: string) {
109
- const loginState = await authSupevisor.getLoginState()
110
- const { token, secretId, secretKey } = loginState
111
- const config = await getCloudBaseConfig()
112
-
113
- await run(
114
- {
115
- projectPath: process.cwd(),
116
- cloudbaseConfig: {
117
- secretId,
118
- secretKey,
119
- token,
120
- envId
121
- },
122
- config,
123
- logLevel: process.argv.includes('--verbose') ? 'debug' : 'info',
124
- resourceProviders: {
125
- hosting: Hosting,
126
- function: Function
127
- }
128
- },
129
- 'deploy',
130
- ''
131
- )
132
- }
1
+ import fs from 'fs'
2
+ import os from 'os'
3
+ import _ from 'lodash'
4
+ import path from 'path'
5
+ import chalk from 'chalk'
6
+ import { prompt } from 'enquirer'
7
+ import { run } from '@cloudbase/framework-core'
8
+ import { ConfigParser, getRegion } from '@cloudbase/toolbox'
9
+ import {
10
+ logger,
11
+ getSelectedEnv,
12
+ authSupevisor,
13
+ loadingFactory,
14
+ getSelectRegion,
15
+ checkTcbService,
16
+ getCloudBaseConfig,
17
+ downloadTemplate,
18
+ initProjectConfig
19
+ } from '../utils'
20
+ import * as Hosting from '../hosting'
21
+ import * as Function from '../function'
22
+ import { checkLogin } from '../auth'
23
+
24
+ /**
25
+ * 智能命令
26
+ */
27
+ export async function smartDeploy() {
28
+ const loading = loadingFactory()
29
+ loading.start('环境检测中')
30
+
31
+ // 检查登录
32
+ await checkLogin()
33
+
34
+ // 检查是否开通 TCB 服务
35
+ await checkTcbService()
36
+
37
+ const files = fs.readdirSync(process.cwd())
38
+
39
+ loading.stop()
40
+
41
+ // 获取当前目录
42
+ const home = os.homedir()
43
+ const current = process.cwd()
44
+ let relative = current
45
+ if (current.indexOf(home) > -1) {
46
+ relative = path.relative(home, current)
47
+ }
48
+
49
+ // 当期区域
50
+ let region = await getRegion(true)
51
+
52
+ // 当前目录为空,执行初始化项目操作
53
+ if (!files.length) {
54
+ logger.info('当前目录为空,初始化云开发项目\n')
55
+ // 先选择 region,再选择环境
56
+ region = await getSelectRegion()
57
+ const envId = await getSelectedEnv()
58
+ // 下载模板
59
+ const projectPath = await downloadTemplate()
60
+ await initProjectConfig(envId, region, projectPath)
61
+ // 成功提示
62
+ logger.success('初始化项目成功!\n')
63
+ }
64
+
65
+ // 初始化项目成功,或当前目录已经存在项目,继续使用 Framework 执行部署
66
+ const { setup } = await prompt<any>({
67
+ type: 'confirm',
68
+ name: 'setup',
69
+ message: `是否使用云开发部署当前项目 <${chalk.bold.cyan(relative)}> ?`,
70
+ initial: true
71
+ })
72
+
73
+ if (!setup) {
74
+ return
75
+ }
76
+
77
+ // 检测是否有 cloudbase 配置
78
+ const config = await getCloudBaseConfig()
79
+ let envId = config?.envId
80
+
81
+ // 配置文件中不存在 region,选择 region
82
+ if (!config?.region && !region) {
83
+ region = await getSelectRegion()
84
+ }
85
+
86
+ // 配置文件不存在
87
+ if (!envId) {
88
+ envId = await getSelectedEnv()
89
+ fs.writeFileSync(
90
+ path.join(process.cwd(), 'cloudbaserc.json'),
91
+ JSON.stringify({
92
+ envId,
93
+ region,
94
+ version: '2.0',
95
+ $schema: 'https://framework-1258016615.tcloudbaseapp.com/schema/latest.json'
96
+ })
97
+ )
98
+ }
99
+
100
+ // 把 region 写入到配置文件中
101
+ const parser = new ConfigParser()
102
+ parser.update('region', region)
103
+
104
+ // 调用 Framework
105
+ await callFramework(envId)
106
+ }
107
+
108
+ async function callFramework(envId: string) {
109
+ const loginState = await authSupevisor.getLoginState()
110
+ const { token, secretId, secretKey } = loginState
111
+ const config = await getCloudBaseConfig()
112
+
113
+ await run(
114
+ {
115
+ projectPath: process.cwd(),
116
+ cloudbaseConfig: {
117
+ secretId,
118
+ secretKey,
119
+ token,
120
+ envId
121
+ },
122
+ config,
123
+ logLevel: process.argv.includes('--verbose') ? 'debug' : 'info',
124
+ resourceProviders: {
125
+ hosting: Hosting,
126
+ function: Function
127
+ }
128
+ },
129
+ 'deploy',
130
+ ''
131
+ )
132
+ }