@cloudbase/cli 2.0.3 → 2.0.4-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 (199) 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 +0 -0
  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/package.json +2 -2
  16. package/post-install.js +61 -61
  17. package/runtime/nodejs/bootstrap.js +255 -255
  18. package/runtime/nodejs/runtime.js +183 -183
  19. package/src/auth/index.ts +1 -1
  20. package/src/auth/login.ts +91 -91
  21. package/src/auth/logout.ts +7 -7
  22. package/src/commands/account/index.ts +2 -2
  23. package/src/commands/account/login.ts +192 -192
  24. package/src/commands/account/logout.ts +24 -24
  25. package/src/commands/env/base.ts +90 -90
  26. package/src/commands/env/create.ts +92 -92
  27. package/src/commands/env/domain.ts +186 -186
  28. package/src/commands/env/index.ts +4 -4
  29. package/src/commands/env/login.ts +235 -235
  30. package/src/commands/framework/index.ts +124 -124
  31. package/src/commands/functions/alias/getRoute.ts +76 -76
  32. package/src/commands/functions/alias/index.ts +2 -2
  33. package/src/commands/functions/alias/setRoute.ts +82 -82
  34. package/src/commands/functions/code-download.ts +100 -100
  35. package/src/commands/functions/code-update.ts +62 -62
  36. package/src/commands/functions/concurrency/delete.ts +45 -45
  37. package/src/commands/functions/concurrency/index.ts +2 -2
  38. package/src/commands/functions/concurrency/list.ts +58 -58
  39. package/src/commands/functions/concurrency/set.ts +47 -47
  40. package/src/commands/functions/config-update.ts +76 -76
  41. package/src/commands/functions/copy.ts +62 -62
  42. package/src/commands/functions/delete.ts +79 -79
  43. package/src/commands/functions/deploy.ts +293 -293
  44. package/src/commands/functions/detail.ts +138 -138
  45. package/src/commands/functions/index.ts +16 -16
  46. package/src/commands/functions/invoke.ts +121 -121
  47. package/src/commands/functions/layer/bind.ts +182 -182
  48. package/src/commands/functions/layer/common.ts +8 -8
  49. package/src/commands/functions/layer/create.ts +49 -49
  50. package/src/commands/functions/layer/delete.ts +73 -73
  51. package/src/commands/functions/layer/download.ts +92 -92
  52. package/src/commands/functions/layer/index.ts +7 -7
  53. package/src/commands/functions/layer/list.ts +94 -94
  54. package/src/commands/functions/layer/sort.ts +76 -76
  55. package/src/commands/functions/list.ts +68 -68
  56. package/src/commands/functions/log.ts +148 -148
  57. package/src/commands/functions/run.ts +249 -249
  58. package/src/commands/functions/trigger-create.ts +79 -79
  59. package/src/commands/functions/trigger-delete.ts +105 -105
  60. package/src/commands/functions/version/index.ts +1 -1
  61. package/src/commands/functions/version/list.ts +73 -73
  62. package/src/commands/functions/version/publish.ts +43 -43
  63. package/src/commands/gateway/create.ts +109 -109
  64. package/src/commands/gateway/delete.ts +81 -81
  65. package/src/commands/gateway/domain.ts +159 -159
  66. package/src/commands/gateway/index.ts +5 -5
  67. package/src/commands/gateway/list.ts +76 -76
  68. package/src/commands/gateway/switch.ts +107 -107
  69. package/src/commands/helpers/index.ts +2 -2
  70. package/src/commands/helpers/init.ts +431 -431
  71. package/src/commands/helpers/new.ts +117 -117
  72. package/src/commands/helpers/open.ts +67 -67
  73. package/src/commands/hosting/hosting.ts +360 -360
  74. package/src/commands/index.ts +13 -13
  75. package/src/commands/lowcode/app.ts +34 -34
  76. package/src/commands/lowcode/comps.ts +322 -322
  77. package/src/commands/lowcode/index.ts +1 -1
  78. package/src/commands/lowcode/utils.ts +24 -24
  79. package/src/commands/run/image/index.ts +4 -4
  80. package/src/commands/run/standalonegateway/common.ts +7 -7
  81. package/src/commands/run/standalonegateway/create.ts +85 -85
  82. package/src/commands/run/standalonegateway/destroy.ts +59 -59
  83. package/src/commands/run/standalonegateway/index.ts +4 -4
  84. package/src/commands/run/standalonegateway/list.ts +53 -53
  85. package/src/commands/run/standalonegateway/package.ts +62 -62
  86. package/src/commands/run/standalonegateway/turn.ts +63 -63
  87. package/src/commands/run/version/index.ts +4 -4
  88. package/src/commands/smart.ts +132 -132
  89. package/src/commands/storage/storage.ts +464 -464
  90. package/src/commands/third/thirdAttach.ts +49 -49
  91. package/src/completion/index.ts +13 -13
  92. package/src/decorators/captureError.ts +25 -25
  93. package/src/decorators/constants.ts +12 -12
  94. package/src/decorators/deprecate.ts +25 -25
  95. package/src/decorators/guard.ts +42 -42
  96. package/src/decorators/index.ts +7 -7
  97. package/src/decorators/injectParams.ts +54 -54
  98. package/src/decorators/params/common.ts +28 -28
  99. package/src/decorators/params/index.ts +35 -35
  100. package/src/env/domain.ts +33 -33
  101. package/src/env/index.ts +63 -63
  102. package/src/env/login.ts +80 -80
  103. package/src/error.ts +36 -36
  104. package/src/function/alias.ts +43 -43
  105. package/src/function/base.ts +253 -253
  106. package/src/function/code.ts +55 -55
  107. package/src/function/concurrency.ts +57 -57
  108. package/src/function/create.ts +78 -78
  109. package/src/function/delete.ts +42 -42
  110. package/src/function/index.ts +10 -10
  111. package/src/function/layer/attach.ts +68 -68
  112. package/src/function/layer/create.ts +63 -63
  113. package/src/function/layer/delete.ts +21 -21
  114. package/src/function/layer/download.ts +54 -54
  115. package/src/function/layer/index.ts +7 -7
  116. package/src/function/layer/list.ts +32 -32
  117. package/src/function/layer/sort.ts +24 -24
  118. package/src/function/trigger.ts +97 -97
  119. package/src/function/update.ts +35 -35
  120. package/src/function/version.ts +38 -38
  121. package/src/function/vpc.ts +22 -22
  122. package/src/gateway/index.ts +137 -137
  123. package/src/hosting.ts +212 -212
  124. package/src/index.ts +13 -13
  125. package/src/logger.ts +17 -17
  126. package/src/run/create.ts +23 -23
  127. package/src/run/delete.ts +15 -15
  128. package/src/run/image/build.ts +36 -36
  129. package/src/run/image/delete.ts +13 -13
  130. package/src/run/image/index.ts +3 -3
  131. package/src/run/image/info.ts +26 -26
  132. package/src/run/list.ts +29 -29
  133. package/src/run/repo.ts +24 -24
  134. package/src/run/standalonegateway/create.ts +24 -24
  135. package/src/run/standalonegateway/destroy.ts +19 -19
  136. package/src/run/standalonegateway/index.ts +4 -4
  137. package/src/run/standalonegateway/list.ts +74 -74
  138. package/src/run/standalonegateway/package/list.ts +24 -24
  139. package/src/run/standalonegateway/turn/index.ts +1 -1
  140. package/src/run/standalonegateway/turn/off.ts +19 -19
  141. package/src/run/standalonegateway/turn/on.ts +19 -19
  142. package/src/run/version/create.ts +68 -68
  143. package/src/run/version/delete.ts +15 -15
  144. package/src/run/version/index.ts +5 -5
  145. package/src/run/version/list.ts +16 -16
  146. package/src/run/version/modify.ts +16 -16
  147. package/src/run/version/repo.ts +27 -27
  148. package/src/run/version/update.ts +58 -58
  149. package/src/storage.ts +114 -114
  150. package/src/third/index.ts +12 -12
  151. package/src/utils/auth.ts +15 -15
  152. package/src/utils/cli-table.ts +23 -23
  153. package/src/utils/config.ts +39 -39
  154. package/src/utils/env.ts +244 -244
  155. package/src/utils/fs/del.ts +5 -5
  156. package/src/utils/fs/index.ts +71 -71
  157. package/src/utils/function-packer.ts +97 -97
  158. package/src/utils/log.ts +81 -81
  159. package/src/utils/net/cloud-api-request.ts +62 -62
  160. package/src/utils/net/credential.ts +53 -53
  161. package/src/utils/net/index.ts +4 -4
  162. package/src/utils/net/manager-service.ts +36 -36
  163. package/src/utils/net/proxy.ts +6 -6
  164. package/src/utils/notice.ts +28 -28
  165. package/src/utils/output/highlight.ts +5 -5
  166. package/src/utils/output/index.ts +2 -2
  167. package/src/utils/output/link.ts +10 -10
  168. package/src/utils/output/loading.ts +82 -82
  169. package/src/utils/parallel.ts +82 -82
  170. package/src/utils/platform/index.ts +2 -2
  171. package/src/utils/platform/mac.ts +21 -21
  172. package/src/utils/platform/os.ts +64 -64
  173. package/src/utils/platform/port.ts +10 -10
  174. package/src/utils/progress-bar.ts +38 -38
  175. package/src/utils/prompt/select.ts +59 -59
  176. package/src/utils/reporter/agree.ts +20 -20
  177. package/src/utils/reporter/download.ts +26 -26
  178. package/src/utils/reporter/index.ts +3 -3
  179. package/src/utils/reporter/usage.ts +20 -20
  180. package/src/utils/store/auth.ts +49 -49
  181. package/src/utils/store/common.ts +8 -8
  182. package/src/utils/store/db.ts +68 -68
  183. package/src/utils/store/index.ts +4 -4
  184. package/src/utils/store/usage.ts +12 -12
  185. package/src/utils/template.ts +170 -170
  186. package/src/utils/tools/encoding.ts +8 -8
  187. package/src/utils/tools/index.ts +4 -4
  188. package/src/utils/tools/object.ts +33 -33
  189. package/src/utils/tools/time.ts +38 -38
  190. package/src/utils/tools/uid.ts +19 -19
  191. package/templates/html/loginFail.html +90 -90
  192. package/templates/html/loginSuccess.html +86 -86
  193. package/templates/server/node/_gitignore +54 -54
  194. package/templates/server/node/cloudbaserc.json +10 -10
  195. package/templates/server/node/index.js +5 -5
  196. package/templates/server/node/package.json +9 -9
  197. package/tsconfig.json +19 -19
  198. package/tsconfig.test.json +13 -13
  199. package/.vscode/settings.json +0 -3
@@ -1,21 +1,21 @@
1
- import address from 'address'
2
- import { md5 } from '../tools'
3
-
4
- // 获取本机 Mac 地址
5
- export function getMacAddress(): Promise<string> {
6
- return new Promise(resolve => {
7
- address.mac((err, mac) => {
8
- if (err) {
9
- resolve('')
10
- return
11
- }
12
- resolve(mac)
13
- })
14
- })
15
- }
16
-
17
- export async function getMacAddressMd5(): Promise<string> {
18
- const mac = await getMacAddress()
19
- const macMD5 = md5(mac)
20
- return macMD5
21
- }
1
+ import address from 'address'
2
+ import { md5 } from '../tools'
3
+
4
+ // 获取本机 Mac 地址
5
+ export function getMacAddress(): Promise<string> {
6
+ return new Promise(resolve => {
7
+ address.mac((err, mac) => {
8
+ if (err) {
9
+ resolve('')
10
+ return
11
+ }
12
+ resolve(mac)
13
+ })
14
+ })
15
+ }
16
+
17
+ export async function getMacAddressMd5(): Promise<string> {
18
+ const mac = await getMacAddress()
19
+ const macMD5 = md5(mac)
20
+ return macMD5
21
+ }
@@ -1,64 +1,64 @@
1
- import os from 'os'
2
-
3
- const macOSMap = new Map([
4
- [19, 'Catalina'],
5
- [18, 'Mojave'],
6
- [17, 'High Sierra'],
7
- [16, 'Sierra'],
8
- [15, 'El Capitan'],
9
- [14, 'Yosemite'],
10
- [13, 'Mavericks'],
11
- [12, 'Mountain Lion'],
12
- [11, 'Lion'],
13
- [10, 'Snow Leopard'],
14
- [9, 'Leopard'],
15
- [8, 'Tiger'],
16
- [7, 'Panther'],
17
- [6, 'Jaguar'],
18
- [5, 'Puma']
19
- ])
20
-
21
- const winMap = new Map([
22
- ['10.0', '10'],
23
- ['6.3', '8.1'],
24
- ['6.2', '8'],
25
- ['6.1', '7'],
26
- ['6.0', 'Vista'],
27
- ['5.2', 'Server 2003'],
28
- ['5.1', 'XP'],
29
- ['5.0', '2000'],
30
- ['4.9', 'ME'],
31
- ['4.1', '98'],
32
- ['4.0', '95']
33
- ])
34
-
35
- export function getPlatformRelease(platform: string, release: string) {
36
- // macOS
37
- if (platform === 'darwin') {
38
- const releaseNum = Number(release.split('.')[0])
39
- const name = macOSMap.get(releaseNum)
40
- const version = '10.' + (releaseNum - 4)
41
- return `${name} ${version}`
42
- }
43
-
44
- // windows
45
- if (platform === 'win32') {
46
- const version = (/\d+\.\d/.exec(release) || [])[0]
47
-
48
- return `Windows ${winMap.get(version)}`
49
- }
50
-
51
- // 其他 Linux
52
- return 'Linux'
53
- }
54
-
55
- // 获取 hostname 和平台信息
56
- export function getOSInfo() {
57
- const hostname = os.hostname()
58
- const platform = os.platform()
59
- const release = os.release()
60
-
61
- const platformRelease = getPlatformRelease(platform, release)
62
-
63
- return [hostname, platformRelease].join('/')
64
- }
1
+ import os from 'os'
2
+
3
+ const macOSMap = new Map([
4
+ [19, 'Catalina'],
5
+ [18, 'Mojave'],
6
+ [17, 'High Sierra'],
7
+ [16, 'Sierra'],
8
+ [15, 'El Capitan'],
9
+ [14, 'Yosemite'],
10
+ [13, 'Mavericks'],
11
+ [12, 'Mountain Lion'],
12
+ [11, 'Lion'],
13
+ [10, 'Snow Leopard'],
14
+ [9, 'Leopard'],
15
+ [8, 'Tiger'],
16
+ [7, 'Panther'],
17
+ [6, 'Jaguar'],
18
+ [5, 'Puma']
19
+ ])
20
+
21
+ const winMap = new Map([
22
+ ['10.0', '10'],
23
+ ['6.3', '8.1'],
24
+ ['6.2', '8'],
25
+ ['6.1', '7'],
26
+ ['6.0', 'Vista'],
27
+ ['5.2', 'Server 2003'],
28
+ ['5.1', 'XP'],
29
+ ['5.0', '2000'],
30
+ ['4.9', 'ME'],
31
+ ['4.1', '98'],
32
+ ['4.0', '95']
33
+ ])
34
+
35
+ export function getPlatformRelease(platform: string, release: string) {
36
+ // macOS
37
+ if (platform === 'darwin') {
38
+ const releaseNum = Number(release.split('.')[0])
39
+ const name = macOSMap.get(releaseNum)
40
+ const version = '10.' + (releaseNum - 4)
41
+ return `${name} ${version}`
42
+ }
43
+
44
+ // windows
45
+ if (platform === 'win32') {
46
+ const version = (/\d+\.\d/.exec(release) || [])[0]
47
+
48
+ return `Windows ${winMap.get(version)}`
49
+ }
50
+
51
+ // 其他 Linux
52
+ return 'Linux'
53
+ }
54
+
55
+ // 获取 hostname 和平台信息
56
+ export function getOSInfo() {
57
+ const hostname = os.hostname()
58
+ const platform = os.platform()
59
+ const release = os.release()
60
+
61
+ const platformRelease = getPlatformRelease(platform, release)
62
+
63
+ return [hostname, platformRelease].join('/')
64
+ }
@@ -1,10 +1,10 @@
1
- import portfinder from 'portfinder'
2
- const PORT = 9012
3
-
4
- // 获取本地可用端口
5
- export async function getPort(): Promise<number> {
6
- const port: number = await portfinder.getPortPromise({
7
- port: PORT
8
- })
9
- return port
10
- }
1
+ import portfinder from 'portfinder'
2
+ const PORT = 9012
3
+
4
+ // 获取本地可用端口
5
+ export async function getPort(): Promise<number> {
6
+ const port: number = await portfinder.getPortPromise({
7
+ port: PORT
8
+ })
9
+ return port
10
+ }
@@ -1,38 +1,38 @@
1
- import ProgressBar from 'progress'
2
-
3
- // 打印文件传输进度条
4
- export function createUploadProgressBar(onFinished: Function, onStart?: Function) {
5
- let bar
6
- let lastLoaded = 0
7
- let finished = false
8
-
9
- return function (data) {
10
- const { total, loaded, percent } = data
11
- if (lastLoaded === 0 && onStart) {
12
- onStart()
13
- }
14
-
15
- if (+percent === 1) {
16
- if (finished) return
17
- finished = true
18
- setTimeout(() => {
19
- onFinished()
20
- }, 500)
21
- bar.tick(total - lastLoaded)
22
- return
23
- }
24
- const tick = loaded - lastLoaded
25
- lastLoaded = loaded
26
- if (bar) {
27
- bar.tick(tick)
28
- } else {
29
- bar = new ProgressBar('文件传输中 [:bar] :percent :etas', {
30
- total,
31
- complete: '=',
32
- incomplete: ' ',
33
- width: 50
34
- })
35
- bar.tick(tick)
36
- }
37
- }
38
- }
1
+ import ProgressBar from 'progress'
2
+
3
+ // 打印文件传输进度条
4
+ export function createUploadProgressBar(onFinished: Function, onStart?: Function) {
5
+ let bar
6
+ let lastLoaded = 0
7
+ let finished = false
8
+
9
+ return function (data) {
10
+ const { total, loaded, percent } = data
11
+ if (lastLoaded === 0 && onStart) {
12
+ onStart()
13
+ }
14
+
15
+ if (+percent === 1) {
16
+ if (finished) return
17
+ finished = true
18
+ setTimeout(() => {
19
+ onFinished()
20
+ }, 500)
21
+ bar.tick(total - lastLoaded)
22
+ return
23
+ }
24
+ const tick = loaded - lastLoaded
25
+ lastLoaded = loaded
26
+ if (bar) {
27
+ bar.tick(tick)
28
+ } else {
29
+ bar = new ProgressBar('文件传输中 [:bar] :percent :etas', {
30
+ total,
31
+ complete: '=',
32
+ incomplete: ' ',
33
+ width: 50
34
+ })
35
+ bar.tick(tick)
36
+ }
37
+ }
38
+ }
@@ -1,60 +1,60 @@
1
- import { prompt } from 'enquirer'
2
- import { CloudBaseError } from '../../error'
3
-
4
- /**
5
- * @描述 分页的选择型 prompt
6
- * @泛型参数 O: listFetcher 的参数类型
7
- * @参数 listFetcher: 执行列表拉取逻辑的函数,一般认为参数 options 至少拥有 limit 和 offset 两个 number 属性
8
- * @参数 options: listFetcher 的参数
9
- * @参数 message: 展示的信息
10
- * @参数 filter 筛选返回列表的数据
11
- * @参数 mapper 对返回列表中元素的处理函数,用于处理列表数据到实际展示列表的映射
12
- * @返回值 select 类型返回 string,multiselect 返回 string[]
13
- */
14
- export const pagingSelectPromp =
15
- async <T, O extends { limit?: number, offset?: number }>(
16
- type: 'select' | 'multiselect',
17
- listFetcher: (options: O) => Promise<any[]>,
18
- options: O,
19
- message: string,
20
- filter: (item: any) => boolean = _ => true,
21
- mapper: (item: any) => string = item => item) => {
22
-
23
- let res: string[] | string = []
24
-
25
- let offset = 0
26
- let nextRoundList: string[]
27
-
28
-
29
- while (true) {
30
- const thisRoundList = nextRoundList || (await listFetcher({ ...options, limit: 10, offset: offset })).filter(filter).map(mapper)
31
- offset += 10
32
- nextRoundList = (await listFetcher({ ...options, limit: 10, offset: offset })).filter(filter).map(mapper)
33
-
34
- if (!thisRoundList || !thisRoundList.length)
35
- throw new CloudBaseError('列表没有数据')
36
-
37
- if (type === 'select') {
38
- let receiver: string = (await prompt<any>({
39
- type: type,
40
- name: 'receiver',
41
- message: message,
42
- choices: nextRoundList?.length ? [...thisRoundList, '下一页'] : [...thisRoundList]
43
- })).receiver
44
- res = receiver
45
- if (receiver !== '下一页') break
46
- } else {
47
- let { receiver }: { receiver: string[] } = await prompt<any>({
48
- type: type,
49
- name: 'receiver',
50
- message: message,
51
- choices: nextRoundList?.length ? [...thisRoundList, '下一页'] : [...thisRoundList]
52
- })
53
- if (!receiver) receiver = []
54
- res = [...res, ...receiver.filter(item => item !== '下一页')]
55
- if (receiver.indexOf('下一页') === -1) break
56
- }
57
- }
58
-
59
- return res
1
+ import { prompt } from 'enquirer'
2
+ import { CloudBaseError } from '../../error'
3
+
4
+ /**
5
+ * @描述 分页的选择型 prompt
6
+ * @泛型参数 O: listFetcher 的参数类型
7
+ * @参数 listFetcher: 执行列表拉取逻辑的函数,一般认为参数 options 至少拥有 limit 和 offset 两个 number 属性
8
+ * @参数 options: listFetcher 的参数
9
+ * @参数 message: 展示的信息
10
+ * @参数 filter 筛选返回列表的数据
11
+ * @参数 mapper 对返回列表中元素的处理函数,用于处理列表数据到实际展示列表的映射
12
+ * @返回值 select 类型返回 string,multiselect 返回 string[]
13
+ */
14
+ export const pagingSelectPromp =
15
+ async <T, O extends { limit?: number, offset?: number }>(
16
+ type: 'select' | 'multiselect',
17
+ listFetcher: (options: O) => Promise<any[]>,
18
+ options: O,
19
+ message: string,
20
+ filter: (item: any) => boolean = _ => true,
21
+ mapper: (item: any) => string = item => item) => {
22
+
23
+ let res: string[] | string = []
24
+
25
+ let offset = 0
26
+ let nextRoundList: string[]
27
+
28
+
29
+ while (true) {
30
+ const thisRoundList = nextRoundList || (await listFetcher({ ...options, limit: 10, offset: offset })).filter(filter).map(mapper)
31
+ offset += 10
32
+ nextRoundList = (await listFetcher({ ...options, limit: 10, offset: offset })).filter(filter).map(mapper)
33
+
34
+ if (!thisRoundList || !thisRoundList.length)
35
+ throw new CloudBaseError('列表没有数据')
36
+
37
+ if (type === 'select') {
38
+ let receiver: string = (await prompt<any>({
39
+ type: type,
40
+ name: 'receiver',
41
+ message: message,
42
+ choices: nextRoundList?.length ? [...thisRoundList, '下一页'] : [...thisRoundList]
43
+ })).receiver
44
+ res = receiver
45
+ if (receiver !== '下一页') break
46
+ } else {
47
+ let { receiver }: { receiver: string[] } = await prompt<any>({
48
+ type: type,
49
+ name: 'receiver',
50
+ message: message,
51
+ choices: nextRoundList?.length ? [...thisRoundList, '下一页'] : [...thisRoundList]
52
+ })
53
+ if (!receiver) receiver = []
54
+ res = [...res, ...receiver.filter(item => item !== '下一页')]
55
+ if (receiver.indexOf('下一页') === -1) break
56
+ }
57
+ }
58
+
59
+ return res
60
60
  }
@@ -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/agree-collect'
6
-
7
- export async function collectAgree(agree) {
8
- const uin = await getUin()
9
- const macMd5 = await getMacAddressMd5()
10
- const os = await getOSInfo()
11
- const data = {
12
- macMd5,
13
- agree,
14
- uin,
15
- os
16
- }
17
-
18
- return postFetch(url, data)
19
- }
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/agree-collect'
6
+
7
+ export async function collectAgree(agree) {
8
+ const uin = await getUin()
9
+ const macMd5 = await getMacAddressMd5()
10
+ const os = await getOSInfo()
11
+ const data = {
12
+ macMd5,
13
+ agree,
14
+ uin,
15
+ os
16
+ }
17
+
18
+ return postFetch(url, data)
19
+ }
20
+
@@ -1,26 +1,26 @@
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/download'
6
-
7
- export async function templateDownloadReport(templateId: string, templateName: string) {
8
- const uin = await getUin()
9
- const os = await getOSInfo()
10
- const macMd5 = await getMacAddressMd5()
11
-
12
- const data = {
13
- os,
14
- uin,
15
- macMd5,
16
- templateId,
17
- templateName,
18
- version: process.CLI_VERSION
19
- }
20
-
21
- try {
22
- await postFetch(url, data)
23
- } catch (e) {
24
- // ignore error
25
- }
26
- }
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/download'
6
+
7
+ export async function templateDownloadReport(templateId: string, templateName: string) {
8
+ const uin = await getUin()
9
+ const os = await getOSInfo()
10
+ const macMd5 = await getMacAddressMd5()
11
+
12
+ const data = {
13
+ os,
14
+ uin,
15
+ macMd5,
16
+ templateId,
17
+ templateName,
18
+ version: process.CLI_VERSION
19
+ }
20
+
21
+ try {
22
+ await postFetch(url, data)
23
+ } catch (e) {
24
+ // ignore error
25
+ }
26
+ }
@@ -1,3 +1,3 @@
1
- export * from './agree'
2
- export * from './usage'
3
- export * from './download'
1
+ export * from './agree'
2
+ export * from './usage'
3
+ export * from './download'
@@ -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
+ })