@cloudbase/cli 2.0.0 → 2.0.3-alpha.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 (206) 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/bin/tcb.js +6 -4
  10. package/changelog.md +6 -6
  11. package/jest.config.js +17 -17
  12. package/lib/commands/account/login.js +18 -18
  13. package/lib/commands/storage/storage.js +1 -1
  14. package/lib/env/login.js +7 -7
  15. package/lib/run/service/deployPackage.js +6 -4
  16. package/lib/utils/net/http-request.js +4 -4
  17. package/lib/utils/tcbrApi/tcbr-cloud-api/request.js +3 -3
  18. package/package.json +17 -17
  19. package/post-install.js +61 -61
  20. package/runtime/nodejs/bootstrap.js +255 -255
  21. package/runtime/nodejs/runtime.js +183 -183
  22. package/src/auth/index.ts +1 -1
  23. package/src/auth/login.ts +91 -91
  24. package/src/auth/logout.ts +7 -7
  25. package/src/commands/account/index.ts +2 -2
  26. package/src/commands/account/login.ts +192 -192
  27. package/src/commands/account/logout.ts +24 -24
  28. package/src/commands/common.ts +246 -246
  29. package/src/commands/env/base.ts +90 -90
  30. package/src/commands/env/create.ts +92 -92
  31. package/src/commands/env/domain.ts +186 -186
  32. package/src/commands/env/index.ts +4 -4
  33. package/src/commands/env/login.ts +235 -235
  34. package/src/commands/framework/index.ts +124 -124
  35. package/src/commands/functions/alias/getRoute.ts +76 -76
  36. package/src/commands/functions/alias/index.ts +2 -2
  37. package/src/commands/functions/alias/setRoute.ts +82 -82
  38. package/src/commands/functions/code-download.ts +100 -100
  39. package/src/commands/functions/code-update.ts +62 -62
  40. package/src/commands/functions/concurrency/delete.ts +45 -45
  41. package/src/commands/functions/concurrency/index.ts +2 -2
  42. package/src/commands/functions/concurrency/list.ts +58 -58
  43. package/src/commands/functions/concurrency/set.ts +47 -47
  44. package/src/commands/functions/config-update.ts +76 -76
  45. package/src/commands/functions/copy.ts +62 -62
  46. package/src/commands/functions/delete.ts +79 -79
  47. package/src/commands/functions/deploy.ts +293 -293
  48. package/src/commands/functions/detail.ts +138 -138
  49. package/src/commands/functions/index.ts +16 -16
  50. package/src/commands/functions/invoke.ts +121 -121
  51. package/src/commands/functions/layer/bind.ts +182 -182
  52. package/src/commands/functions/layer/common.ts +8 -8
  53. package/src/commands/functions/layer/create.ts +49 -49
  54. package/src/commands/functions/layer/delete.ts +73 -73
  55. package/src/commands/functions/layer/download.ts +92 -92
  56. package/src/commands/functions/layer/index.ts +7 -7
  57. package/src/commands/functions/layer/list.ts +94 -94
  58. package/src/commands/functions/layer/sort.ts +76 -76
  59. package/src/commands/functions/list.ts +68 -68
  60. package/src/commands/functions/log.ts +148 -148
  61. package/src/commands/functions/run.ts +249 -249
  62. package/src/commands/functions/trigger-create.ts +79 -79
  63. package/src/commands/functions/trigger-delete.ts +105 -105
  64. package/src/commands/functions/version/index.ts +1 -1
  65. package/src/commands/functions/version/list.ts +73 -73
  66. package/src/commands/functions/version/publish.ts +43 -43
  67. package/src/commands/gateway/create.ts +109 -109
  68. package/src/commands/gateway/delete.ts +81 -81
  69. package/src/commands/gateway/domain.ts +159 -159
  70. package/src/commands/gateway/index.ts +5 -5
  71. package/src/commands/gateway/list.ts +76 -76
  72. package/src/commands/gateway/switch.ts +107 -107
  73. package/src/commands/helpers/index.ts +2 -2
  74. package/src/commands/helpers/init.ts +431 -431
  75. package/src/commands/helpers/new.ts +117 -117
  76. package/src/commands/helpers/open.ts +67 -67
  77. package/src/commands/hosting/hosting.ts +360 -360
  78. package/src/commands/index.ts +13 -13
  79. package/src/commands/lowcode/app.ts +34 -34
  80. package/src/commands/lowcode/comps.ts +322 -322
  81. package/src/commands/lowcode/index.ts +1 -1
  82. package/src/commands/lowcode/utils.ts +24 -24
  83. package/src/commands/run/image/index.ts +4 -4
  84. package/src/commands/run/standalonegateway/common.ts +7 -7
  85. package/src/commands/run/standalonegateway/create.ts +85 -85
  86. package/src/commands/run/standalonegateway/destroy.ts +59 -59
  87. package/src/commands/run/standalonegateway/index.ts +4 -4
  88. package/src/commands/run/standalonegateway/list.ts +53 -53
  89. package/src/commands/run/standalonegateway/package.ts +62 -62
  90. package/src/commands/run/standalonegateway/turn.ts +63 -63
  91. package/src/commands/run/version/index.ts +4 -4
  92. package/src/commands/smart.ts +132 -132
  93. package/src/commands/storage/storage.ts +464 -464
  94. package/src/commands/third/thirdAttach.ts +49 -49
  95. package/src/completion/index.ts +13 -13
  96. package/src/decorators/captureError.ts +25 -25
  97. package/src/decorators/constants.ts +12 -12
  98. package/src/decorators/deprecate.ts +25 -25
  99. package/src/decorators/guard.ts +42 -42
  100. package/src/decorators/index.ts +7 -7
  101. package/src/decorators/injectParams.ts +54 -54
  102. package/src/decorators/params/common.ts +28 -28
  103. package/src/decorators/params/index.ts +35 -35
  104. package/src/env/domain.ts +33 -33
  105. package/src/env/index.ts +63 -63
  106. package/src/env/login.ts +80 -80
  107. package/src/error.ts +36 -36
  108. package/src/function/alias.ts +43 -43
  109. package/src/function/base.ts +253 -253
  110. package/src/function/code.ts +55 -55
  111. package/src/function/concurrency.ts +57 -57
  112. package/src/function/create.ts +78 -78
  113. package/src/function/delete.ts +42 -42
  114. package/src/function/index.ts +10 -10
  115. package/src/function/layer/attach.ts +68 -68
  116. package/src/function/layer/create.ts +63 -63
  117. package/src/function/layer/delete.ts +21 -21
  118. package/src/function/layer/download.ts +54 -54
  119. package/src/function/layer/index.ts +7 -7
  120. package/src/function/layer/list.ts +32 -32
  121. package/src/function/layer/sort.ts +24 -24
  122. package/src/function/trigger.ts +97 -97
  123. package/src/function/update.ts +35 -35
  124. package/src/function/version.ts +38 -38
  125. package/src/function/vpc.ts +22 -22
  126. package/src/gateway/index.ts +137 -137
  127. package/src/hosting.ts +212 -212
  128. package/src/index.ts +13 -13
  129. package/src/logger.ts +17 -17
  130. package/src/run/create.ts +23 -23
  131. package/src/run/delete.ts +15 -15
  132. package/src/run/image/build.ts +36 -36
  133. package/src/run/image/delete.ts +13 -13
  134. package/src/run/image/index.ts +3 -3
  135. package/src/run/image/info.ts +26 -26
  136. package/src/run/list.ts +29 -29
  137. package/src/run/repo.ts +24 -24
  138. package/src/run/service/deployPackage.ts +6 -4
  139. package/src/run/standalonegateway/create.ts +24 -24
  140. package/src/run/standalonegateway/destroy.ts +19 -19
  141. package/src/run/standalonegateway/index.ts +4 -4
  142. package/src/run/standalonegateway/list.ts +74 -74
  143. package/src/run/standalonegateway/package/list.ts +24 -24
  144. package/src/run/standalonegateway/turn/index.ts +1 -1
  145. package/src/run/standalonegateway/turn/off.ts +19 -19
  146. package/src/run/standalonegateway/turn/on.ts +19 -19
  147. package/src/run/version/create.ts +68 -68
  148. package/src/run/version/delete.ts +15 -15
  149. package/src/run/version/index.ts +5 -5
  150. package/src/run/version/list.ts +16 -16
  151. package/src/run/version/modify.ts +16 -16
  152. package/src/run/version/repo.ts +27 -27
  153. package/src/run/version/update.ts +58 -58
  154. package/src/storage.ts +114 -114
  155. package/src/third/index.ts +12 -12
  156. package/src/utils/auth.ts +15 -15
  157. package/src/utils/cli-table.ts +23 -23
  158. package/src/utils/config.ts +39 -39
  159. package/src/utils/env.ts +244 -244
  160. package/src/utils/fs/del.ts +5 -5
  161. package/src/utils/fs/index.ts +71 -71
  162. package/src/utils/function-packer.ts +97 -97
  163. package/src/utils/log.ts +81 -81
  164. package/src/utils/net/cloud-api-request.ts +62 -62
  165. package/src/utils/net/credential.ts +53 -53
  166. package/src/utils/net/http-request.ts +84 -84
  167. package/src/utils/net/index.ts +4 -4
  168. package/src/utils/net/manager-service.ts +36 -36
  169. package/src/utils/net/proxy.ts +6 -6
  170. package/src/utils/notice.ts +28 -28
  171. package/src/utils/output/highlight.ts +5 -5
  172. package/src/utils/output/index.ts +2 -2
  173. package/src/utils/output/link.ts +10 -10
  174. package/src/utils/output/loading.ts +82 -82
  175. package/src/utils/parallel.ts +82 -82
  176. package/src/utils/platform/index.ts +2 -2
  177. package/src/utils/platform/mac.ts +21 -21
  178. package/src/utils/platform/os.ts +64 -64
  179. package/src/utils/platform/port.ts +10 -10
  180. package/src/utils/progress-bar.ts +38 -38
  181. package/src/utils/prompt/select.ts +59 -59
  182. package/src/utils/reporter/agree.ts +20 -20
  183. package/src/utils/reporter/download.ts +26 -26
  184. package/src/utils/reporter/index.ts +3 -3
  185. package/src/utils/reporter/usage.ts +20 -20
  186. package/src/utils/store/auth.ts +49 -49
  187. package/src/utils/store/common.ts +8 -8
  188. package/src/utils/store/db.ts +68 -68
  189. package/src/utils/store/index.ts +4 -4
  190. package/src/utils/store/usage.ts +12 -12
  191. package/src/utils/tcbrApi/tcbr-cloud-api/request.ts +13 -13
  192. package/src/utils/template.ts +170 -170
  193. package/src/utils/tools/encoding.ts +8 -8
  194. package/src/utils/tools/index.ts +4 -4
  195. package/src/utils/tools/object.ts +33 -33
  196. package/src/utils/tools/time.ts +38 -38
  197. package/src/utils/tools/uid.ts +19 -19
  198. package/templates/html/loginFail.html +90 -90
  199. package/templates/html/loginSuccess.html +86 -86
  200. package/templates/server/node/_gitignore +54 -54
  201. package/templates/server/node/cloudbaserc.json +10 -10
  202. package/templates/server/node/index.js +5 -5
  203. package/templates/server/node/package.json +9 -9
  204. package/tsconfig.json +19 -19
  205. package/tsconfig.test.json +13 -13
  206. package/.vscode/settings.json +0 -3
@@ -1,20 +1,20 @@
1
- import { postFetch } from '../net'
2
- import { getMacAddressMd5, getOSInfo } from '../platform'
3
- import { getUin } from '../store'
4
-
5
- const url = 'https://tcli.service.tcloudbase.com/usage'
6
-
7
- export async function collectUsage(command: string) {
8
- const uin = await getUin()
9
- const macMd5 = await getMacAddressMd5()
10
- const os = await getOSInfo()
11
- const data = {
12
- os,
13
- uin,
14
- macMd5,
15
- command,
16
- version: process.CLI_VERSION
17
- }
18
-
19
- return postFetch(url, data)
20
- }
1
+ import { postFetch } from '../net'
2
+ import { getMacAddressMd5, getOSInfo } from '../platform'
3
+ import { getUin } from '../store'
4
+
5
+ const url = 'https://tcli.service.tcloudbase.com/usage'
6
+
7
+ export async function collectUsage(command: string) {
8
+ const uin = await getUin()
9
+ const macMd5 = await getMacAddressMd5()
10
+ const os = await getOSInfo()
11
+ const data = {
12
+ os,
13
+ uin,
14
+ macMd5,
15
+ command,
16
+ version: process.CLI_VERSION
17
+ }
18
+
19
+ return postFetch(url, data)
20
+ }
@@ -1,49 +1,49 @@
1
- import os from 'os'
2
- import fs from 'fs'
3
- import path from 'path'
4
- import { checkFullAccess } from '../fs'
5
- import { LocalStore } from './db'
6
- import { ConfigItems } from '../../constant'
7
-
8
- class AuthStore extends LocalStore {
9
- constructor(defaults) {
10
- super(defaults, 'auth')
11
- this.defaults = defaults
12
- this.moveOldConfig()
13
- }
14
-
15
- // TODO: 迁移并删除旧的配置文件中的数据(在后续迭代中删除)
16
- async moveOldConfig() {
17
- const db = await this.getDB()
18
- const oldConfigPath = path.resolve(
19
- os.homedir(),
20
- '.config',
21
- 'configstore',
22
- '@cloudbase',
23
- 'cli.json'
24
- )
25
-
26
- if (checkFullAccess(oldConfigPath)) {
27
- try {
28
- const content = JSON.parse(fs.readFileSync(oldConfigPath, 'utf8'))
29
- const { credential, ssh } = content
30
- await db.set(ConfigItems.credential, credential).write()
31
- await db.set(ConfigItems.ssh, ssh).write()
32
- fs.unlinkSync(oldConfigPath)
33
- } catch (e) {
34
- fs.unlinkSync(oldConfigPath)
35
- }
36
- }
37
- }
38
- }
39
-
40
- export const authStore = new AuthStore({
41
- _: '这是您的 CloudBase 身份凭据文件,请不要分享给他人!',
42
- [ConfigItems.credential]: {},
43
- [ConfigItems.ssh]: {}
44
- })
45
-
46
- export async function getUin() {
47
- const credential = await authStore.get(ConfigItems.credential)
48
- return credential?.uin || '无'
49
- }
1
+ import os from 'os'
2
+ import fs from 'fs'
3
+ import path from 'path'
4
+ import { checkFullAccess } from '../fs'
5
+ import { LocalStore } from './db'
6
+ import { ConfigItems } from '../../constant'
7
+
8
+ class AuthStore extends LocalStore {
9
+ constructor(defaults) {
10
+ super(defaults, 'auth')
11
+ this.defaults = defaults
12
+ this.moveOldConfig()
13
+ }
14
+
15
+ // TODO: 迁移并删除旧的配置文件中的数据(在后续迭代中删除)
16
+ async moveOldConfig() {
17
+ const db = await this.getDB()
18
+ const oldConfigPath = path.resolve(
19
+ os.homedir(),
20
+ '.config',
21
+ 'configstore',
22
+ '@cloudbase',
23
+ 'cli.json'
24
+ )
25
+
26
+ if (checkFullAccess(oldConfigPath)) {
27
+ try {
28
+ const content = JSON.parse(fs.readFileSync(oldConfigPath, 'utf8'))
29
+ const { credential, ssh } = content
30
+ await db.set(ConfigItems.credential, credential).write()
31
+ await db.set(ConfigItems.ssh, ssh).write()
32
+ fs.unlinkSync(oldConfigPath)
33
+ } catch (e) {
34
+ fs.unlinkSync(oldConfigPath)
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ export const authStore = new AuthStore({
41
+ _: '这是您的 CloudBase 身份凭据文件,请不要分享给他人!',
42
+ [ConfigItems.credential]: {},
43
+ [ConfigItems.ssh]: {}
44
+ })
45
+
46
+ export async function getUin() {
47
+ const credential = await authStore.get(ConfigItems.credential)
48
+ return credential?.uin || '无'
49
+ }
@@ -1,8 +1,8 @@
1
- import { LocalStore } from './db'
2
-
3
- export const commonStore = new LocalStore({
4
- // 已读最新消息的 uid
5
- lastNotificationUid: 1,
6
- // 上次通知时间
7
- lastNotifyTime: 0
8
- })
1
+ import { LocalStore } from './db'
2
+
3
+ export const commonStore = new LocalStore({
4
+ // 已读最新消息的 uid
5
+ lastNotificationUid: 1,
6
+ // 上次通知时间
7
+ lastNotifyTime: 0
8
+ })
@@ -1,68 +1,68 @@
1
- import os from 'os'
2
- import fse from 'fs-extra'
3
- import low from 'lowdb'
4
- import path from 'path'
5
- import FileAsync from 'lowdb/adapters/FileAsync'
6
- import FileSync from 'lowdb/adapters/FileSync'
7
- import xdgBasedir from 'xdg-basedir'
8
-
9
- // 系统配置目录
10
- const configDir = xdgBasedir.config || path.join(os.tmpdir(), '.config')
11
- // cloudbase 配置目录
12
- export const cloudbaseConfigDir = path.join(configDir, '.cloudbase')
13
-
14
- // 确保目录存在
15
-
16
- fse.ensureDirSync(cloudbaseConfigDir)
17
-
18
- export function getAsyncDB(file: string) {
19
- const dbPath = path.join(cloudbaseConfigDir, `${file}.json`)
20
- const adapter = new FileAsync(dbPath)
21
- const db = low(adapter)
22
- return db
23
- }
24
-
25
- export function getSyncDB(file: string) {
26
- const dbPath = path.join(cloudbaseConfigDir, `${file}.json`)
27
- const adapter = new FileSync(dbPath)
28
- const db = low(adapter)
29
- return db
30
- }
31
-
32
- export class LocalStore {
33
- db: any
34
- dbKey: string
35
- defaults: any
36
-
37
- constructor(defaults: any, dbKey = 'common') {
38
- this.defaults = defaults
39
- this.dbKey = dbKey
40
- }
41
-
42
- async getDB() {
43
- const db = this.db || (await getAsyncDB(this.dbKey))
44
- this.db = db
45
- return db
46
- }
47
-
48
- async get(key: string): Promise<any> {
49
- const defaultValue = this.defaults[key]
50
- const db = await this.getDB()
51
- return db.get(key).value() || defaultValue
52
- }
53
-
54
- async set(key: string, value: any) {
55
- const db = await this.getDB()
56
- await db.set(key, value).write()
57
- }
58
-
59
- async push(key: string, value: any) {
60
- const db = await this.getDB()
61
- await db.get(key).push(value).write()
62
- }
63
-
64
- async delete(key) {
65
- const db = await this.getDB()
66
- await db.unset(key).write()
67
- }
68
- }
1
+ import os from 'os'
2
+ import fse from 'fs-extra'
3
+ import low from 'lowdb'
4
+ import path from 'path'
5
+ import FileAsync from 'lowdb/adapters/FileAsync'
6
+ import FileSync from 'lowdb/adapters/FileSync'
7
+ import xdgBasedir from 'xdg-basedir'
8
+
9
+ // 系统配置目录
10
+ const configDir = xdgBasedir.config || path.join(os.tmpdir(), '.config')
11
+ // cloudbase 配置目录
12
+ export const cloudbaseConfigDir = path.join(configDir, '.cloudbase')
13
+
14
+ // 确保目录存在
15
+
16
+ fse.ensureDirSync(cloudbaseConfigDir)
17
+
18
+ export function getAsyncDB(file: string) {
19
+ const dbPath = path.join(cloudbaseConfigDir, `${file}.json`)
20
+ const adapter = new FileAsync(dbPath)
21
+ const db = low(adapter)
22
+ return db
23
+ }
24
+
25
+ export function getSyncDB(file: string) {
26
+ const dbPath = path.join(cloudbaseConfigDir, `${file}.json`)
27
+ const adapter = new FileSync(dbPath)
28
+ const db = low(adapter)
29
+ return db
30
+ }
31
+
32
+ export class LocalStore {
33
+ db: any
34
+ dbKey: string
35
+ defaults: any
36
+
37
+ constructor(defaults: any, dbKey = 'common') {
38
+ this.defaults = defaults
39
+ this.dbKey = dbKey
40
+ }
41
+
42
+ async getDB() {
43
+ const db = this.db || (await getAsyncDB(this.dbKey))
44
+ this.db = db
45
+ return db
46
+ }
47
+
48
+ async get(key: string): Promise<any> {
49
+ const defaultValue = this.defaults[key]
50
+ const db = await this.getDB()
51
+ return db.get(key).value() || defaultValue
52
+ }
53
+
54
+ async set(key: string, value: any) {
55
+ const db = await this.getDB()
56
+ await db.set(key, value).write()
57
+ }
58
+
59
+ async push(key: string, value: any) {
60
+ const db = await this.getDB()
61
+ await db.get(key).push(value).write()
62
+ }
63
+
64
+ async delete(key) {
65
+ const db = await this.getDB()
66
+ await db.unset(key).write()
67
+ }
68
+ }
@@ -1,5 +1,5 @@
1
- export * from './auth'
2
- export * from './db'
3
- export * from './auth'
4
- export * from './usage'
1
+ export * from './auth'
2
+ export * from './db'
3
+ export * from './auth'
4
+ export * from './usage'
5
5
  export * from './common'
@@ -1,12 +1,12 @@
1
- import { LocalStore } from './db'
2
-
3
- const DB_KEY = 'usage'
4
-
5
- export const usageStore = new LocalStore(
6
- {
7
- // 是否同意收集使用数据
8
- agreeCollect: false,
9
- commands: []
10
- },
11
- DB_KEY
12
- )
1
+ import { LocalStore } from './db'
2
+
3
+ const DB_KEY = 'usage'
4
+
5
+ export const usageStore = new LocalStore(
6
+ {
7
+ // 是否同意收集使用数据
8
+ agreeCollect: false,
9
+ commands: []
10
+ },
11
+ DB_KEY
12
+ )
@@ -1,28 +1,28 @@
1
1
  import { URL } from 'url'
2
2
  import _fetch, { RequestInit } from 'node-fetch'
3
- import HttpsProxyAgent from 'https-proxy-agent'
3
+ import { HttpsProxyAgent } from 'https-proxy-agent'
4
4
 
5
5
  export const nodeFetch = _fetch
6
6
 
7
7
  // 使用 fetch + 代理
8
8
  export async function fetch(url: string, config: RequestInit = {}, proxy = '') {
9
- if (proxy) {
10
- config.agent = new HttpsProxyAgent(proxy)
11
- }
9
+ if (proxy) {
10
+ config.agent = new HttpsProxyAgent(proxy)
11
+ }
12
12
 
13
- // 解决中文编码问题
14
- const escapeUrl = new URL(url).toString()
13
+ // 解决中文编码问题
14
+ const escapeUrl = new URL(url).toString()
15
15
 
16
- const res = await _fetch(escapeUrl, config)
17
- return res.json()
16
+ const res = await _fetch(escapeUrl, config)
17
+ return res.json()
18
18
  }
19
19
 
20
20
  export async function fetchStream(url: string, config: RequestInit = {}, proxy = '') {
21
- if (proxy) {
22
- config.agent = new HttpsProxyAgent(proxy)
23
- }
21
+ if (proxy) {
22
+ config.agent = new HttpsProxyAgent(proxy)
23
+ }
24
24
 
25
- const escapeUrl = new URL(url).toString()
25
+ const escapeUrl = new URL(url).toString()
26
26
 
27
- return _fetch(escapeUrl, config)
27
+ return _fetch(escapeUrl, config)
28
28
  }