@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.
- package/.history/.gitignore_20220624162613 +84 -0
- package/.history/.gitignore_20220627114054 +86 -0
- package/.history/package_20220711204706.json +88 -0
- package/.history/package_20220711204818.json +88 -0
- package/.history/package_20220712151717.json +88 -0
- package/.history/package_20220712212537.json +88 -0
- package/.history/package_20220722205058.json +88 -0
- package/.history/package_20220726110155.json +88 -0
- package/.history/package_20220726110201.json +88 -0
- package/.history/package_20220728110905.json +88 -0
- package/.history/package_20220728110936.json +88 -0
- package/.history/package_20220728111531.json +89 -0
- package/.history/package_20220728111810.json +89 -0
- package/.history/src/commands/lowcode/app_20220728111717.ts +52 -0
- package/{src/commands/lowcode/app.ts → .history/src/commands/lowcode/app_20220728112031.ts} +2 -2
- package/{src/index.ts → .history/src/index_20220624162613.ts} +0 -0
- package/.history/src/index_20220627113609.ts +15 -0
- package/.history/src/index_20220627114102.ts +13 -0
- package/.vscode/launch.json +10 -0
- package/bin/cloudbase.js +0 -0
- package/bin/tcb.js +5 -5
- package/lib/commands/account/login.js +3 -6
- package/lib/commands/env/index.js +0 -1
- package/lib/commands/lowcode/app.js +1 -1
- package/lib/commands/run/index.js +0 -1
- package/lib/commands/run/service/deploy.js +6 -1
- package/lib/commands/run/service/index.js +0 -1
- package/lib/commands/run/service/update.js +4 -0
- package/lib/constant.js +15 -1
- package/lib/env/index.js +1 -11
- package/lib/run/index.js +0 -1
- package/lib/run/service/common.js +20 -7
- package/lib/run/service/config.js +2 -3
- package/lib/run/service/deployPackage.js +2 -9
- package/lib/run/service/index.js +0 -1
- package/lib/run/service/update.js +1 -1
- package/lib/utils/debug-logger.js +30 -0
- package/lib/utils/net/cloud-api-request.js +7 -1
- package/lib/utils/net/http-request.js +16 -5
- package/package.json +2 -2
- package/types/commands/env/index.d.ts +0 -1
- package/types/commands/run/index.d.ts +0 -1
- package/types/commands/run/service/index.d.ts +0 -1
- package/types/env/index.d.ts +0 -6
- package/types/run/index.d.ts +0 -1
- package/types/run/service/common.d.ts +8 -1
- package/types/run/service/index.d.ts +0 -1
- package/types/types.d.ts +4 -0
- package/types/utils/debug-logger.d.ts +1 -0
- package/types/utils/net/http-request.d.ts +6 -2
- package/lib/commands/env/create.js +0 -115
- package/lib/commands/run/create.js +0 -162
- package/lib/commands/run/service/create.js +0 -144
- package/lib/run/create.js +0 -19
- package/lib/run/service/create.js +0 -67
- package/src/auth/index.ts +0 -2
- package/src/auth/login.ts +0 -91
- package/src/auth/logout.ts +0 -7
- package/src/commands/account/index.ts +0 -2
- package/src/commands/account/login.ts +0 -192
- package/src/commands/account/logout.ts +0 -24
- package/src/commands/common.ts +0 -246
- package/src/commands/env/base.ts +0 -90
- package/src/commands/env/create.ts +0 -92
- package/src/commands/env/domain.ts +0 -186
- package/src/commands/env/index.ts +0 -4
- package/src/commands/env/login.ts +0 -235
- package/src/commands/framework/index.ts +0 -124
- package/src/commands/functions/alias/getRoute.ts +0 -76
- package/src/commands/functions/alias/index.ts +0 -2
- package/src/commands/functions/alias/setRoute.ts +0 -82
- package/src/commands/functions/code-download.ts +0 -100
- package/src/commands/functions/code-update.ts +0 -62
- package/src/commands/functions/concurrency/delete.ts +0 -45
- package/src/commands/functions/concurrency/index.ts +0 -3
- package/src/commands/functions/concurrency/list.ts +0 -58
- package/src/commands/functions/concurrency/set.ts +0 -47
- package/src/commands/functions/config-update.ts +0 -76
- package/src/commands/functions/copy.ts +0 -62
- package/src/commands/functions/delete.ts +0 -79
- package/src/commands/functions/deploy.ts +0 -293
- package/src/commands/functions/detail.ts +0 -138
- package/src/commands/functions/index.ts +0 -16
- package/src/commands/functions/invoke.ts +0 -121
- package/src/commands/functions/layer/bind.ts +0 -182
- package/src/commands/functions/layer/common.ts +0 -8
- package/src/commands/functions/layer/create.ts +0 -49
- package/src/commands/functions/layer/delete.ts +0 -73
- package/src/commands/functions/layer/download.ts +0 -92
- package/src/commands/functions/layer/index.ts +0 -7
- package/src/commands/functions/layer/list.ts +0 -94
- package/src/commands/functions/layer/sort.ts +0 -76
- package/src/commands/functions/list.ts +0 -68
- package/src/commands/functions/log.ts +0 -148
- package/src/commands/functions/run.ts +0 -249
- package/src/commands/functions/trigger-create.ts +0 -79
- package/src/commands/functions/trigger-delete.ts +0 -105
- package/src/commands/functions/version/index.ts +0 -2
- package/src/commands/functions/version/list.ts +0 -73
- package/src/commands/functions/version/publish.ts +0 -43
- package/src/commands/gateway/create.ts +0 -109
- package/src/commands/gateway/delete.ts +0 -81
- package/src/commands/gateway/domain.ts +0 -159
- package/src/commands/gateway/index.ts +0 -5
- package/src/commands/gateway/list.ts +0 -76
- package/src/commands/gateway/switch.ts +0 -107
- package/src/commands/helpers/index.ts +0 -3
- package/src/commands/helpers/init.ts +0 -431
- package/src/commands/helpers/new.ts +0 -117
- package/src/commands/helpers/open.ts +0 -67
- package/src/commands/hosting/hosting.ts +0 -360
- package/src/commands/hosting/index.ts +0 -1
- package/src/commands/index.ts +0 -13
- package/src/commands/lowcode/comps.ts +0 -325
- package/src/commands/lowcode/index.ts +0 -2
- package/src/commands/lowcode/utils.ts +0 -25
- package/src/commands/run/create.ts +0 -153
- package/src/commands/run/delete.ts +0 -77
- package/src/commands/run/image/common.ts +0 -8
- package/src/commands/run/image/delete.ts +0 -68
- package/src/commands/run/image/download.ts +0 -68
- package/src/commands/run/image/index.ts +0 -5
- package/src/commands/run/image/list.ts +0 -84
- package/src/commands/run/image/upload.ts +0 -76
- package/src/commands/run/index.ts +0 -7
- package/src/commands/run/list.ts +0 -83
- package/src/commands/run/service/config.ts +0 -81
- package/src/commands/run/service/create.ts +0 -122
- package/src/commands/run/service/deploy.ts +0 -125
- package/src/commands/run/service/index.ts +0 -5
- package/src/commands/run/service/list.ts +0 -94
- package/src/commands/run/service/update.ts +0 -108
- package/src/commands/run/standalonegateway/common.ts +0 -8
- package/src/commands/run/standalonegateway/create.ts +0 -85
- package/src/commands/run/standalonegateway/destroy.ts +0 -59
- package/src/commands/run/standalonegateway/index.ts +0 -5
- package/src/commands/run/standalonegateway/list.ts +0 -53
- package/src/commands/run/standalonegateway/package.ts +0 -62
- package/src/commands/run/standalonegateway/turn.ts +0 -63
- package/src/commands/run/version/common.ts +0 -8
- package/src/commands/run/version/create.ts +0 -369
- package/src/commands/run/version/delete.ts +0 -64
- package/src/commands/run/version/index.ts +0 -5
- package/src/commands/run/version/list.ts +0 -91
- package/src/commands/run/version/modify.ts +0 -137
- package/src/commands/run/version/update.ts +0 -398
- package/src/commands/smart.ts +0 -132
- package/src/commands/storage/index.ts +0 -1
- package/src/commands/storage/storage.ts +0 -464
- package/src/commands/third/index.ts +0 -1
- package/src/commands/third/thirdAttach.ts +0 -49
- package/src/completion/index.ts +0 -13
- package/src/constant.ts +0 -154
- package/src/decorators/captureError.ts +0 -25
- package/src/decorators/constants.ts +0 -12
- package/src/decorators/deprecate.ts +0 -25
- package/src/decorators/guard.ts +0 -42
- package/src/decorators/index.ts +0 -7
- package/src/decorators/injectParams.ts +0 -54
- package/src/decorators/params/common.ts +0 -28
- package/src/decorators/params/index.ts +0 -35
- package/src/env/domain.ts +0 -33
- package/src/env/index.ts +0 -63
- package/src/env/login.ts +0 -80
- package/src/error.ts +0 -36
- package/src/function/alias.ts +0 -43
- package/src/function/base.ts +0 -253
- package/src/function/code.ts +0 -55
- package/src/function/concurrency.ts +0 -57
- package/src/function/create.ts +0 -78
- package/src/function/delete.ts +0 -42
- package/src/function/index.ts +0 -11
- package/src/function/layer/attach.ts +0 -68
- package/src/function/layer/create.ts +0 -63
- package/src/function/layer/delete.ts +0 -21
- package/src/function/layer/download.ts +0 -54
- package/src/function/layer/index.ts +0 -7
- package/src/function/layer/list.ts +0 -32
- package/src/function/layer/sort.ts +0 -24
- package/src/function/trigger.ts +0 -97
- package/src/function/update.ts +0 -35
- package/src/function/version.ts +0 -39
- package/src/function/vpc.ts +0 -22
- package/src/gateway/index.ts +0 -137
- package/src/help.ts +0 -50
- package/src/hosting.ts +0 -212
- package/src/logger.ts +0 -17
- package/src/run/create.ts +0 -23
- package/src/run/delete.ts +0 -15
- package/src/run/image/build.ts +0 -36
- package/src/run/image/delete.ts +0 -14
- package/src/run/image/index.ts +0 -4
- package/src/run/image/info.ts +0 -27
- package/src/run/image/list.ts +0 -23
- package/src/run/index.ts +0 -8
- package/src/run/list.ts +0 -30
- package/src/run/repo.ts +0 -25
- package/src/run/service/common.ts +0 -311
- package/src/run/service/config.ts +0 -77
- package/src/run/service/create.ts +0 -52
- package/src/run/service/deployPackage.ts +0 -65
- package/src/run/service/index.ts +0 -7
- package/src/run/service/list.ts +0 -29
- package/src/run/service/showLogs.ts +0 -98
- package/src/run/service/update.ts +0 -82
- package/src/run/standalonegateway/create.ts +0 -24
- package/src/run/standalonegateway/destroy.ts +0 -19
- package/src/run/standalonegateway/index.ts +0 -5
- package/src/run/standalonegateway/list.ts +0 -74
- package/src/run/standalonegateway/package/index.ts +0 -1
- package/src/run/standalonegateway/package/list.ts +0 -24
- package/src/run/standalonegateway/turn/index.ts +0 -2
- package/src/run/standalonegateway/turn/off.ts +0 -19
- package/src/run/standalonegateway/turn/on.ts +0 -19
- package/src/run/version/create.ts +0 -68
- package/src/run/version/delete.ts +0 -16
- package/src/run/version/index.ts +0 -6
- package/src/run/version/list.ts +0 -17
- package/src/run/version/modify.ts +0 -17
- package/src/run/version/repo.ts +0 -28
- package/src/run/version/update.ts +0 -59
- package/src/storage.ts +0 -114
- package/src/third/index.ts +0 -13
- package/src/types.ts +0 -672
- package/src/utils/auth.ts +0 -15
- package/src/utils/checkTcbrEnv.ts +0 -69
- package/src/utils/cli-table.ts +0 -23
- package/src/utils/commonParamsCheck.ts +0 -65
- package/src/utils/config.ts +0 -39
- package/src/utils/env.ts +0 -244
- package/src/utils/fs/del.ts +0 -5
- package/src/utils/fs/index.ts +0 -71
- package/src/utils/function-packer.ts +0 -97
- package/src/utils/index.ts +0 -25
- package/src/utils/log.ts +0 -82
- package/src/utils/net/cloud-api-request.ts +0 -62
- package/src/utils/net/credential.ts +0 -53
- package/src/utils/net/http-request.ts +0 -84
- package/src/utils/net/index.ts +0 -5
- package/src/utils/net/manager-service.ts +0 -36
- package/src/utils/net/proxy.ts +0 -6
- package/src/utils/notice.ts +0 -28
- package/src/utils/output/highlight.ts +0 -5
- package/src/utils/output/index.ts +0 -3
- package/src/utils/output/link.ts +0 -10
- package/src/utils/output/loading.ts +0 -82
- package/src/utils/parallel.ts +0 -82
- package/src/utils/platform/index.ts +0 -3
- package/src/utils/platform/mac.ts +0 -21
- package/src/utils/platform/os.ts +0 -64
- package/src/utils/platform/port.ts +0 -10
- package/src/utils/progress-bar.ts +0 -38
- package/src/utils/prompt/index.ts +0 -1
- package/src/utils/prompt/select.ts +0 -60
- package/src/utils/reporter/agree.ts +0 -20
- package/src/utils/reporter/download.ts +0 -26
- package/src/utils/reporter/index.ts +0 -3
- package/src/utils/reporter/usage.ts +0 -20
- package/src/utils/store/auth.ts +0 -49
- package/src/utils/store/common.ts +0 -8
- package/src/utils/store/db.ts +0 -68
- package/src/utils/store/index.ts +0 -5
- package/src/utils/store/usage.ts +0 -12
- package/src/utils/tcbrApi/callTcbrApi.ts +0 -28
- package/src/utils/tcbrApi/index.ts +0 -1
- package/src/utils/template.ts +0 -170
- package/src/utils/tools/encoding.ts +0 -8
- package/src/utils/tools/index.ts +0 -4
- package/src/utils/tools/object.ts +0 -33
- package/src/utils/tools/time.ts +0 -38
- package/src/utils/tools/uid.ts +0 -19
- package/src/utils/validator.ts +0 -65
- package/types/commands/env/create.d.ts +0 -12
- package/types/commands/run/create.d.ts +0 -13
- package/types/commands/run/service/create.d.ts +0 -13
- package/types/run/create.d.ts +0 -2
- 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
|
-
}
|
package/src/decorators/guard.ts
DELETED
|
@@ -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
|
-
}
|
package/src/decorators/index.ts
DELETED
|
@@ -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
|
-
}
|
package/src/function/alias.ts
DELETED
|
@@ -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
|
-
|