@serverless-devs/s 0.0.45 → 0.1.4-18cdd23b

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 (379) hide show
  1. package/LICENSE +201 -21
  2. package/OWNERS +33 -0
  3. package/_config.yml +1 -0
  4. package/bin/s +1 -1
  5. package/lib/daemon/lib.js +327 -0
  6. package/lib/daemon/report.js +50 -0
  7. package/lib/daemon/update-cli.js +20 -0
  8. package/lib/daemon/update-component.js +21 -0
  9. package/lib/daemon/update-templates.js +19 -0
  10. package/lib/index.js +1732 -0
  11. package/package.json +73 -61
  12. package/readme.md +127 -0
  13. package/.eslintrc +0 -75
  14. package/README.md +0 -65
  15. package/bin/s-config +0 -2
  16. package/bin/s-config-add +0 -2
  17. package/bin/s-config-delete +0 -2
  18. package/bin/s-config-get +0 -3
  19. package/bin/s-config-update +0 -3
  20. package/bin/s-deploy +0 -2
  21. package/bin/s-gui +0 -2
  22. package/bin/s-init +0 -2
  23. package/bin/s-platform +0 -2
  24. package/bin/s-platform-delete +0 -2
  25. package/bin/s-platform-init +0 -2
  26. package/bin/s-platform-login +0 -2
  27. package/bin/s-platform-publish +0 -2
  28. package/bin/s-remove +0 -2
  29. package/bin/s-search +0 -2
  30. package/bin/s-set +0 -2
  31. package/bin/s-set-analysis +0 -2
  32. package/bin/s-set-language +0 -2
  33. package/bin/s-set-output-color +0 -2
  34. package/compile.tsconfig.json +0 -12
  35. package/configs/base.tsconfig.json +0 -25
  36. package/lib/command/command-manager.d.ts +0 -12
  37. package/lib/command/command-manager.d.ts.map +0 -1
  38. package/lib/command/command-manager.js +0 -144
  39. package/lib/command/command-manager.js.map +0 -1
  40. package/lib/command/index.d.ts +0 -2
  41. package/lib/command/index.d.ts.map +0 -1
  42. package/lib/command/index.js +0 -41
  43. package/lib/command/index.js.map +0 -1
  44. package/lib/component/hook.d.ts +0 -17
  45. package/lib/component/hook.d.ts.map +0 -1
  46. package/lib/component/hook.js +0 -201
  47. package/lib/component/hook.js.map +0 -1
  48. package/lib/component/index.d.ts +0 -53
  49. package/lib/component/index.d.ts.map +0 -1
  50. package/lib/component/index.js +0 -577
  51. package/lib/component/index.js.map +0 -1
  52. package/lib/config/add/add-manager.d.ts +0 -23
  53. package/lib/config/add/add-manager.d.ts.map +0 -1
  54. package/lib/config/add/add-manager.js +0 -282
  55. package/lib/config/add/add-manager.js.map +0 -1
  56. package/lib/config/add/index.d.ts +0 -2
  57. package/lib/config/add/index.d.ts.map +0 -1
  58. package/lib/config/add/index.js +0 -77
  59. package/lib/config/add/index.js.map +0 -1
  60. package/lib/config/common/common.d.ts +0 -7
  61. package/lib/config/common/common.d.ts.map +0 -1
  62. package/lib/config/common/common.js +0 -175
  63. package/lib/config/common/common.js.map +0 -1
  64. package/lib/config/delete/delete-manager.d.ts +0 -11
  65. package/lib/config/delete/delete-manager.d.ts.map +0 -1
  66. package/lib/config/delete/delete-manager.js +0 -133
  67. package/lib/config/delete/delete-manager.js.map +0 -1
  68. package/lib/config/delete/index.d.ts +0 -2
  69. package/lib/config/delete/index.d.ts.map +0 -1
  70. package/lib/config/delete/index.js +0 -77
  71. package/lib/config/delete/index.js.map +0 -1
  72. package/lib/config/get/get-manager.d.ts +0 -14
  73. package/lib/config/get/get-manager.d.ts.map +0 -1
  74. package/lib/config/get/get-manager.js +0 -205
  75. package/lib/config/get/get-manager.js.map +0 -1
  76. package/lib/config/get/index.d.ts +0 -2
  77. package/lib/config/get/index.d.ts.map +0 -1
  78. package/lib/config/get/index.js +0 -86
  79. package/lib/config/get/index.js.map +0 -1
  80. package/lib/config/index.d.ts +0 -2
  81. package/lib/config/index.d.ts.map +0 -1
  82. package/lib/config/index.js +0 -15
  83. package/lib/config/index.js.map +0 -1
  84. package/lib/config/update/index.d.ts +0 -2
  85. package/lib/config/update/index.d.ts.map +0 -1
  86. package/lib/config/update/index.js +0 -83
  87. package/lib/config/update/index.js.map +0 -1
  88. package/lib/config/update/update-manager.d.ts +0 -23
  89. package/lib/config/update/update-manager.d.ts.map +0 -1
  90. package/lib/config/update/update-manager.js +0 -208
  91. package/lib/config/update/update-manager.js.map +0 -1
  92. package/lib/constants/static-variable.d.ts +0 -12
  93. package/lib/constants/static-variable.d.ts.map +0 -1
  94. package/lib/constants/static-variable.js +0 -15
  95. package/lib/constants/static-variable.js.map +0 -1
  96. package/lib/entity.d.ts +0 -11
  97. package/lib/entity.d.ts.map +0 -1
  98. package/lib/entity.js +0 -3
  99. package/lib/entity.js.map +0 -1
  100. package/lib/error/command-error.d.ts +0 -5
  101. package/lib/error/command-error.d.ts.map +0 -1
  102. package/lib/error/command-error.js +0 -26
  103. package/lib/error/command-error.js.map +0 -1
  104. package/lib/error/config-delete-error.d.ts +0 -5
  105. package/lib/error/config-delete-error.d.ts.map +0 -1
  106. package/lib/error/config-delete-error.js +0 -26
  107. package/lib/error/config-delete-error.js.map +0 -1
  108. package/lib/error/config-error.d.ts +0 -5
  109. package/lib/error/config-error.d.ts.map +0 -1
  110. package/lib/error/config-error.js +0 -26
  111. package/lib/error/config-error.js.map +0 -1
  112. package/lib/error/config-get-error.d.ts +0 -5
  113. package/lib/error/config-get-error.d.ts.map +0 -1
  114. package/lib/error/config-get-error.js +0 -26
  115. package/lib/error/config-get-error.js.map +0 -1
  116. package/lib/error/config-update-error.d.ts +0 -5
  117. package/lib/error/config-update-error.d.ts.map +0 -1
  118. package/lib/error/config-update-error.js +0 -26
  119. package/lib/error/config-update-error.js.map +0 -1
  120. package/lib/error/init-error.d.ts +0 -5
  121. package/lib/error/init-error.d.ts.map +0 -1
  122. package/lib/error/init-error.js +0 -26
  123. package/lib/error/init-error.js.map +0 -1
  124. package/lib/error/login-error.d.ts +0 -5
  125. package/lib/error/login-error.d.ts.map +0 -1
  126. package/lib/error/login-error.js +0 -26
  127. package/lib/error/login-error.js.map +0 -1
  128. package/lib/error/platform-delete-error.d.ts +0 -5
  129. package/lib/error/platform-delete-error.d.ts.map +0 -1
  130. package/lib/error/platform-delete-error.js +0 -26
  131. package/lib/error/platform-delete-error.js.map +0 -1
  132. package/lib/error/platform-init-error.d.ts +0 -5
  133. package/lib/error/platform-init-error.d.ts.map +0 -1
  134. package/lib/error/platform-init-error.js +0 -26
  135. package/lib/error/platform-init-error.js.map +0 -1
  136. package/lib/error/platform-publish-error.d.ts +0 -5
  137. package/lib/error/platform-publish-error.d.ts.map +0 -1
  138. package/lib/error/platform-publish-error.js +0 -26
  139. package/lib/error/platform-publish-error.js.map +0 -1
  140. package/lib/error/search-error.d.ts +0 -5
  141. package/lib/error/search-error.d.ts.map +0 -1
  142. package/lib/error/search-error.js +0 -26
  143. package/lib/error/search-error.js.map +0 -1
  144. package/lib/error/serverless-error.d.ts +0 -4
  145. package/lib/error/serverless-error.d.ts.map +0 -1
  146. package/lib/error/serverless-error.js +0 -20
  147. package/lib/error/serverless-error.js.map +0 -1
  148. package/lib/error/set-analysis-error.d.ts +0 -5
  149. package/lib/error/set-analysis-error.d.ts.map +0 -1
  150. package/lib/error/set-analysis-error.js +0 -26
  151. package/lib/error/set-analysis-error.js.map +0 -1
  152. package/lib/error/set-language-error.d.ts +0 -5
  153. package/lib/error/set-language-error.d.ts.map +0 -1
  154. package/lib/error/set-language-error.js +0 -26
  155. package/lib/error/set-language-error.js.map +0 -1
  156. package/lib/gui/gui-service.d.ts +0 -11
  157. package/lib/gui/gui-service.d.ts.map +0 -1
  158. package/lib/gui/gui-service.js +0 -276
  159. package/lib/gui/gui-service.js.map +0 -1
  160. package/lib/gui/index.d.ts +0 -2
  161. package/lib/gui/index.d.ts.map +0 -1
  162. package/lib/gui/index.js +0 -67
  163. package/lib/gui/index.js.map +0 -1
  164. package/lib/init/init-manager.d.ts +0 -9
  165. package/lib/init/init-manager.d.ts.map +0 -1
  166. package/lib/init/init-manager.js +0 -171
  167. package/lib/init/init-manager.js.map +0 -1
  168. package/lib/init/init-message.d.ts +0 -6
  169. package/lib/init/init-message.d.ts.map +0 -1
  170. package/lib/init/init-message.js +0 -9
  171. package/lib/init/init-message.js.map +0 -1
  172. package/lib/init/init.d.ts +0 -2
  173. package/lib/init/init.d.ts.map +0 -1
  174. package/lib/init/init.js +0 -87
  175. package/lib/init/init.js.map +0 -1
  176. package/lib/platform/delete/index.d.ts +0 -2
  177. package/lib/platform/delete/index.d.ts.map +0 -1
  178. package/lib/platform/delete/index.js +0 -89
  179. package/lib/platform/delete/index.js.map +0 -1
  180. package/lib/platform/delete/platform-delete-manager.d.ts +0 -4
  181. package/lib/platform/delete/platform-delete-manager.d.ts.map +0 -1
  182. package/lib/platform/delete/platform-delete-manager.js +0 -100
  183. package/lib/platform/delete/platform-delete-manager.js.map +0 -1
  184. package/lib/platform/index.d.ts +0 -2
  185. package/lib/platform/index.d.ts.map +0 -1
  186. package/lib/platform/index.js +0 -25
  187. package/lib/platform/index.js.map +0 -1
  188. package/lib/platform/init/index.d.ts +0 -2
  189. package/lib/platform/init/index.d.ts.map +0 -1
  190. package/lib/platform/init/index.js +0 -70
  191. package/lib/platform/init/index.js.map +0 -1
  192. package/lib/platform/init/platform-init-manager.d.ts +0 -4
  193. package/lib/platform/init/platform-init-manager.d.ts.map +0 -1
  194. package/lib/platform/init/platform-init-manager.js +0 -24
  195. package/lib/platform/init/platform-init-manager.js.map +0 -1
  196. package/lib/platform/login/index.d.ts +0 -2
  197. package/lib/platform/login/index.d.ts.map +0 -1
  198. package/lib/platform/login/index.js +0 -68
  199. package/lib/platform/login/index.js.map +0 -1
  200. package/lib/platform/login/login-manager.d.ts +0 -15
  201. package/lib/platform/login/login-manager.d.ts.map +0 -1
  202. package/lib/platform/login/login-manager.js +0 -176
  203. package/lib/platform/login/login-manager.js.map +0 -1
  204. package/lib/platform/publish/index.d.ts +0 -2
  205. package/lib/platform/publish/index.d.ts.map +0 -1
  206. package/lib/platform/publish/index.js +0 -93
  207. package/lib/platform/publish/index.js.map +0 -1
  208. package/lib/platform/publish/platform-publish-manager.d.ts +0 -5
  209. package/lib/platform/publish/platform-publish-manager.d.ts.map +0 -1
  210. package/lib/platform/publish/platform-publish-manager.js +0 -115
  211. package/lib/platform/publish/platform-publish-manager.js.map +0 -1
  212. package/lib/plugin/index.d.ts +0 -20
  213. package/lib/plugin/index.d.ts.map +0 -1
  214. package/lib/plugin/index.js +0 -175
  215. package/lib/plugin/index.js.map +0 -1
  216. package/lib/s.d.ts +0 -2
  217. package/lib/s.d.ts.map +0 -1
  218. package/lib/s.js +0 -134
  219. package/lib/s.js.map +0 -1
  220. package/lib/search/search.d.ts +0 -2
  221. package/lib/search/search.d.ts.map +0 -1
  222. package/lib/search/search.js +0 -233
  223. package/lib/search/search.js.map +0 -1
  224. package/lib/set/analysis/index.d.ts +0 -2
  225. package/lib/set/analysis/index.d.ts.map +0 -1
  226. package/lib/set/analysis/index.js +0 -84
  227. package/lib/set/analysis/index.js.map +0 -1
  228. package/lib/set/index.d.ts +0 -2
  229. package/lib/set/index.d.ts.map +0 -1
  230. package/lib/set/index.js +0 -16
  231. package/lib/set/index.js.map +0 -1
  232. package/lib/set/language/index.d.ts +0 -2
  233. package/lib/set/language/index.d.ts.map +0 -1
  234. package/lib/set/language/index.js +0 -73
  235. package/lib/set/language/index.js.map +0 -1
  236. package/lib/set/output-color/index.d.ts +0 -2
  237. package/lib/set/output-color/index.d.ts.map +0 -1
  238. package/lib/set/output-color/index.js +0 -87
  239. package/lib/set/output-color/index.js.map +0 -1
  240. package/lib/utils/analysis.d.ts +0 -12
  241. package/lib/utils/analysis.d.ts.map +0 -1
  242. package/lib/utils/analysis.js +0 -42
  243. package/lib/utils/analysis.js.map +0 -1
  244. package/lib/utils/check-version.d.ts +0 -13
  245. package/lib/utils/check-version.d.ts.map +0 -1
  246. package/lib/utils/check-version.js +0 -241
  247. package/lib/utils/check-version.js.map +0 -1
  248. package/lib/utils/command.d.ts +0 -14
  249. package/lib/utils/command.d.ts.map +0 -1
  250. package/lib/utils/command.js +0 -251
  251. package/lib/utils/command.js.map +0 -1
  252. package/lib/utils/common.d.ts +0 -4
  253. package/lib/utils/common.d.ts.map +0 -1
  254. package/lib/utils/common.js +0 -50
  255. package/lib/utils/common.js.map +0 -1
  256. package/lib/utils/download-manager.d.ts +0 -23
  257. package/lib/utils/download-manager.d.ts.map +0 -1
  258. package/lib/utils/download-manager.js +0 -302
  259. package/lib/utils/download-manager.js.map +0 -1
  260. package/lib/utils/handler-set-config.d.ts +0 -14
  261. package/lib/utils/handler-set-config.d.ts.map +0 -1
  262. package/lib/utils/handler-set-config.js +0 -122
  263. package/lib/utils/handler-set-config.js.map +0 -1
  264. package/lib/utils/i18n.d.ts +0 -3
  265. package/lib/utils/i18n.d.ts.map +0 -1
  266. package/lib/utils/i18n.js +0 -21
  267. package/lib/utils/i18n.js.map +0 -1
  268. package/lib/utils/locales/en.json +0 -9
  269. package/lib/utils/locales/zh.json +0 -203
  270. package/lib/utils/logger.d.ts +0 -18
  271. package/lib/utils/logger.d.ts.map +0 -1
  272. package/lib/utils/logger.js +0 -196
  273. package/lib/utils/logger.js.map +0 -1
  274. package/lib/utils/package-type.d.ts +0 -6
  275. package/lib/utils/package-type.d.ts.map +0 -1
  276. package/lib/utils/package-type.js +0 -10
  277. package/lib/utils/package-type.js.map +0 -1
  278. package/lib/utils/parse.d.ts +0 -26
  279. package/lib/utils/parse.d.ts.map +0 -1
  280. package/lib/utils/parse.js +0 -229
  281. package/lib/utils/parse.js.map +0 -1
  282. package/lib/utils/repo-template-entity.d.ts +0 -12
  283. package/lib/utils/repo-template-entity.d.ts.map +0 -1
  284. package/lib/utils/repo-template-entity.js +0 -3
  285. package/lib/utils/repo-template-entity.js.map +0 -1
  286. package/lib/utils/start-service.d.ts +0 -22
  287. package/lib/utils/start-service.d.ts.map +0 -1
  288. package/lib/utils/start-service.js +0 -97
  289. package/lib/utils/start-service.js.map +0 -1
  290. package/lib/utils/storage.d.ts +0 -3
  291. package/lib/utils/storage.d.ts.map +0 -1
  292. package/lib/utils/storage.js +0 -23
  293. package/lib/utils/storage.js.map +0 -1
  294. package/lib/utils/url-parser.d.ts +0 -8
  295. package/lib/utils/url-parser.d.ts.map +0 -1
  296. package/lib/utils/url-parser.js +0 -58
  297. package/lib/utils/url-parser.js.map +0 -1
  298. package/scripts/tests/deploy/parse.ts +0 -0
  299. package/scripts/tests/download-manager-test.ts +0 -135
  300. package/scripts/tests/init-manager-test.ts +0 -232
  301. package/scripts/tests/url-parser-test.ts +0 -44
  302. package/src/command/command-manager.ts +0 -83
  303. package/src/command/index.ts +0 -42
  304. package/src/component/hook.ts +0 -88
  305. package/src/component/index.ts +0 -433
  306. package/src/config/add/add-manager.ts +0 -207
  307. package/src/config/add/index.ts +0 -45
  308. package/src/config/common/common.ts +0 -186
  309. package/src/config/delete/delete-manager.ts +0 -51
  310. package/src/config/delete/index.ts +0 -38
  311. package/src/config/get/get-manager.ts +0 -148
  312. package/src/config/get/index.ts +0 -49
  313. package/src/config/index.ts +0 -13
  314. package/src/config/update/index.ts +0 -46
  315. package/src/config/update/update-manager.ts +0 -120
  316. package/src/constants/static-variable.ts +0 -12
  317. package/src/entity.ts +0 -10
  318. package/src/error/command-error.ts +0 -7
  319. package/src/error/config-delete-error.ts +0 -7
  320. package/src/error/config-error.ts +0 -7
  321. package/src/error/config-get-error.ts +0 -7
  322. package/src/error/config-update-error.ts +0 -7
  323. package/src/error/init-error.ts +0 -7
  324. package/src/error/login-error.ts +0 -7
  325. package/src/error/platform-delete-error.ts +0 -7
  326. package/src/error/platform-init-error.ts +0 -7
  327. package/src/error/platform-publish-error.ts +0 -7
  328. package/src/error/search-error.ts +0 -7
  329. package/src/error/serverless-error.ts +0 -17
  330. package/src/error/set-analysis-error.ts +0 -7
  331. package/src/error/set-language-error.ts +0 -7
  332. package/src/gui/gui-service.ts +0 -183
  333. package/src/gui/index.ts +0 -26
  334. package/src/init/init-manager.ts +0 -104
  335. package/src/init/init-message.ts +0 -8
  336. package/src/init/init.ts +0 -56
  337. package/src/platform/delete/index.ts +0 -46
  338. package/src/platform/delete/platform-delete-manager.ts +0 -46
  339. package/src/platform/index.ts +0 -26
  340. package/src/platform/init/index.ts +0 -33
  341. package/src/platform/init/platform-init-manager.ts +0 -17
  342. package/src/platform/login/index.ts +0 -25
  343. package/src/platform/login/login-manager.ts +0 -121
  344. package/src/platform/publish/index.ts +0 -52
  345. package/src/platform/publish/platform-publish-manager.ts +0 -69
  346. package/src/plugin/index.ts +0 -96
  347. package/src/s.ts +0 -83
  348. package/src/search/search.ts +0 -127
  349. package/src/set/analysis/index.ts +0 -45
  350. package/src/set/index.ts +0 -19
  351. package/src/set/language/index.ts +0 -39
  352. package/src/set/output-color/index.ts +0 -49
  353. package/src/utils/analysis.ts +0 -36
  354. package/src/utils/check-version.ts +0 -139
  355. package/src/utils/command.ts +0 -123
  356. package/src/utils/common.ts +0 -47
  357. package/src/utils/download-manager.ts +0 -197
  358. package/src/utils/handler-set-config.ts +0 -83
  359. package/src/utils/i18n.ts +0 -21
  360. package/src/utils/locales/en.json +0 -9
  361. package/src/utils/locales/zh.json +0 -228
  362. package/src/utils/logger.ts +0 -84
  363. package/src/utils/package-type.ts +0 -3
  364. package/src/utils/parse.ts +0 -176
  365. package/src/utils/repo-template-entity.ts +0 -14
  366. package/src/utils/start-service.ts +0 -64
  367. package/src/utils/storage.ts +0 -20
  368. package/src/utils/url-parser.ts +0 -60
  369. package/templates/application/common/publish.yaml +0 -16
  370. package/templates/application/common/readme.md +0 -99
  371. package/templates/application/common/src/index.js +0 -13
  372. package/templates/application/common/src/template.yaml +0 -16
  373. package/templates/component/common/publish.yaml +0 -24
  374. package/templates/component/common/readme.md +0 -386
  375. package/templates/component/common/src/index.js +0 -18
  376. package/templates/component/common/src/package.json +0 -7
  377. package/templates/plugin/common/publish.yaml +0 -9
  378. package/templates/plugin/common/readme.md +0 -128
  379. package/templates/plugin/common/src/index.js +0 -9
@@ -1,49 +0,0 @@
1
- import * as program from 'commander';
2
- import { handlerProfileFile } from '../../utils/handler-set-config';
3
- import logger from '../../utils/logger';
4
- import i18n from '../../utils/i18n';
5
- import {CommandError} from '../../error/command-error';
6
-
7
-
8
- program
9
- .name('s set output-color')
10
- .usage('[options] [name]')
11
- .helpOption('-h, --help', i18n.__('Display help for command'))
12
- .description(`i18n.__('Here you can set whether the output has color.')
13
-
14
- ${i18n.__('Example')}:
15
- # ${i18n.__('If your want output colorful')}:
16
- $ s set output-color enable
17
- # ${i18n.__('If your want output with default color')}:
18
- $ s set output-color disable
19
- `)
20
- .parse(process.argv);
21
-
22
-
23
- (async () => {
24
- let openColorStr = '';
25
- if (program.args.length > 0) {
26
- openColorStr = program.args[0];
27
- } else {
28
- return program.help();
29
- }
30
- let openColorFlag: boolean;
31
- if (openColorStr === 'enable') {
32
- logger.colorSwitch(true);
33
- openColorFlag = true;
34
- logger.success('Color output enable');
35
- } else if (openColorStr === 'disable') {
36
- logger.colorSwitch(false);
37
- openColorFlag = false;
38
- logger.success('Color output disable');
39
- } else {
40
- return program.help();
41
- }
42
-
43
- await handlerProfileFile({
44
- data: openColorFlag,
45
- configKey: 'output-color'
46
- });
47
- })().catch((err) => {
48
- throw new CommandError(err.message);
49
- });
@@ -1,36 +0,0 @@
1
- export class Analysis {
2
- protected componentOrderKeyMap: { [key: string]: any } = {};
3
- constructor(protected readonly parsedObj: any, protected readonly dependenciesMap: any) {
4
- }
5
- private getComponentOrderKeyMap(projKeys: string[]) {
6
- projKeys.forEach((key: string) => {
7
- this.componentOrderKeyMap[key] = 1;
8
- });
9
- }
10
-
11
- private calculateOrderNumber(componentKeys: string[]) {
12
- componentKeys.forEach((key: string) => {
13
- const dependenciesInstance = this.dependenciesMap[key];
14
- Object.keys(dependenciesInstance).forEach(_key => {
15
- if (this.componentOrderKeyMap[_key]) {
16
- this.componentOrderKeyMap[_key] += dependenciesInstance[_key];
17
- }
18
- });
19
- });
20
- }
21
- getProjectOrder() {
22
-
23
- const componentKeys = Object.keys(this.dependenciesMap).filter(key => key !== 'Global');
24
- this.getComponentOrderKeyMap(componentKeys); //
25
- this.calculateOrderNumber(componentKeys);
26
- const projectArray = Object.keys(this.componentOrderKeyMap).map((key) => {
27
- return { name: key, order: this.componentOrderKeyMap[key] };
28
- });
29
- return projectArray.sort((item1, item2) => {
30
- return item2.order - item1.order;
31
- }).map((item) => item.name);
32
-
33
- }
34
- }
35
-
36
-
@@ -1,139 +0,0 @@
1
- import axios from 'axios';
2
- import logger from './logger';
3
- import { handlerProfileFile, getConfig } from './handler-set-config';
4
- import { getHistoryFile } from './storage';
5
- import {printn} from './common';
6
- import * as fs from 'fs-extra';
7
- import { SERVERLESS_CHECK_VERSION } from '../constants/static-variable';
8
- import { GetManager } from '../config/get/get-manager';
9
- import { providerArray } from '../config/common/common';
10
- const pkg = require('../../package.json');
11
-
12
- interface CheckVersionResult {
13
- [key: string]: any
14
- }
15
-
16
- export class CheckVersion {
17
- checkVersionResult: CheckVersionResult;
18
- hasCheckedToday = false;
19
-
20
- async init() {
21
- await this.checkTime();
22
- await this.getVersion();
23
- }
24
-
25
- async showMessage() {
26
- const isSelectVersion: boolean = process.argv.includes('-v') || process.argv.includes('--version');
27
- const { status, statusText, data } = this.checkVersionResult;
28
- const isNewVersion: boolean = data.version === pkg.version;
29
- const isRequestSucc: boolean = status === undefined || !(status === 200 && statusText === 'OK');
30
- if (!isSelectVersion) {
31
- // 当天还没有输出过相关信息 && 如果请求成功 || 不是最新的版本
32
- if (!this.hasCheckedToday && (isRequestSucc || !isNewVersion)) {
33
- const release_version = `Release: ${data.version}`;
34
- const local_version = `Local : ${pkg.version}`;
35
- const release_version_line_length = 36 - release_version.length;
36
- const local_version_line_length = 36 - local_version.length;
37
- logger.log('\n ╭──────────────────────────────────────────╮');
38
- logger.log(' │ Serverless Tool │');
39
- logger.log(' │ │');
40
- logger.log(' │ ' + release_version + printn(release_version_line_length, ' ') + '│');
41
- logger.log(' │ ' + local_version + printn(local_version_line_length, ' ') + '│');
42
- logger.log(' │ │');
43
- logger.log(' │ │');
44
- logger.log(' │ You can upgrade through: │');
45
- logger.log(' │ npm install @serverless-devs/s -g │');
46
- logger.log(' ╰──────────────────────────────────────────╯\n');
47
- }
48
- } else {
49
- if (isNewVersion) {
50
- logger.log(`Serverless Tool Version: ${pkg.version} `);
51
- console.log('\n\n');
52
- } else {
53
- logger.log('Serverless Tool Version: ');
54
- logger.log(` Release: ${data.version} `);
55
- logger.log(` Local : ${pkg.version} `);
56
- logger.log('');
57
- logger.log(' You can upgrade through : npm install @serverless-devs/s -g');
58
- logger.log(' Update information:');
59
- data.message.forEach((message: any, index: any) => {
60
- logger.log(` ${index + 1}. ${message}`);
61
- });
62
- console.log('\n\n');
63
- }
64
- }
65
- }
66
-
67
- private async getVersion() {
68
-
69
- let SERVERLESS_CHECK_VERSION_URL;
70
- try {
71
- const lang = (await handlerProfileFile({ read: true, filePath: 'set-config.yml' }))['locale'] || 'en';
72
- SERVERLESS_CHECK_VERSION_URL = SERVERLESS_CHECK_VERSION + '?lang=' + lang;
73
- } catch (err) {
74
- SERVERLESS_CHECK_VERSION_URL = SERVERLESS_CHECK_VERSION;
75
- }
76
-
77
-
78
- try {
79
- let analysis = getConfig('analysis');
80
- if (analysis || analysis === undefined) {
81
- const historyFile = getHistoryFile();
82
- const historyCmds = fs.readFileSync(historyFile, 'utf-8');
83
- const getManager = new GetManager();
84
- const providerMap: any = {};
85
- for (let i = 0;i < providerArray.length;i++) {
86
- await getManager.initAccessData({'Provider': providerArray[i]});
87
- const tempData = await getManager.getUserSecretID({'Provider': providerArray[i]});
88
- if (providerArray[i] === 'alibaba') {
89
- providerMap[providerArray[i]] = providerMap[providerArray[i]] || [];
90
- // eslint-disable-next-line guard-for-in
91
- for (const item in tempData) {
92
- providerMap[providerArray[i]].push(tempData[item]['AccountID']);
93
- }
94
- } else {
95
- providerMap[providerArray[i]] = Object.keys(tempData).length;
96
- }
97
- }
98
-
99
- let postData: string;
100
- try {
101
- postData = JSON.stringify({'Account': providerMap, 'History': historyCmds});
102
- } catch (ex) {
103
- postData = String({'Account': providerMap, 'History': historyCmds});
104
- }
105
-
106
- try {
107
- this.checkVersionResult = await axios.post(SERVERLESS_CHECK_VERSION_URL, {state: 1, data: postData}, {
108
- timeout: 2000
109
- });
110
- fs.removeSync(historyFile);
111
- } catch (ex) {}
112
- } else {
113
- try {
114
- this.checkVersionResult = await axios.post(SERVERLESS_CHECK_VERSION_URL, {state: 0}, {
115
- timeout: 2000
116
- });
117
- } catch (ex) {}
118
- }
119
- } catch (e) {
120
- this.checkVersionResult = {};
121
- }
122
- await handlerProfileFile({
123
- data: Date.now(),
124
- configKey: 'check-version-time',
125
- filePath: 'cache.yml'
126
- });
127
- }
128
-
129
- // 当天是否验证过
130
- private async checkTime() {
131
- const profile = await handlerProfileFile({ read: true, filePath: 'cache.yml' });
132
- const checkVersionTime = profile['check-version-time'];
133
- console.log();
134
- //
135
- if (checkVersionTime) {
136
- this.hasCheckedToday = new Date(checkVersionTime).toDateString() === new Date().toDateString();
137
- }
138
- }
139
- }
@@ -1,123 +0,0 @@
1
- import {Command} from 'commander';
2
- import axios from 'axios';
3
- import logger from './logger';
4
- import * as storage from './storage';
5
- import {CheckVersion} from './check-version';
6
- import {Parse} from './parse';
7
- import * as fs from 'fs-extra';
8
- import * as os from 'os';
9
- import createUniversalCommand from '../command';
10
-
11
- const BASE_API_URL = 'https://tool.serverlessfans.com';
12
- const COMMAND_DESC_URL = '/api/package/command';
13
- export async function getCommandDetail(name: any, provider: any, version:any): Promise<Array<any>> {
14
- const url: any = `${BASE_API_URL}${COMMAND_DESC_URL}`;
15
- let command_list: any = [];
16
- try {
17
- const result: any = await axios.get(url, {
18
- params: {
19
- name, provider, version
20
- }
21
- });
22
- if (result.data && result.data.Response) {
23
- const command = result.data.Response.Command || {};
24
- command_list = Object.keys(command).map((key) => {
25
- return {
26
- name: key,
27
- desc: command[key]
28
- };
29
- });
30
- }
31
- } catch (e) {
32
- logger.error(e.message);
33
- }
34
- return command_list;
35
- }
36
- export async function getParsedTemplateObj(templateFile: any) {
37
- const parse = new Parse(templateFile);
38
- const parsedObj = parse.getOriginalParsedObj();
39
- return await parse.getRealVariables(parsedObj);
40
- }
41
-
42
- export function getCustomerCommandInfo(parsedTemplateObj: any): Array<string> {
43
-
44
- return Object.keys(parsedTemplateObj).filter(key => key !== 'Global');
45
- }
46
-
47
- export async function createCustomerCommand(templateFile: string): Promise<Array<any>> {
48
- const customerCommands : any = [];
49
- const doc = await getParsedTemplateObj(templateFile);
50
- const commandListPromise = getCustomerCommandInfo(doc).map(async (projectName) => {
51
- const projectDocDetail = doc[projectName];
52
- const { Provider, Component } = projectDocDetail;
53
- const commandList = await getCommandDetail(Component, Provider, '');
54
- return { projectName, commandList, projectDocDetail };
55
- });
56
- const commondListDetail = await Promise.all(commandListPromise);
57
- commondListDetail.forEach(({ projectName, commandList, projectDocDetail }) => {
58
- const customerCommand = new Command(projectName);
59
- commandList.forEach(async (command) => {
60
- const { name: commandName, desc } = command;
61
- const universialCommandInstance = await createUniversalCommand(commandName, projectName, desc);
62
- customerCommand.addCommand(universialCommandInstance);
63
- });
64
- customerCommands.push(customerCommand);
65
- });
66
- return customerCommands;
67
- }
68
-
69
- export function registerCommandChecker(program: any) {
70
- program.on('command:*', (cmds: any) => {
71
- const commands = program.commands.map((command: any) => command.name());
72
-
73
- if (!commands.includes(cmds[0])) {
74
- logger.error(` error: unknown command ${cmds[0]}`);
75
- logger.error();
76
- program.help();
77
- }
78
- });
79
- }
80
-
81
- export async function registerExitOverride(program: any) {
82
- const checkVersion = new CheckVersion();
83
- await checkVersion.init();
84
- program.exitOverride(async () => {
85
- checkVersion.showMessage();
86
- });
87
- }
88
-
89
- export async function registerCustomerCommand(system_command: any, templateFile: string) {
90
- if (templateFile) {
91
- const customerCommands = await createCustomerCommand(templateFile);
92
- customerCommands.forEach((command) => {
93
- system_command.addCommand(command);
94
- });
95
- }
96
- }
97
- export async function regiserUniversalCommand(system_command: any, templateFile: string) {
98
- if (templateFile) {
99
- const parsedTemplateObj = await getParsedTemplateObj(templateFile);
100
- const customerCommands = getCustomerCommandInfo(parsedTemplateObj);
101
- if ( process.argv[2] && !customerCommands.includes( process.argv[2])) {
102
- system_command.addCommand(createUniversalCommand( process.argv[2]));
103
- } else if ( process.argv[2] && customerCommands.includes( process.argv[2]) && process.argv[3] && !customerCommands.includes( process.argv[3])) {
104
- system_command.addCommand(createUniversalCommand( process.argv[3]));
105
- }
106
- }
107
-
108
- }
109
- export function registerVerbose(program: any) {
110
- if (process.argv.includes('--verbose')) {
111
- process.env.VERBOSE = program.verbose;
112
- }
113
- }
114
-
115
- export function recordCommandHistory(argv: string[]) {
116
- const file = storage.getHistoryFile();
117
- fs.appendFileSync(file, argv.join(',') + os.EOL);
118
- }
119
-
120
-
121
-
122
-
123
- export default registerCommandChecker;
@@ -1,47 +0,0 @@
1
- const path = require('path');
2
- const fs = require('fs');
3
-
4
-
5
-
6
- export function checkAndReturnTemplateFile() {
7
- const currentDir = process.cwd();
8
- const index = process.argv.indexOf('-t') || process.argv.indexOf('--template');
9
- if (index !== -1) {
10
- const tempFileIndex = index + 1;
11
- const tempFileName = process.argv[tempFileIndex];
12
- if (tempFileName) {
13
- if (tempFileName.endsWith('.yaml') || tempFileName.endsWith('.yml')) {
14
- if (fs.existsSync(path.join(currentDir, tempFileName))) {
15
- process.argv.splice(index, 2);
16
- return path.join(currentDir, tempFileName);
17
- } else if (fs.existsSync(tempFileName)) {
18
- process.argv.splice(index, 2);
19
- return tempFileName;
20
- }
21
- }
22
- }
23
- }
24
- if (fs.existsSync(path.join(currentDir, 'template.yaml'))) {
25
- return path.join(currentDir, 'template.yaml');
26
- }
27
- if (fs.existsSync(path.join(currentDir, 'template.yml'))) {
28
- return path.join(currentDir, 'template.yml');
29
- }
30
- return null;
31
- }
32
-
33
- export function checkTemplateFile(templateFile: string) {
34
- if (fs.existsSync(templateFile)) {
35
- return templateFile;
36
- }
37
- return null;
38
- }
39
-
40
-
41
- export function printn(n: number, str = ' ') {
42
- let temp_str = '';
43
- for (let i = 0;i < n;i++) {
44
- temp_str = temp_str + str;
45
- }
46
- return temp_str;
47
- }
@@ -1,197 +0,0 @@
1
- import * as URL from 'url';
2
- import * as path from 'path';
3
- import * as download from 'download';
4
- import * as os from 'os';
5
- import * as fs from 'fs-extra';
6
- import axios from 'axios';
7
- import * as inquirer from 'inquirer';
8
- import { InitError } from '../error/init-error';
9
- import * as ChildProcess from 'child_process';
10
- import * as util from 'util';
11
- import logger from '../utils/logger';
12
- import { PackageType } from '../utils/package-type';
13
- import { RepoTemplate } from './repo-template-entity';
14
- import i18n from './i18n';
15
- import { SERVERLESS_GET_PACKAGE_PROVIDER, SERVERLESS_GET_APP_INFO_URL } from '../constants/static-variable';
16
- // eslint-disable-next-line no-unused-vars
17
- import {ProgressService, ProgressType, ProgressBarOptions} from '@serverless-devs/s-progress-bar';
18
- const got = require('got');
19
- import {green} from 'colors';
20
-
21
-
22
- export class DownloadManager {
23
- constructor() {
24
-
25
- }
26
-
27
- /**
28
- * Download template from app center
29
- * @param packageType: package type, such as application, component or plugin
30
- * @param packageName: package name
31
- * @param outputDir: outputDir
32
- * @param provider: package provider, will promopt if not given
33
- */
34
- async downloadTemplateFromAppCenter(packageType: PackageType, packageName: string, outputDir: string, provider?: string) {
35
- if (packageType !== PackageType.plugin && !provider) {
36
- try {
37
- provider = await this.getPackageProvider(packageType, packageName);
38
- logger.info(' Init Information:');
39
- logger.info(i18n.__(` Package: {{package}} Provider: {{provider}}`, {'package': packageName, 'provider': provider}));
40
- } catch (err) {
41
- throw new InitError(err.message);
42
- }
43
- }
44
-
45
- try {
46
- const url = await this.getPackageDownloadUrl(packageType, packageName, provider);
47
- await this.downloadTemplateByUrl({
48
- zipFile: url,
49
- hasSubPath: false
50
- }, outputDir);
51
- // logger.success('Download Success......');
52
- } catch (err) {
53
- throw err;
54
- }
55
- }
56
-
57
- async downloadTemplateByUrl(template: RepoTemplate, outputDir: string) {
58
- const uuid = this.generateUUID();
59
- const srcDirName = path.join(os.tmpdir(), `${uuid}`);
60
- try {
61
- await this.proxyDownload(template.zipFile, srcDirName, { extract: true, strip: 1 });
62
- } catch (err) {
63
- throw new InitError('Download template by url failed, error: {{msg}}', { msg: err.message });
64
- }
65
-
66
- if (!template.hasSubPath) {
67
- fs.copySync(srcDirName, outputDir, { dereference: true });
68
- } else {
69
- const srcSubDirName = path.join(srcDirName, template.subPath || '');
70
- const destSubDirName = path.join(outputDir, template.subPath || '');
71
- fs.copySync(srcSubDirName, destSubDirName, { dereference: true });
72
- }
73
- }
74
-
75
- async downloadTemplateByGitClone(url: URL.Url, outputDir: string) {
76
- let cmd = `git clone ${url.href} ${outputDir}`;
77
- const exec = util.promisify(ChildProcess.exec);
78
- try {
79
- await exec(cmd);
80
- } catch (err) {
81
- throw err;
82
- }
83
- }
84
-
85
- private async getPackageProvider(packageType: PackageType, project: string): Promise<string> {
86
- const options = {
87
- url: SERVERLESS_GET_PACKAGE_PROVIDER,
88
- type: 'get',
89
- timeout: 5000,
90
- headers: {},
91
- params: {
92
- name: project,
93
- type: PackageType[packageType]
94
- }
95
- };
96
-
97
- let result;
98
- try {
99
- result = await axios.request(options);
100
- } catch (err) {
101
- throw new InitError('Failed to get package provider, error: {{msg}}', {msg: err.message});
102
- }
103
- if (result.status !== 200) {
104
- throw new InitError('Failed to get package provider, http code: {{code}}', {code: result.status});
105
- }
106
- if (result.data.Error) {
107
- throw new InitError('Failed to get package provider, error message: {{msg}}', {msg: result.data.Error});
108
- }
109
-
110
- const providers: string[] = result.data.Response.Providers;
111
- if (!providers || providers.length === 0) {
112
- throw new InitError('No available provider for {{project}}', {project: project});
113
- }
114
-
115
- if (providers.length === 0) {
116
- throw new InitError('Could not get package.');
117
- } else if (providers.length === 1) {
118
- return providers[0];
119
- } else {
120
- let {provider} = await inquirer.prompt([
121
- {
122
- type: 'list',
123
- name: 'provider',
124
- message: i18n.__('Please choose a provider'),
125
- choices: providers
126
- }
127
- ]);
128
- return new Promise((resolve, reject) => {
129
- resolve(provider);
130
- });
131
- }
132
- }
133
-
134
- private async getPackageDownloadUrl(
135
- packageType: PackageType, packageName: any, provider: any): Promise<string> {
136
- const options = {
137
- url: SERVERLESS_GET_APP_INFO_URL,
138
- type: 'get',
139
- timeout: 5000,
140
- headers: {
141
- 'User-Agent': 's'
142
- },
143
- params: {
144
- name: packageName,
145
- provider: provider,
146
- type: PackageType[packageType]
147
- }
148
- };
149
- const result = await axios.request(options);
150
- if (result.status !== 200) {
151
- throw new InitError('Failed to get package information, http code: {{code}}', { code: result.status });
152
- }
153
- if (!result.data.Response) {
154
- throw new InitError('Failed to get package information, error: {{msg}}', { msg: result.data.Response || i18n.__('Please try again later') });
155
- }
156
- return new Promise((resolve, reject) => {
157
- resolve(result.data.Response.Url);
158
- });
159
- }
160
-
161
- private generateUUID(): string {
162
- return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
163
- }
164
-
165
- async proxyDownload(url: string, dest: string, options: download.DownloadOptions) {
166
- let len;
167
- try {
168
- const {headers} = await got(url, {method: 'HEAD'});
169
- len = parseInt(headers['content-length'], 10);
170
- } catch (err) {
171
- // ignore error
172
- }
173
-
174
- let bar :ProgressService;
175
- if (len) {
176
- let pbo :ProgressBarOptions = {
177
- total: len
178
- };
179
- bar = new ProgressService(ProgressType.Bar, pbo);
180
- } else {
181
- let pbo :ProgressBarOptions = {
182
- total: 100,
183
- width: 0
184
- };
185
- let format = `${green(':loading')} ${green(i18n.__('Downloading ...'))} `;
186
- bar = new ProgressService(ProgressType.Loading, pbo, format);
187
- }
188
-
189
- await download(url, dest, options).on(
190
- 'downloadProgress', progress => {
191
- bar.update(progress.transferred);
192
- }
193
- );
194
- bar.terminate();
195
- }
196
- }
197
-
@@ -1,83 +0,0 @@
1
- const os = require('os');
2
- const fs = require('fs');
3
- const path = require('path');
4
- const yaml = require('js-yaml');
5
-
6
- interface ProfileParame {
7
- data?: any;
8
- configKey?: string;
9
- read?: boolean;
10
- filePath?: string;
11
- }
12
-
13
- interface Profile {
14
- [key: string]: any;
15
- }
16
-
17
- export function setConfig(key: string, value: any) {
18
- const profile = getProfileFile();
19
- profile[key] = value;
20
- setProfileFile(profile);
21
- }
22
-
23
- export function getConfig(key: string): any {
24
- const profile = getProfileFile();
25
- return profile[key];
26
- }
27
-
28
- export async function handlerProfileFile(parame: ProfileParame) {
29
- const filePath = parame.filePath || 'set-config.yml';
30
- const profPath = path.join(os.homedir(), `.s/${filePath}`);
31
- const isExists = fs.existsSync(profPath);
32
-
33
- let profile: Profile = {};
34
-
35
- // 如果文件和目录不存在则创建,存在则读取
36
- if (!isExists) {
37
- const configDir = path.join(os.homedir(), '.s');
38
- try {
39
- fs.statSync(configDir);
40
- } catch (e) {
41
- await fs.mkdirSync(configDir);
42
- }
43
- } else {
44
- try {
45
- profile = yaml.safeLoad(fs.readFileSync(profPath, 'utf8')) || {};
46
- } catch (e) {
47
- throw e;
48
- }
49
- }
50
-
51
- // 如果仅是读取,则拿到配置信息直接退出
52
- if (parame.read) {
53
- return profile;
54
- }
55
-
56
- // 修改配置
57
- const configKey = parame.configKey || '';
58
- profile[configKey] = parame.data;
59
- await fs.writeFileSync(profPath, yaml.dump(profile));
60
- return profile;
61
- }
62
-
63
-
64
- function setProfileFile(profile: Profile) {
65
- const profileFilePath = getDefaultProfilePath();
66
- fs.writeFileSync(profileFilePath, yaml.dump(profile));
67
- }
68
-
69
- function getProfileFile() : Profile {
70
- const profileFilePath = getDefaultProfilePath();
71
- if (!fs.existsSync(profileFilePath)) {
72
- return {};
73
- }
74
- try {
75
- return yaml.safeLoad(fs.readFileSync(profileFilePath, 'utf8')) || {};
76
- } catch (e) {
77
- throw e;
78
- }
79
- }
80
-
81
- function getDefaultProfilePath(): string {
82
- return path.join(os.homedir(), '.s', 'set-config.yml');
83
- }
package/src/utils/i18n.ts DELETED
@@ -1,21 +0,0 @@
1
- import * as config from './handler-set-config';
2
- const i18n = require('i18n');
3
-
4
- i18n.configure({
5
- logDebugFn: function (msg?:any) {},
6
- logWarnFn: function (msg?:any) {},
7
- logErrorFn: function (msg?:any) {},
8
- locales: ['en', 'zh'],
9
- directory: __dirname + '/locales',
10
- register: global
11
- });
12
-
13
- const locale = config.getConfig('locale');
14
- if (locale) {
15
- i18n.setLocale(locale);
16
- } else {
17
- i18n.setLocale('en');
18
- }
19
-
20
-
21
- export default i18n;