@cloudbase/cli 2.0.2 → 2.0.3

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 (201) 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/.vscode/settings.json +3 -0
  7. package/LICENSE +5 -5
  8. package/README.md +35 -35
  9. package/bin/cloudbase.js +5 -5
  10. package/bin/tcb.js +0 -0
  11. package/changelog.md +6 -6
  12. package/jest.config.js +17 -17
  13. package/lib/commands/account/login.js +18 -18
  14. package/lib/commands/storage/storage.js +1 -1
  15. package/lib/env/login.js +7 -7
  16. package/lib/run/service/deployPackage.js +2 -2
  17. package/package.json +2 -2
  18. package/post-install.js +61 -61
  19. package/runtime/nodejs/bootstrap.js +255 -255
  20. package/runtime/nodejs/runtime.js +183 -183
  21. package/src/auth/index.ts +1 -1
  22. package/src/auth/login.ts +91 -91
  23. package/src/auth/logout.ts +7 -7
  24. package/src/commands/account/index.ts +2 -2
  25. package/src/commands/account/login.ts +192 -192
  26. package/src/commands/account/logout.ts +24 -24
  27. package/src/commands/env/base.ts +90 -90
  28. package/src/commands/env/create.ts +92 -92
  29. package/src/commands/env/domain.ts +186 -186
  30. package/src/commands/env/index.ts +4 -4
  31. package/src/commands/env/login.ts +235 -235
  32. package/src/commands/framework/index.ts +124 -124
  33. package/src/commands/functions/alias/getRoute.ts +76 -76
  34. package/src/commands/functions/alias/index.ts +2 -2
  35. package/src/commands/functions/alias/setRoute.ts +82 -82
  36. package/src/commands/functions/code-download.ts +100 -100
  37. package/src/commands/functions/code-update.ts +62 -62
  38. package/src/commands/functions/concurrency/delete.ts +45 -45
  39. package/src/commands/functions/concurrency/index.ts +2 -2
  40. package/src/commands/functions/concurrency/list.ts +58 -58
  41. package/src/commands/functions/concurrency/set.ts +47 -47
  42. package/src/commands/functions/config-update.ts +76 -76
  43. package/src/commands/functions/copy.ts +62 -62
  44. package/src/commands/functions/delete.ts +79 -79
  45. package/src/commands/functions/deploy.ts +293 -293
  46. package/src/commands/functions/detail.ts +138 -138
  47. package/src/commands/functions/index.ts +16 -16
  48. package/src/commands/functions/invoke.ts +121 -121
  49. package/src/commands/functions/layer/bind.ts +182 -182
  50. package/src/commands/functions/layer/common.ts +8 -8
  51. package/src/commands/functions/layer/create.ts +49 -49
  52. package/src/commands/functions/layer/delete.ts +73 -73
  53. package/src/commands/functions/layer/download.ts +92 -92
  54. package/src/commands/functions/layer/index.ts +7 -7
  55. package/src/commands/functions/layer/list.ts +94 -94
  56. package/src/commands/functions/layer/sort.ts +76 -76
  57. package/src/commands/functions/list.ts +68 -68
  58. package/src/commands/functions/log.ts +148 -148
  59. package/src/commands/functions/run.ts +249 -249
  60. package/src/commands/functions/trigger-create.ts +79 -79
  61. package/src/commands/functions/trigger-delete.ts +105 -105
  62. package/src/commands/functions/version/index.ts +1 -1
  63. package/src/commands/functions/version/list.ts +73 -73
  64. package/src/commands/functions/version/publish.ts +43 -43
  65. package/src/commands/gateway/create.ts +109 -109
  66. package/src/commands/gateway/delete.ts +81 -81
  67. package/src/commands/gateway/domain.ts +159 -159
  68. package/src/commands/gateway/index.ts +5 -5
  69. package/src/commands/gateway/list.ts +76 -76
  70. package/src/commands/gateway/switch.ts +107 -107
  71. package/src/commands/helpers/index.ts +2 -2
  72. package/src/commands/helpers/init.ts +431 -431
  73. package/src/commands/helpers/new.ts +117 -117
  74. package/src/commands/helpers/open.ts +67 -67
  75. package/src/commands/hosting/hosting.ts +360 -360
  76. package/src/commands/index.ts +13 -13
  77. package/src/commands/lowcode/app.ts +34 -34
  78. package/src/commands/lowcode/comps.ts +322 -322
  79. package/src/commands/lowcode/index.ts +1 -1
  80. package/src/commands/lowcode/utils.ts +24 -24
  81. package/src/commands/run/image/index.ts +4 -4
  82. package/src/commands/run/standalonegateway/common.ts +7 -7
  83. package/src/commands/run/standalonegateway/create.ts +85 -85
  84. package/src/commands/run/standalonegateway/destroy.ts +59 -59
  85. package/src/commands/run/standalonegateway/index.ts +4 -4
  86. package/src/commands/run/standalonegateway/list.ts +53 -53
  87. package/src/commands/run/standalonegateway/package.ts +62 -62
  88. package/src/commands/run/standalonegateway/turn.ts +63 -63
  89. package/src/commands/run/version/index.ts +4 -4
  90. package/src/commands/smart.ts +132 -132
  91. package/src/commands/storage/storage.ts +464 -464
  92. package/src/commands/third/thirdAttach.ts +49 -49
  93. package/src/completion/index.ts +13 -13
  94. package/src/decorators/captureError.ts +25 -25
  95. package/src/decorators/constants.ts +12 -12
  96. package/src/decorators/deprecate.ts +25 -25
  97. package/src/decorators/guard.ts +42 -42
  98. package/src/decorators/index.ts +7 -7
  99. package/src/decorators/injectParams.ts +54 -54
  100. package/src/decorators/params/common.ts +28 -28
  101. package/src/decorators/params/index.ts +35 -35
  102. package/src/env/domain.ts +33 -33
  103. package/src/env/index.ts +63 -63
  104. package/src/env/login.ts +80 -80
  105. package/src/error.ts +36 -36
  106. package/src/function/alias.ts +43 -43
  107. package/src/function/base.ts +253 -253
  108. package/src/function/code.ts +55 -55
  109. package/src/function/concurrency.ts +57 -57
  110. package/src/function/create.ts +78 -78
  111. package/src/function/delete.ts +42 -42
  112. package/src/function/index.ts +10 -10
  113. package/src/function/layer/attach.ts +68 -68
  114. package/src/function/layer/create.ts +63 -63
  115. package/src/function/layer/delete.ts +21 -21
  116. package/src/function/layer/download.ts +54 -54
  117. package/src/function/layer/index.ts +7 -7
  118. package/src/function/layer/list.ts +32 -32
  119. package/src/function/layer/sort.ts +24 -24
  120. package/src/function/trigger.ts +97 -97
  121. package/src/function/update.ts +35 -35
  122. package/src/function/version.ts +38 -38
  123. package/src/function/vpc.ts +22 -22
  124. package/src/gateway/index.ts +137 -137
  125. package/src/hosting.ts +212 -212
  126. package/src/index.ts +13 -13
  127. package/src/logger.ts +17 -17
  128. package/src/run/create.ts +23 -23
  129. package/src/run/delete.ts +15 -15
  130. package/src/run/image/build.ts +36 -36
  131. package/src/run/image/delete.ts +13 -13
  132. package/src/run/image/index.ts +3 -3
  133. package/src/run/image/info.ts +26 -26
  134. package/src/run/list.ts +29 -29
  135. package/src/run/repo.ts +24 -24
  136. package/src/run/service/deployPackage.ts +1 -1
  137. package/src/run/standalonegateway/create.ts +24 -24
  138. package/src/run/standalonegateway/destroy.ts +19 -19
  139. package/src/run/standalonegateway/index.ts +4 -4
  140. package/src/run/standalonegateway/list.ts +74 -74
  141. package/src/run/standalonegateway/package/list.ts +24 -24
  142. package/src/run/standalonegateway/turn/index.ts +1 -1
  143. package/src/run/standalonegateway/turn/off.ts +19 -19
  144. package/src/run/standalonegateway/turn/on.ts +19 -19
  145. package/src/run/version/create.ts +68 -68
  146. package/src/run/version/delete.ts +15 -15
  147. package/src/run/version/index.ts +5 -5
  148. package/src/run/version/list.ts +16 -16
  149. package/src/run/version/modify.ts +16 -16
  150. package/src/run/version/repo.ts +27 -27
  151. package/src/run/version/update.ts +58 -58
  152. package/src/storage.ts +114 -114
  153. package/src/third/index.ts +12 -12
  154. package/src/utils/auth.ts +15 -15
  155. package/src/utils/cli-table.ts +23 -23
  156. package/src/utils/config.ts +39 -39
  157. package/src/utils/env.ts +244 -244
  158. package/src/utils/fs/del.ts +5 -5
  159. package/src/utils/fs/index.ts +71 -71
  160. package/src/utils/function-packer.ts +97 -97
  161. package/src/utils/log.ts +81 -81
  162. package/src/utils/net/cloud-api-request.ts +62 -62
  163. package/src/utils/net/credential.ts +53 -53
  164. package/src/utils/net/index.ts +4 -4
  165. package/src/utils/net/manager-service.ts +36 -36
  166. package/src/utils/net/proxy.ts +6 -6
  167. package/src/utils/notice.ts +28 -28
  168. package/src/utils/output/highlight.ts +5 -5
  169. package/src/utils/output/index.ts +2 -2
  170. package/src/utils/output/link.ts +10 -10
  171. package/src/utils/output/loading.ts +82 -82
  172. package/src/utils/parallel.ts +82 -82
  173. package/src/utils/platform/index.ts +2 -2
  174. package/src/utils/platform/mac.ts +21 -21
  175. package/src/utils/platform/os.ts +64 -64
  176. package/src/utils/platform/port.ts +10 -10
  177. package/src/utils/progress-bar.ts +38 -38
  178. package/src/utils/prompt/select.ts +59 -59
  179. package/src/utils/reporter/agree.ts +20 -20
  180. package/src/utils/reporter/download.ts +26 -26
  181. package/src/utils/reporter/index.ts +3 -3
  182. package/src/utils/reporter/usage.ts +20 -20
  183. package/src/utils/store/auth.ts +49 -49
  184. package/src/utils/store/common.ts +8 -8
  185. package/src/utils/store/db.ts +68 -68
  186. package/src/utils/store/index.ts +4 -4
  187. package/src/utils/store/usage.ts +12 -12
  188. package/src/utils/template.ts +170 -170
  189. package/src/utils/tools/encoding.ts +8 -8
  190. package/src/utils/tools/index.ts +4 -4
  191. package/src/utils/tools/object.ts +33 -33
  192. package/src/utils/tools/time.ts +38 -38
  193. package/src/utils/tools/uid.ts +19 -19
  194. package/templates/html/loginFail.html +90 -90
  195. package/templates/html/loginSuccess.html +86 -86
  196. package/templates/server/node/_gitignore +54 -54
  197. package/templates/server/node/cloudbaserc.json +10 -10
  198. package/templates/server/node/index.js +5 -5
  199. package/templates/server/node/package.json +9 -9
  200. package/tsconfig.json +19 -19
  201. package/tsconfig.test.json +13 -13
@@ -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
+ })