@cloudbase/cli 2.0.3 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) 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/LICENSE +5 -5
  7. package/README.md +35 -35
  8. package/bin/cloudbase.js +5 -5
  9. package/changelog.md +6 -6
  10. package/jest.config.js +17 -17
  11. package/lib/commands/account/login.js +18 -18
  12. package/lib/commands/run/list.js +2 -3
  13. package/lib/commands/storage/storage.js +1 -1
  14. package/lib/env/login.js +7 -7
  15. package/lib/utils/tcbrApi/callTcbrApi.js +2 -2
  16. package/package.json +3 -3
  17. package/post-install.js +61 -61
  18. package/runtime/nodejs/bootstrap.js +255 -255
  19. package/runtime/nodejs/runtime.js +183 -183
  20. package/src/auth/index.ts +1 -1
  21. package/src/auth/login.ts +91 -91
  22. package/src/auth/logout.ts +7 -7
  23. package/src/commands/account/index.ts +2 -2
  24. package/src/commands/account/login.ts +192 -192
  25. package/src/commands/account/logout.ts +24 -24
  26. package/src/commands/env/base.ts +90 -90
  27. package/src/commands/env/create.ts +92 -92
  28. package/src/commands/env/domain.ts +186 -186
  29. package/src/commands/env/index.ts +4 -4
  30. package/src/commands/env/login.ts +235 -235
  31. package/src/commands/framework/index.ts +124 -124
  32. package/src/commands/functions/alias/getRoute.ts +76 -76
  33. package/src/commands/functions/alias/index.ts +2 -2
  34. package/src/commands/functions/alias/setRoute.ts +82 -82
  35. package/src/commands/functions/code-download.ts +100 -100
  36. package/src/commands/functions/code-update.ts +62 -62
  37. package/src/commands/functions/concurrency/delete.ts +45 -45
  38. package/src/commands/functions/concurrency/index.ts +2 -2
  39. package/src/commands/functions/concurrency/list.ts +58 -58
  40. package/src/commands/functions/concurrency/set.ts +47 -47
  41. package/src/commands/functions/config-update.ts +76 -76
  42. package/src/commands/functions/copy.ts +62 -62
  43. package/src/commands/functions/delete.ts +79 -79
  44. package/src/commands/functions/deploy.ts +293 -293
  45. package/src/commands/functions/detail.ts +138 -138
  46. package/src/commands/functions/index.ts +16 -16
  47. package/src/commands/functions/invoke.ts +121 -121
  48. package/src/commands/functions/layer/bind.ts +182 -182
  49. package/src/commands/functions/layer/common.ts +8 -8
  50. package/src/commands/functions/layer/create.ts +49 -49
  51. package/src/commands/functions/layer/delete.ts +73 -73
  52. package/src/commands/functions/layer/download.ts +92 -92
  53. package/src/commands/functions/layer/index.ts +7 -7
  54. package/src/commands/functions/layer/list.ts +94 -94
  55. package/src/commands/functions/layer/sort.ts +76 -76
  56. package/src/commands/functions/list.ts +68 -68
  57. package/src/commands/functions/log.ts +148 -148
  58. package/src/commands/functions/run.ts +249 -249
  59. package/src/commands/functions/trigger-create.ts +79 -79
  60. package/src/commands/functions/trigger-delete.ts +105 -105
  61. package/src/commands/functions/version/index.ts +1 -1
  62. package/src/commands/functions/version/list.ts +73 -73
  63. package/src/commands/functions/version/publish.ts +43 -43
  64. package/src/commands/gateway/create.ts +109 -109
  65. package/src/commands/gateway/delete.ts +81 -81
  66. package/src/commands/gateway/domain.ts +159 -159
  67. package/src/commands/gateway/index.ts +5 -5
  68. package/src/commands/gateway/list.ts +76 -76
  69. package/src/commands/gateway/switch.ts +107 -107
  70. package/src/commands/helpers/index.ts +2 -2
  71. package/src/commands/helpers/init.ts +431 -431
  72. package/src/commands/helpers/new.ts +117 -117
  73. package/src/commands/helpers/open.ts +67 -67
  74. package/src/commands/hosting/hosting.ts +360 -360
  75. package/src/commands/index.ts +13 -13
  76. package/src/commands/lowcode/app.ts +34 -34
  77. package/src/commands/lowcode/comps.ts +322 -322
  78. package/src/commands/lowcode/index.ts +1 -1
  79. package/src/commands/lowcode/utils.ts +24 -24
  80. package/src/commands/run/image/index.ts +4 -4
  81. package/src/commands/run/list.ts +2 -3
  82. package/src/commands/run/standalonegateway/common.ts +7 -7
  83. package/src/commands/run/standalonegateway/create.ts +85 -85
  84. package/src/commands/run/standalonegateway/destroy.ts +59 -59
  85. package/src/commands/run/standalonegateway/index.ts +4 -4
  86. package/src/commands/run/standalonegateway/list.ts +53 -53
  87. package/src/commands/run/standalonegateway/package.ts +62 -62
  88. package/src/commands/run/standalonegateway/turn.ts +63 -63
  89. package/src/commands/run/version/index.ts +4 -4
  90. package/src/commands/smart.ts +132 -132
  91. package/src/commands/storage/storage.ts +464 -464
  92. package/src/commands/third/thirdAttach.ts +49 -49
  93. package/src/completion/index.ts +13 -13
  94. package/src/decorators/captureError.ts +25 -25
  95. package/src/decorators/constants.ts +12 -12
  96. package/src/decorators/deprecate.ts +25 -25
  97. package/src/decorators/guard.ts +42 -42
  98. package/src/decorators/index.ts +7 -7
  99. package/src/decorators/injectParams.ts +54 -54
  100. package/src/decorators/params/common.ts +28 -28
  101. package/src/decorators/params/index.ts +35 -35
  102. package/src/env/domain.ts +33 -33
  103. package/src/env/index.ts +63 -63
  104. package/src/env/login.ts +80 -80
  105. package/src/error.ts +36 -36
  106. package/src/function/alias.ts +43 -43
  107. package/src/function/base.ts +253 -253
  108. package/src/function/code.ts +55 -55
  109. package/src/function/concurrency.ts +57 -57
  110. package/src/function/create.ts +78 -78
  111. package/src/function/delete.ts +42 -42
  112. package/src/function/index.ts +10 -10
  113. package/src/function/layer/attach.ts +68 -68
  114. package/src/function/layer/create.ts +63 -63
  115. package/src/function/layer/delete.ts +21 -21
  116. package/src/function/layer/download.ts +54 -54
  117. package/src/function/layer/index.ts +7 -7
  118. package/src/function/layer/list.ts +32 -32
  119. package/src/function/layer/sort.ts +24 -24
  120. package/src/function/trigger.ts +97 -97
  121. package/src/function/update.ts +35 -35
  122. package/src/function/version.ts +38 -38
  123. package/src/function/vpc.ts +22 -22
  124. package/src/gateway/index.ts +137 -137
  125. package/src/hosting.ts +212 -212
  126. package/src/index.ts +13 -13
  127. package/src/logger.ts +17 -17
  128. package/src/run/create.ts +23 -23
  129. package/src/run/delete.ts +15 -15
  130. package/src/run/image/build.ts +36 -36
  131. package/src/run/image/delete.ts +13 -13
  132. package/src/run/image/index.ts +3 -3
  133. package/src/run/image/info.ts +26 -26
  134. package/src/run/list.ts +29 -29
  135. package/src/run/repo.ts +24 -24
  136. package/src/run/standalonegateway/create.ts +24 -24
  137. package/src/run/standalonegateway/destroy.ts +19 -19
  138. package/src/run/standalonegateway/index.ts +4 -4
  139. package/src/run/standalonegateway/list.ts +74 -74
  140. package/src/run/standalonegateway/package/list.ts +24 -24
  141. package/src/run/standalonegateway/turn/index.ts +1 -1
  142. package/src/run/standalonegateway/turn/off.ts +19 -19
  143. package/src/run/standalonegateway/turn/on.ts +19 -19
  144. package/src/run/version/create.ts +68 -68
  145. package/src/run/version/delete.ts +15 -15
  146. package/src/run/version/index.ts +5 -5
  147. package/src/run/version/list.ts +16 -16
  148. package/src/run/version/modify.ts +16 -16
  149. package/src/run/version/repo.ts +27 -27
  150. package/src/run/version/update.ts +58 -58
  151. package/src/storage.ts +114 -114
  152. package/src/third/index.ts +12 -12
  153. package/src/utils/auth.ts +15 -15
  154. package/src/utils/cli-table.ts +23 -23
  155. package/src/utils/config.ts +39 -39
  156. package/src/utils/env.ts +244 -244
  157. package/src/utils/fs/del.ts +5 -5
  158. package/src/utils/fs/index.ts +71 -71
  159. package/src/utils/function-packer.ts +97 -97
  160. package/src/utils/log.ts +81 -81
  161. package/src/utils/net/cloud-api-request.ts +62 -62
  162. package/src/utils/net/credential.ts +53 -53
  163. package/src/utils/net/index.ts +4 -4
  164. package/src/utils/net/manager-service.ts +36 -36
  165. package/src/utils/net/proxy.ts +6 -6
  166. package/src/utils/notice.ts +28 -28
  167. package/src/utils/output/highlight.ts +5 -5
  168. package/src/utils/output/index.ts +2 -2
  169. package/src/utils/output/link.ts +10 -10
  170. package/src/utils/output/loading.ts +82 -82
  171. package/src/utils/parallel.ts +82 -82
  172. package/src/utils/platform/index.ts +2 -2
  173. package/src/utils/platform/mac.ts +21 -21
  174. package/src/utils/platform/os.ts +64 -64
  175. package/src/utils/platform/port.ts +10 -10
  176. package/src/utils/progress-bar.ts +38 -38
  177. package/src/utils/prompt/select.ts +59 -59
  178. package/src/utils/reporter/agree.ts +20 -20
  179. package/src/utils/reporter/download.ts +26 -26
  180. package/src/utils/reporter/index.ts +3 -3
  181. package/src/utils/reporter/usage.ts +20 -20
  182. package/src/utils/store/auth.ts +49 -49
  183. package/src/utils/store/common.ts +8 -8
  184. package/src/utils/store/db.ts +68 -68
  185. package/src/utils/store/index.ts +4 -4
  186. package/src/utils/store/usage.ts +12 -12
  187. package/src/utils/tcbrApi/callTcbrApi.ts +1 -1
  188. package/src/utils/template.ts +170 -170
  189. package/src/utils/tools/encoding.ts +8 -8
  190. package/src/utils/tools/index.ts +4 -4
  191. package/src/utils/tools/object.ts +33 -33
  192. package/src/utils/tools/time.ts +38 -38
  193. package/src/utils/tools/uid.ts +19 -19
  194. package/templates/html/loginFail.html +90 -90
  195. package/templates/html/loginSuccess.html +86 -86
  196. package/templates/server/node/_gitignore +54 -54
  197. package/templates/server/node/cloudbaserc.json +10 -10
  198. package/templates/server/node/index.js +5 -5
  199. package/templates/server/node/package.json +9 -9
  200. package/tsconfig.json +19 -19
  201. package/tsconfig.test.json +13 -13
  202. package/.vscode/settings.json +0 -3
  203. package/lib/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.js +0 -268
  204. package/lib/utils/tcbrApi/tcbr-cloud-api/error.js +0 -17
  205. package/lib/utils/tcbrApi/tcbr-cloud-api/index.js +0 -17
  206. package/lib/utils/tcbrApi/tcbr-cloud-api/request.js +0 -40
  207. package/lib/utils/tcbrApi/tcbr-cloud-api-request.js +0 -61
  208. package/src/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.ts +0 -363
  209. package/src/utils/tcbrApi/tcbr-cloud-api/error.ts +0 -30
  210. package/src/utils/tcbrApi/tcbr-cloud-api/index.ts +0 -1
  211. package/src/utils/tcbrApi/tcbr-cloud-api/request.ts +0 -28
  212. package/src/utils/tcbrApi/tcbr-cloud-api-request.ts +0 -66
  213. package/types/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.d.ts +0 -51
  214. package/types/utils/tcbrApi/tcbr-cloud-api/error.d.ts +0 -20
  215. package/types/utils/tcbrApi/tcbr-cloud-api/index.d.ts +0 -1
  216. package/types/utils/tcbrApi/tcbr-cloud-api/request.d.ts +0 -4
  217. package/types/utils/tcbrApi/tcbr-cloud-api-request.d.ts +0 -9
@@ -1,49 +1,49 @@
1
- import { Command } from '../common'
2
- import { loadingFactory } from '../../utils'
3
- import { deleteThirdPartAttach } from '../../third'
4
- import { InjectParams, ArgsOptions } from '../../decorators'
5
-
6
- export class DeleteThirdAttach extends Command {
7
- get options() {
8
- return {
9
- cmd: 'third',
10
- childCmd: 'deleteThirdAttach',
11
- deprecateCmd: 'third:deleteThirdAttach',
12
- options: [
13
- {
14
- flags: '--source <source>',
15
- desc: '第三方来源'
16
- },
17
- {
18
- flags: '--thirdAppId <thirdAppId>',
19
- desc: '第三方appId'
20
- }
21
- ],
22
- desc: '解除第三方绑定',
23
- requiredEnvId: false
24
- }
25
- }
26
-
27
- @InjectParams()
28
- async execute(@ArgsOptions() options) {
29
- const { source, thirdAppId } = options
30
-
31
- let typeFlag
32
- if (source === 'qq') {
33
- typeFlag = 1
34
- }
35
-
36
- if (!typeFlag) {
37
- throw new Error('请指定对应的source')
38
- }
39
-
40
- const loading = loadingFactory()
41
- loading.start('数据加载中...')
42
- const data = await deleteThirdPartAttach({
43
- TypeFlag: typeFlag,
44
- ThirdPartAppid: thirdAppId
45
- })
46
- loading.stop()
47
- console.log(data)
48
- }
49
- }
1
+ import { Command } from '../common'
2
+ import { loadingFactory } from '../../utils'
3
+ import { deleteThirdPartAttach } from '../../third'
4
+ import { InjectParams, ArgsOptions } from '../../decorators'
5
+
6
+ export class DeleteThirdAttach extends Command {
7
+ get options() {
8
+ return {
9
+ cmd: 'third',
10
+ childCmd: 'deleteThirdAttach',
11
+ deprecateCmd: 'third:deleteThirdAttach',
12
+ options: [
13
+ {
14
+ flags: '--source <source>',
15
+ desc: '第三方来源'
16
+ },
17
+ {
18
+ flags: '--thirdAppId <thirdAppId>',
19
+ desc: '第三方appId'
20
+ }
21
+ ],
22
+ desc: '解除第三方绑定',
23
+ requiredEnvId: false
24
+ }
25
+ }
26
+
27
+ @InjectParams()
28
+ async execute(@ArgsOptions() options) {
29
+ const { source, thirdAppId } = options
30
+
31
+ let typeFlag
32
+ if (source === 'qq') {
33
+ typeFlag = 1
34
+ }
35
+
36
+ if (!typeFlag) {
37
+ throw new Error('请指定对应的source')
38
+ }
39
+
40
+ const loading = loadingFactory()
41
+ loading.start('数据加载中...')
42
+ const data = await deleteThirdPartAttach({
43
+ TypeFlag: typeFlag,
44
+ ThirdPartAppid: thirdAppId
45
+ })
46
+ loading.stop()
47
+ console.log(data)
48
+ }
49
+ }
@@ -1,13 +1,13 @@
1
- import { ALL_COMMANDS } from '../constant'
2
-
3
- export function handleCompletion({ reply, line }) {
4
- // 命令
5
- const cmd = line.replace(/^cloudbase\s|^tcb\s/, '')
6
-
7
- const commands = ALL_COMMANDS.filter(item => item.indexOf(cmd) > -1)
8
- if (commands.length > 0) {
9
- reply(commands)
10
- } else {
11
- reply(['-h', '-v'])
12
- }
13
- }
1
+ import { ALL_COMMANDS } from '../constant'
2
+
3
+ export function handleCompletion({ reply, line }) {
4
+ // 命令
5
+ const cmd = line.replace(/^cloudbase\s|^tcb\s/, '')
6
+
7
+ const commands = ALL_COMMANDS.filter(item => item.indexOf(cmd) > -1)
8
+ if (commands.length > 0) {
9
+ reply(commands)
10
+ } else {
11
+ reply(['-h', '-v'])
12
+ }
13
+ }
@@ -1,25 +1,25 @@
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
+ /**
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 +1,12 @@
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
+ 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 +1,25 @@
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
+ 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 +1,42 @@
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
+ 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 +1,7 @@
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
+ 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 +1,54 @@
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
+ 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 +1,28 @@
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
+ 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 +1,35 @@
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)
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 CHANGED
@@ -1,33 +1,33 @@
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
- }
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
+ }