@cloudbase/cli 2.0.12-alpha.1 → 2.0.13

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 (244) hide show
  1. package/.vscode/launch.json +0 -10
  2. package/.vscode/settings.json +3 -0
  3. package/bin/cloudbase.js +0 -0
  4. package/bin/tcb.js +0 -0
  5. package/lib/commands/lowcode/app.js +2 -30
  6. package/lib/run/service/deployPackage.js +2 -9
  7. package/lib/utils/checkTcbrEnv.js +5 -4
  8. package/lib/utils/debug-logger.js +30 -0
  9. package/lib/utils/net/cloud-api-request.js +7 -1
  10. package/lib/utils/net/http-request.js +16 -5
  11. package/package.json +5 -4
  12. package/types/commands/lowcode/app.d.ts +0 -10
  13. package/types/utils/debug-logger.d.ts +1 -0
  14. package/types/utils/net/http-request.d.ts +6 -2
  15. package/.history/.gitignore_20220624162613 +0 -84
  16. package/.history/.gitignore_20220627114054 +0 -86
  17. package/.history/package_20220711204706.json +0 -88
  18. package/.history/package_20220711204818.json +0 -88
  19. package/.history/package_20220712151717.json +0 -88
  20. package/.history/src/commands/lowcode/app_20220624162613.ts +0 -34
  21. package/.history/src/commands/lowcode/app_20220627114205.ts +0 -52
  22. package/.history/src/index_20220624162613.ts +0 -13
  23. package/.history/src/index_20220627113609.ts +0 -15
  24. package/.history/src/index_20220627114102.ts +0 -13
  25. package/src/auth/index.ts +0 -2
  26. package/src/auth/login.ts +0 -91
  27. package/src/auth/logout.ts +0 -7
  28. package/src/commands/account/index.ts +0 -2
  29. package/src/commands/account/login.ts +0 -192
  30. package/src/commands/account/logout.ts +0 -24
  31. package/src/commands/common.ts +0 -246
  32. package/src/commands/env/base.ts +0 -90
  33. package/src/commands/env/create.ts +0 -92
  34. package/src/commands/env/domain.ts +0 -186
  35. package/src/commands/env/index.ts +0 -4
  36. package/src/commands/env/login.ts +0 -235
  37. package/src/commands/framework/index.ts +0 -124
  38. package/src/commands/functions/alias/getRoute.ts +0 -76
  39. package/src/commands/functions/alias/index.ts +0 -2
  40. package/src/commands/functions/alias/setRoute.ts +0 -82
  41. package/src/commands/functions/code-download.ts +0 -100
  42. package/src/commands/functions/code-update.ts +0 -62
  43. package/src/commands/functions/concurrency/delete.ts +0 -45
  44. package/src/commands/functions/concurrency/index.ts +0 -3
  45. package/src/commands/functions/concurrency/list.ts +0 -58
  46. package/src/commands/functions/concurrency/set.ts +0 -47
  47. package/src/commands/functions/config-update.ts +0 -76
  48. package/src/commands/functions/copy.ts +0 -62
  49. package/src/commands/functions/delete.ts +0 -79
  50. package/src/commands/functions/deploy.ts +0 -293
  51. package/src/commands/functions/detail.ts +0 -138
  52. package/src/commands/functions/index.ts +0 -16
  53. package/src/commands/functions/invoke.ts +0 -121
  54. package/src/commands/functions/layer/bind.ts +0 -182
  55. package/src/commands/functions/layer/common.ts +0 -8
  56. package/src/commands/functions/layer/create.ts +0 -49
  57. package/src/commands/functions/layer/delete.ts +0 -73
  58. package/src/commands/functions/layer/download.ts +0 -92
  59. package/src/commands/functions/layer/index.ts +0 -7
  60. package/src/commands/functions/layer/list.ts +0 -94
  61. package/src/commands/functions/layer/sort.ts +0 -76
  62. package/src/commands/functions/list.ts +0 -68
  63. package/src/commands/functions/log.ts +0 -148
  64. package/src/commands/functions/run.ts +0 -249
  65. package/src/commands/functions/trigger-create.ts +0 -79
  66. package/src/commands/functions/trigger-delete.ts +0 -105
  67. package/src/commands/functions/version/index.ts +0 -2
  68. package/src/commands/functions/version/list.ts +0 -73
  69. package/src/commands/functions/version/publish.ts +0 -43
  70. package/src/commands/gateway/create.ts +0 -109
  71. package/src/commands/gateway/delete.ts +0 -81
  72. package/src/commands/gateway/domain.ts +0 -159
  73. package/src/commands/gateway/index.ts +0 -5
  74. package/src/commands/gateway/list.ts +0 -76
  75. package/src/commands/gateway/switch.ts +0 -107
  76. package/src/commands/helpers/index.ts +0 -3
  77. package/src/commands/helpers/init.ts +0 -431
  78. package/src/commands/helpers/new.ts +0 -117
  79. package/src/commands/helpers/open.ts +0 -67
  80. package/src/commands/hosting/hosting.ts +0 -360
  81. package/src/commands/hosting/index.ts +0 -1
  82. package/src/commands/index.ts +0 -13
  83. package/src/commands/lowcode/app.ts +0 -52
  84. package/src/commands/lowcode/comps.ts +0 -325
  85. package/src/commands/lowcode/index.ts +0 -2
  86. package/src/commands/lowcode/utils.ts +0 -25
  87. package/src/commands/run/create.ts +0 -153
  88. package/src/commands/run/delete.ts +0 -77
  89. package/src/commands/run/image/common.ts +0 -8
  90. package/src/commands/run/image/delete.ts +0 -68
  91. package/src/commands/run/image/download.ts +0 -68
  92. package/src/commands/run/image/index.ts +0 -5
  93. package/src/commands/run/image/list.ts +0 -84
  94. package/src/commands/run/image/upload.ts +0 -76
  95. package/src/commands/run/index.ts +0 -7
  96. package/src/commands/run/list.ts +0 -83
  97. package/src/commands/run/service/config.ts +0 -81
  98. package/src/commands/run/service/create.ts +0 -122
  99. package/src/commands/run/service/deploy.ts +0 -125
  100. package/src/commands/run/service/index.ts +0 -5
  101. package/src/commands/run/service/list.ts +0 -94
  102. package/src/commands/run/service/update.ts +0 -108
  103. package/src/commands/run/standalonegateway/common.ts +0 -8
  104. package/src/commands/run/standalonegateway/create.ts +0 -85
  105. package/src/commands/run/standalonegateway/destroy.ts +0 -59
  106. package/src/commands/run/standalonegateway/index.ts +0 -5
  107. package/src/commands/run/standalonegateway/list.ts +0 -53
  108. package/src/commands/run/standalonegateway/package.ts +0 -62
  109. package/src/commands/run/standalonegateway/turn.ts +0 -63
  110. package/src/commands/run/version/common.ts +0 -8
  111. package/src/commands/run/version/create.ts +0 -369
  112. package/src/commands/run/version/delete.ts +0 -64
  113. package/src/commands/run/version/index.ts +0 -5
  114. package/src/commands/run/version/list.ts +0 -91
  115. package/src/commands/run/version/modify.ts +0 -137
  116. package/src/commands/run/version/update.ts +0 -398
  117. package/src/commands/smart.ts +0 -132
  118. package/src/commands/storage/index.ts +0 -1
  119. package/src/commands/storage/storage.ts +0 -464
  120. package/src/commands/third/index.ts +0 -1
  121. package/src/commands/third/thirdAttach.ts +0 -49
  122. package/src/completion/index.ts +0 -13
  123. package/src/constant.ts +0 -154
  124. package/src/decorators/captureError.ts +0 -25
  125. package/src/decorators/constants.ts +0 -12
  126. package/src/decorators/deprecate.ts +0 -25
  127. package/src/decorators/guard.ts +0 -42
  128. package/src/decorators/index.ts +0 -7
  129. package/src/decorators/injectParams.ts +0 -54
  130. package/src/decorators/params/common.ts +0 -28
  131. package/src/decorators/params/index.ts +0 -35
  132. package/src/env/domain.ts +0 -33
  133. package/src/env/index.ts +0 -63
  134. package/src/env/login.ts +0 -80
  135. package/src/error.ts +0 -36
  136. package/src/function/alias.ts +0 -43
  137. package/src/function/base.ts +0 -253
  138. package/src/function/code.ts +0 -55
  139. package/src/function/concurrency.ts +0 -57
  140. package/src/function/create.ts +0 -78
  141. package/src/function/delete.ts +0 -42
  142. package/src/function/index.ts +0 -11
  143. package/src/function/layer/attach.ts +0 -68
  144. package/src/function/layer/create.ts +0 -63
  145. package/src/function/layer/delete.ts +0 -21
  146. package/src/function/layer/download.ts +0 -54
  147. package/src/function/layer/index.ts +0 -7
  148. package/src/function/layer/list.ts +0 -32
  149. package/src/function/layer/sort.ts +0 -24
  150. package/src/function/trigger.ts +0 -97
  151. package/src/function/update.ts +0 -35
  152. package/src/function/version.ts +0 -39
  153. package/src/function/vpc.ts +0 -22
  154. package/src/gateway/index.ts +0 -137
  155. package/src/help.ts +0 -50
  156. package/src/hosting.ts +0 -212
  157. package/src/index.ts +0 -13
  158. package/src/logger.ts +0 -17
  159. package/src/run/create.ts +0 -23
  160. package/src/run/delete.ts +0 -15
  161. package/src/run/image/build.ts +0 -36
  162. package/src/run/image/delete.ts +0 -14
  163. package/src/run/image/index.ts +0 -4
  164. package/src/run/image/info.ts +0 -27
  165. package/src/run/image/list.ts +0 -23
  166. package/src/run/index.ts +0 -8
  167. package/src/run/list.ts +0 -30
  168. package/src/run/repo.ts +0 -25
  169. package/src/run/service/common.ts +0 -311
  170. package/src/run/service/config.ts +0 -77
  171. package/src/run/service/create.ts +0 -52
  172. package/src/run/service/deployPackage.ts +0 -65
  173. package/src/run/service/index.ts +0 -7
  174. package/src/run/service/list.ts +0 -29
  175. package/src/run/service/showLogs.ts +0 -98
  176. package/src/run/service/update.ts +0 -82
  177. package/src/run/standalonegateway/create.ts +0 -24
  178. package/src/run/standalonegateway/destroy.ts +0 -19
  179. package/src/run/standalonegateway/index.ts +0 -5
  180. package/src/run/standalonegateway/list.ts +0 -74
  181. package/src/run/standalonegateway/package/index.ts +0 -1
  182. package/src/run/standalonegateway/package/list.ts +0 -24
  183. package/src/run/standalonegateway/turn/index.ts +0 -2
  184. package/src/run/standalonegateway/turn/off.ts +0 -19
  185. package/src/run/standalonegateway/turn/on.ts +0 -19
  186. package/src/run/version/create.ts +0 -68
  187. package/src/run/version/delete.ts +0 -16
  188. package/src/run/version/index.ts +0 -6
  189. package/src/run/version/list.ts +0 -17
  190. package/src/run/version/modify.ts +0 -17
  191. package/src/run/version/repo.ts +0 -28
  192. package/src/run/version/update.ts +0 -59
  193. package/src/storage.ts +0 -114
  194. package/src/third/index.ts +0 -13
  195. package/src/types.ts +0 -672
  196. package/src/utils/auth.ts +0 -15
  197. package/src/utils/checkTcbrEnv.ts +0 -67
  198. package/src/utils/cli-table.ts +0 -23
  199. package/src/utils/commonParamsCheck.ts +0 -65
  200. package/src/utils/config.ts +0 -39
  201. package/src/utils/env.ts +0 -244
  202. package/src/utils/fs/del.ts +0 -5
  203. package/src/utils/fs/index.ts +0 -71
  204. package/src/utils/function-packer.ts +0 -97
  205. package/src/utils/index.ts +0 -25
  206. package/src/utils/log.ts +0 -82
  207. package/src/utils/net/cloud-api-request.ts +0 -62
  208. package/src/utils/net/credential.ts +0 -53
  209. package/src/utils/net/http-request.ts +0 -84
  210. package/src/utils/net/index.ts +0 -5
  211. package/src/utils/net/manager-service.ts +0 -36
  212. package/src/utils/net/proxy.ts +0 -6
  213. package/src/utils/notice.ts +0 -28
  214. package/src/utils/output/highlight.ts +0 -5
  215. package/src/utils/output/index.ts +0 -3
  216. package/src/utils/output/link.ts +0 -10
  217. package/src/utils/output/loading.ts +0 -82
  218. package/src/utils/parallel.ts +0 -82
  219. package/src/utils/platform/index.ts +0 -3
  220. package/src/utils/platform/mac.ts +0 -21
  221. package/src/utils/platform/os.ts +0 -64
  222. package/src/utils/platform/port.ts +0 -10
  223. package/src/utils/progress-bar.ts +0 -38
  224. package/src/utils/prompt/index.ts +0 -1
  225. package/src/utils/prompt/select.ts +0 -60
  226. package/src/utils/reporter/agree.ts +0 -20
  227. package/src/utils/reporter/download.ts +0 -26
  228. package/src/utils/reporter/index.ts +0 -3
  229. package/src/utils/reporter/usage.ts +0 -20
  230. package/src/utils/store/auth.ts +0 -49
  231. package/src/utils/store/common.ts +0 -8
  232. package/src/utils/store/db.ts +0 -68
  233. package/src/utils/store/index.ts +0 -5
  234. package/src/utils/store/usage.ts +0 -12
  235. package/src/utils/tcbrApi/callTcbrApi.ts +0 -28
  236. package/src/utils/tcbrApi/index.ts +0 -1
  237. package/src/utils/template.ts +0 -170
  238. package/src/utils/tools/encoding.ts +0 -8
  239. package/src/utils/tools/index.ts +0 -4
  240. package/src/utils/tools/object.ts +0 -33
  241. package/src/utils/tools/time.ts +0 -38
  242. package/src/utils/tools/uid.ts +0 -19
  243. package/src/utils/validator.ts +0 -65
  244. package/yarn-error.log +0 -12841
@@ -1,88 +0,0 @@
1
- {
2
- "name": "@cloudbase/cli",
3
- "version": "2.0.12-alpha.0",
4
- "description": "cli tool for cloudbase",
5
- "main": "lib/index.js",
6
- "scripts": {
7
- "build": "rimraf lib types && tsc",
8
- "watch": "rimraf lib types && tsc -w",
9
- "dev": "rimraf lib types && tsc -w",
10
- "eslint": "eslint \"./**/*.ts\"",
11
- "test": "jest --runInBand --forceExit --detectOpenHandles --coverage --verbose --testTimeout=10000",
12
- "tsc": "tsc",
13
- "pkg": "pkg ./bin/cloudbase.js --out-path ./pkg",
14
- "postinstall": "node ./post-install.js || exit 0"
15
- },
16
- "repository": {
17
- "type": "git",
18
- "url": "https://github.com/TencentCloudBase/cloud-base-cli.git"
19
- },
20
- "bin": {
21
- "tcb": "bin/tcb.js",
22
- "cloudbase": "bin/cloudbase.js"
23
- },
24
- "husky": {
25
- "hooks": {
26
- "pre-commit": "npm run build && git add ."
27
- }
28
- },
29
- "author": "cwuyiqing@gmail.com",
30
- "license": "ISC",
31
- "dependencies": {
32
- "@cloudbase/cloud-api": "^0.5.5",
33
- "@cloudbase/framework-core": "^1.6.1",
34
- "@cloudbase/lowcode-cli": "0.14.5-alpha.1",
35
- "@cloudbase/manager-node": "4.0.1",
36
- "@cloudbase/toolbox": "^0.7.3",
37
- "@sentry/node": "^5.10.2",
38
- "address": "^1.1.2",
39
- "chalk": "^2.4.2",
40
- "cli-table3": "^0.5.1",
41
- "commander": "7",
42
- "del": "^5.1.0",
43
- "didyoumean": "^1.2.2",
44
- "enquirer": "^2.3.6",
45
- "execa": "^4.0.3",
46
- "fs-extra": "^8.1.0",
47
- "https-proxy-agent": "^5.0.1",
48
- "inquirer": "^6.5.0",
49
- "lodash": "^4.17.21",
50
- "log-symbols": "^3.0.0",
51
- "lowdb": "^1.0.0",
52
- "make-dir": "^3.0.0",
53
- "node-fetch": "^2.6.0",
54
- "open": "^7.0.0",
55
- "ora": "^4.0.2",
56
- "portfinder": "^1.0.28",
57
- "progress": "^2.0.3",
58
- "query-string": "^6.8.1",
59
- "reflect-metadata": "^0.1.13",
60
- "semver": "^7.3.7",
61
- "tar-fs": "^2.0.1",
62
- "terminal-link": "^2.1.1",
63
- "unzipper": "^0.10.10",
64
- "update-notifier": "^4.0.0",
65
- "xdg-basedir": "^4.0.0",
66
- "yargs": "^16.2.0",
67
- "yargs-parser": "^21.0.1"
68
- },
69
- "devDependencies": {
70
- "@types/jest": "^27",
71
- "@types/koa__router": "^8.0.11",
72
- "@types/lodash": "^4.14.182",
73
- "@types/node": "^12.12.38",
74
- "@types/node-fetch": "^2.5.4",
75
- "@types/react": "^17.0.37",
76
- "@types/semver": "^7.3.9",
77
- "@types/webpack-dev-server": "^3.11.1",
78
- "@typescript-eslint/eslint-plugin": "^4.8.1",
79
- "@typescript-eslint/parser": "^4.8.1",
80
- "eslint": "^7.14.0",
81
- "eslint-config-alloy": "^3.8.2",
82
- "husky": "^3.0.9",
83
- "jest": "^27",
84
- "rimraf": "^3.0.2",
85
- "ts-jest": "^27",
86
- "typescript": "^4.7.2"
87
- }
88
- }
@@ -1,34 +0,0 @@
1
- import _ from 'lodash'
2
- import { Command, ICommand } from '../common'
3
- import { watchApp } from '@cloudbase/lowcode-cli'
4
- import { InjectParams, Log, Logger, CmdContext, ArgsOptions } from '../../decorators'
5
-
6
- @ICommand()
7
- export class LowCodeWatch extends Command {
8
- get options() {
9
- return {
10
- cmd: 'lowcode',
11
- childCmd: 'watch',
12
- options: [
13
- {
14
- flags: '--verbose',
15
- desc: '是否打印详细日志'
16
- },
17
- {
18
- flags: '--wx-devtool-path <wxDevtoolPath>',
19
- desc: '微信开发者工具的安装路径'
20
- }
21
- ],
22
- desc: '开启云开发低码的本地构建模式',
23
- requiredEnvId: false
24
- }
25
- }
26
-
27
- @InjectParams()
28
- async execute(@CmdContext() ctx, @ArgsOptions() options) {
29
- await watchApp({
30
- watchPort: 8288,
31
- wxDevtoolPath: options?.wxDevtoolPath,
32
- })
33
- }
34
- }
@@ -1,52 +0,0 @@
1
- import _ from 'lodash'
2
- import { Command, ICommand } from '../common'
3
- import { watchApp } from '@cloudbase/lowcode-cli'
4
- import { InjectParams, Log, Logger, CmdContext, ArgsOptions } from '../../decorators'
5
-
6
- @ICommand()
7
- export class LowCodeWatch extends Command {
8
- get options() {
9
- return {
10
- cmd: 'lowcode',
11
- childCmd: 'watch',
12
- options: [
13
- {
14
- flags: '--verbose',
15
- desc: '是否打印详细日志'
16
- },
17
- {
18
- flags: '--wx-devtool-path <wxDevtoolPath>',
19
- desc: '微信开发者工具的安装路径'
20
- }
21
- ],
22
- desc: '开启云开发低码的本地构建模式',
23
- requiredEnvId: false
24
- }
25
- }
26
-
27
- @InjectParams()
28
- async execute(@CmdContext() ctx, @ArgsOptions() options) {
29
- await watchApp({
30
- watchPort: 8288,
31
- wxDevtoolPath: options?.wxDevtoolPath
32
- })
33
- }
34
- }
35
-
36
- @ICommand()
37
- export class DanielWatch extends Command {
38
- get options() {
39
- return {
40
- cmd: 'lowcode',
41
- childCmd: 'watch-ws',
42
- options: [],
43
- desc: '开启云开发低码的本地开发模式',
44
- requiredEnvId: false
45
- }
46
- }
47
-
48
- @InjectParams()
49
- async execute(@CmdContext() ctx, @ArgsOptions() options) {
50
- console.log('>>> 启动啦')
51
- }
52
- }
@@ -1,13 +0,0 @@
1
- import 'reflect-metadata'
2
- import { registerCommands } from './commands/common'
3
- import './commands'
4
-
5
- export { smartDeploy } from './commands'
6
-
7
- registerCommands()
8
-
9
- // HACK: 部分依赖使用了 globalThis,会在 Node12 以下的版本报错
10
- if (typeof globalThis === undefined) {
11
- // eslint-disable-next-line no-undef
12
- ;(globalThis as any) = global
13
- }
@@ -1,15 +0,0 @@
1
- import 'reflect-metadata'
2
- import { registerCommands } from './commands/common'
3
- import './commands'
4
-
5
- export { smartDeploy } from './commands'
6
-
7
- registerCommands()
8
-
9
- // HACK: 部分依赖使用了 globalThis,会在 Node12 以下的版本报错
10
- if (typeof globalThis === undefined) {
11
- // eslint-disable-next-line no-undef
12
- ;(globalThis as any) = global
13
- }
14
-
15
- console.log("daniel tcb")
@@ -1,13 +0,0 @@
1
- import 'reflect-metadata'
2
- import { registerCommands } from './commands/common'
3
- import './commands'
4
-
5
- export { smartDeploy } from './commands'
6
-
7
- registerCommands()
8
-
9
- // HACK: 部分依赖使用了 globalThis,会在 Node12 以下的版本报错
10
- if (typeof globalThis === undefined) {
11
- // eslint-disable-next-line no-undef
12
- ;(globalThis as any) = global
13
- }
package/src/auth/index.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './login'
2
- export * from './logout'
package/src/auth/login.ts DELETED
@@ -1,91 +0,0 @@
1
- import _ from 'lodash'
2
- import { Credential } from '@cloudbase/toolbox'
3
- import { authSupevisor, checkAndGetCredential, execWithLoading, checkEnvAvaliable } from '../utils'
4
- import { ILoginOptions } from '../types'
5
- import { ENV_STATUS } from '../constant'
6
- import { Logger } from '../decorators'
7
- import { getEnvInfo } from '../env'
8
-
9
- const log = new Logger()
10
-
11
- // 登录返回 code 与信息
12
- const LoginRes = {
13
- SUCCESS: {
14
- code: 'SUCCESS',
15
- msg: '登录成功!'
16
- },
17
- INVALID_TOKEN: {
18
- code: 'INVALID_TOKEN',
19
- msg: '无效的身份信息!'
20
- },
21
- CHECK_LOGIN_FAILED: {
22
- code: 'CHECK_LOGIN_FAILED',
23
- msg: '检查登录态失败'
24
- },
25
- INVALID_PARAM(msg) {
26
- return {
27
- code: 'INVALID_PARAM',
28
- msg: `参数无效:${msg}`
29
- }
30
- }
31
- }
32
-
33
- // 打开腾讯云-云开发控制台,通过获取临时密钥登录,临时密钥可续期,最长时间为 1 个月
34
- export async function loginByWebAuth() {
35
- const credential = await authSupevisor.loginByWebAuth()
36
-
37
- if (_.isEmpty(credential)) {
38
- return LoginRes.INVALID_TOKEN
39
- }
40
-
41
- return {
42
- credential,
43
- ...LoginRes.SUCCESS
44
- }
45
- }
46
-
47
- // 使用密钥登录
48
- export async function loginWithKey(secretId?: string, secretKey?: string, token?: string) {
49
- if (!secretId || !secretKey) {
50
- return LoginRes.INVALID_PARAM('SecretID 或 SecretKey 不能为空')
51
- }
52
-
53
- const credential = await authSupevisor.loginByApiSecret(secretId, secretKey, token)
54
-
55
- if (_.isEmpty(credential)) {
56
- return LoginRes.INVALID_TOKEN
57
- }
58
-
59
- return LoginRes.SUCCESS
60
- }
61
-
62
- export async function login(
63
- options: ILoginOptions = {}
64
- ): Promise<{ code: string; msg: string; credential?: Credential }> {
65
- const { secretId, secretKey, key, token } = options
66
- return key ? loginWithKey(secretId, secretKey, token) : loginByWebAuth()
67
- }
68
-
69
- // 检查是否登录,没有登录时,自动拉起浏览器授权
70
- export async function checkLogin() {
71
- const credential = await checkAndGetCredential()
72
- // 没有登录,拉起 Web 登录
73
- if (_.isEmpty(credential)) {
74
- log.info('你还没有登录,请在控制台中授权登录')
75
-
76
- const res = await execWithLoading(() => login(), {
77
- startTip: '获取授权中...',
78
- successTip: '授权登录成功!'
79
- })
80
-
81
- const envId = res?.credential?.envId
82
-
83
- // 登录返回 envId,检查环境初始化
84
- if (envId) {
85
- const env = await getEnvInfo(envId)
86
- if (env.Status === ENV_STATUS.UNAVAILABLE) {
87
- await checkEnvAvaliable(envId)
88
- }
89
- }
90
- }
91
- }
@@ -1,7 +0,0 @@
1
- import { authSupevisor } from '../utils'
2
-
3
- // 注销登录信息
4
- export async function logout() {
5
- process.emit('logout')
6
- await authSupevisor.logout()
7
- }
@@ -1,2 +0,0 @@
1
- export * from './login'
2
- export * from './logout'
@@ -1,192 +0,0 @@
1
- import _ from 'lodash'
2
- import chalk from 'chalk'
3
- import inquirer from 'inquirer'
4
- import { Command, ICommand } from '../common'
5
- import { login } from '../../auth'
6
- import { listEnvs } from '../../env'
7
- import { CloudBaseError } from '../../error'
8
- import { InjectParams, ArgsOptions, Log, Logger } from '../../decorators'
9
- import {
10
- loadingFactory,
11
- usageStore,
12
- collectAgree,
13
- genClickableLink,
14
- checkAndGetCredential
15
- } from '../../utils'
16
-
17
- function printSuggestion() {
18
- const tips = `可使用下面命令继续操作:
19
-
20
- ${chalk.gray('–')} 创建免费环境
21
-
22
- ${chalk.cyan('$ tcb env create envName')}
23
-
24
- ${chalk.gray('–')} 初始化云开发项目
25
-
26
- ${chalk.cyan('$ tcb new')}
27
-
28
- ${chalk.gray('–')} 部署云函数
29
-
30
- ${chalk.cyan('$ tcb fn deploy')}
31
-
32
- ${chalk.gray('–')} 查看命令使用介绍
33
-
34
- ${chalk.cyan('$ tcb -h')}
35
-
36
- Tips:可以使用简写命令 tcb 代替 cloudbase`
37
- console.log(tips)
38
- }
39
-
40
- async function askForCollectDataConfirm() {
41
- const agree = await usageStore.get('agreeCollect')
42
- if (agree) return
43
- // 询问
44
- const { confirm } = await inquirer.prompt({
45
- type: 'confirm',
46
- name: 'confirm',
47
- message: '是否同意 Cloudbase CLI 收集您的使用数据以改进产品?',
48
- default: true
49
- })
50
-
51
- if (confirm) {
52
- await usageStore.set('agreeCollect', true)
53
- }
54
-
55
- await collectAgree(confirm)
56
- }
57
-
58
- @ICommand()
59
- export class LoginCommand extends Command {
60
- get options() {
61
- return {
62
- cmd: 'login',
63
- options: [
64
- {
65
- flags: '-k, --key',
66
- desc: '使用永久密钥登录'
67
- },
68
- {
69
- flags: '--apiKeyId <apiKeyId>',
70
- desc: '腾讯云 API 秘钥 Id'
71
- },
72
- {
73
- flags: '--apiKey <apiKey>',
74
- desc: '腾讯云 API 秘钥 Key'
75
- },
76
- {
77
- flags: '--token [token]',
78
- desc: '腾讯云 API 临时秘钥 Token'
79
- }
80
- ],
81
- desc: '登录腾讯云账号',
82
- requiredEnvId: false,
83
- withoutAuth: true
84
- }
85
- }
86
-
87
- @InjectParams()
88
- async execute(@ArgsOptions() options, @Log() log: Logger) {
89
- log.verbose(options)
90
- const { apiKeyId, apiKey, token } = options
91
- const loading = loadingFactory()
92
- loading.start('检验登录状态')
93
-
94
- const credential = await checkAndGetCredential()
95
-
96
- if (!_.isEmpty(credential)) {
97
- loading.succeed('您已登录,无需再次登录!')
98
- return
99
- } else {
100
- loading.stop()
101
- }
102
-
103
- // 通过参数传入 API Key,适用于 CI 场景
104
- if (apiKey && apiKeyId) {
105
- loading.start('正在验证腾讯云密钥...')
106
-
107
- const res = await login({
108
- token,
109
- key: true,
110
- secretKey: apiKey,
111
- secretId: apiKeyId
112
- })
113
-
114
- if (res.code === 'SUCCESS') {
115
- loading.succeed('登录成功!')
116
- printSuggestion()
117
- } else {
118
- loading.fail('腾讯云密钥验证失败,请检查密钥是否正确或终端网络是否可用!')
119
- return process.exit(1)
120
- }
121
- } else if (options.key) {
122
- // 兼容临时密钥和永久密钥登录
123
- const clickableLink = genClickableLink('https://console.cloud.tencent.com/cam/capi')
124
- console.log(`您可以访问 ${clickableLink} 获取 API 秘钥`)
125
-
126
- // 使用永久密钥登录
127
- const { secretId } = await inquirer.prompt({
128
- type: 'input',
129
- name: 'secretId',
130
- message: '请输入腾讯云 SecretID:'
131
- })
132
-
133
- const { secretKey } = await inquirer.prompt({
134
- type: 'input',
135
- name: 'secretKey',
136
- message: '请输入腾讯云 SecretKey:'
137
- })
138
-
139
- if (!secretId || !secretKey) {
140
- throw new CloudBaseError('SecretID 或 SecretKey 不能为空')
141
- }
142
-
143
- loading.start('正在验证腾讯云密钥...')
144
-
145
- const res = await login({
146
- key: true,
147
- secretId,
148
- secretKey
149
- })
150
-
151
- if (res.code === 'SUCCESS') {
152
- loading.succeed('登录成功!')
153
- await askForCollectDataConfirm()
154
- printSuggestion()
155
- } else {
156
- loading.fail('腾讯云密钥验证失败,请检查密钥是否正确或终端网络是否可用!')
157
- return process.exit(1)
158
- }
159
- } else {
160
- // 使用临时密钥登录-支持自动续期
161
- loading.start('获取授权中...')
162
- const res = await login()
163
-
164
- if (res.code === 'SUCCESS') {
165
- loading.succeed('登录成功!')
166
- await askForCollectDataConfirm()
167
- printSuggestion()
168
- } else {
169
- loading.fail(res.msg)
170
- console.log('Web 授权登录失败,秘钥校验失败!')
171
- return process.exit(1)
172
- }
173
- }
174
-
175
- // 检测用户是否存在,不存在则初始化
176
- try {
177
- const envs = await listEnvs()
178
- if (!envs.length) {
179
- log.warn('您还没有可用的环境,请使用 cloudbase env:create $name 创建环境')
180
- }
181
- } catch (e) {
182
- // 用户不存在
183
- // 主账户可以直接使用 env:create 完成初始化工作
184
- if (e.code === 'ResourceNotFound.UserNotExists') {
185
- log.error('您还没有可用的环境,请使用 cloudbase env:create $name 创建环境!')
186
- } else {
187
- console.error(e)
188
- throw e
189
- }
190
- }
191
- }
192
- }
@@ -1,24 +0,0 @@
1
- import { ICommand, Command } from '../common'
2
-
3
- import { logout } from '../../auth'
4
- import { InjectParams, Log, Logger } from '../../decorators'
5
-
6
- @ICommand()
7
- export class LogoutCommand extends Command {
8
- get options() {
9
- return {
10
- cmd: 'logout',
11
- options: [],
12
- desc: '登出腾讯云账号',
13
- requiredEnvId: false,
14
- withoutAuth: true
15
- }
16
- }
17
-
18
- @InjectParams()
19
- async execute(@Log() log: Logger) {
20
- await logout()
21
-
22
- log.success('注销登录成功!')
23
- }
24
- }