@hubspot/cli 6.2.0 → 6.2.2-experimental.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 (347) hide show
  1. package/bin/cli.d.ts +2 -0
  2. package/bin/cli.js +107 -128
  3. package/commands/accounts/clean.d.ts +4 -0
  4. package/commands/accounts/clean.js +80 -116
  5. package/commands/accounts/info.d.ts +4 -0
  6. package/commands/accounts/info.js +30 -43
  7. package/commands/accounts/list.d.ts +4 -0
  8. package/commands/accounts/list.js +63 -92
  9. package/commands/accounts/remove.d.ts +4 -0
  10. package/commands/accounts/remove.js +41 -73
  11. package/commands/accounts/rename.d.ts +4 -0
  12. package/commands/accounts/rename.js +24 -41
  13. package/commands/accounts/use.d.ts +4 -0
  14. package/commands/accounts/use.js +34 -57
  15. package/commands/accounts.d.ts +3 -0
  16. package/commands/accounts.js +14 -18
  17. package/commands/auth.d.ts +4 -0
  18. package/commands/auth.js +131 -200
  19. package/commands/cms/convertFields.d.ts +4 -0
  20. package/commands/cms/convertFields.js +64 -81
  21. package/commands/cms/lighthouseScore.d.ts +4 -0
  22. package/commands/cms/lighthouseScore.js +234 -298
  23. package/commands/cms/reactModules.d.ts +4 -0
  24. package/commands/cms/reactModules.js +44 -53
  25. package/commands/cms.d.ts +3 -0
  26. package/commands/cms.js +9 -13
  27. package/commands/config/set/allowUsageTracking.d.ts +4 -0
  28. package/commands/config/set/allowUsageTracking.js +31 -38
  29. package/commands/config/set/defaultMode.d.ts +4 -0
  30. package/commands/config/set/defaultMode.js +32 -43
  31. package/commands/config/set/httpTimeout.d.ts +4 -0
  32. package/commands/config/set/httpTimeout.js +21 -30
  33. package/commands/config/set.d.ts +4 -0
  34. package/commands/config/set.js +61 -76
  35. package/commands/config.d.ts +3 -0
  36. package/commands/config.js +5 -9
  37. package/commands/create/api-sample.d.ts +13 -0
  38. package/commands/create/api-sample.js +52 -74
  39. package/commands/create/app.d.ts +10 -0
  40. package/commands/create/app.js +6 -7
  41. package/commands/create/function.d.ts +6 -0
  42. package/commands/create/function.js +13 -14
  43. package/commands/create/index.d.ts +109 -0
  44. package/commands/create/index.js +10 -9
  45. package/commands/create/module.d.ts +11 -0
  46. package/commands/create/module.js +19 -19
  47. package/commands/create/react-app.d.ts +9 -0
  48. package/commands/create/react-app.js +5 -6
  49. package/commands/create/template.d.ts +12 -0
  50. package/commands/create/template.js +21 -24
  51. package/commands/create/vue-app.d.ts +9 -0
  52. package/commands/create/vue-app.js +5 -6
  53. package/commands/create/webpack-serverless.d.ts +9 -0
  54. package/commands/create/webpack-serverless.js +5 -6
  55. package/commands/create/website-theme.d.ts +9 -0
  56. package/commands/create/website-theme.js +13 -15
  57. package/commands/create.d.ts +4 -0
  58. package/commands/create.js +62 -80
  59. package/commands/customObject/create.d.ts +4 -0
  60. package/commands/customObject/create.js +31 -47
  61. package/commands/customObject/schema/create.d.ts +4 -0
  62. package/commands/customObject/schema/create.js +40 -67
  63. package/commands/customObject/schema/delete.d.ts +4 -0
  64. package/commands/customObject/schema/delete.js +26 -39
  65. package/commands/customObject/schema/fetch-all.d.ts +4 -0
  66. package/commands/customObject/schema/fetch-all.js +28 -39
  67. package/commands/customObject/schema/fetch.d.ts +4 -0
  68. package/commands/customObject/schema/fetch.js +46 -63
  69. package/commands/customObject/schema/list.d.ts +3 -0
  70. package/commands/customObject/schema/list.js +12 -17
  71. package/commands/customObject/schema/update.d.ts +4 -0
  72. package/commands/customObject/schema/update.js +44 -72
  73. package/commands/customObject/schema.d.ts +3 -0
  74. package/commands/customObject/schema.js +10 -12
  75. package/commands/customObject.d.ts +3 -0
  76. package/commands/customObject.js +12 -22
  77. package/commands/feedback.d.ts +4 -0
  78. package/commands/feedback.js +23 -33
  79. package/commands/fetch.d.ts +4 -0
  80. package/commands/fetch.js +51 -78
  81. package/commands/filemanager/fetch.d.ts +4 -0
  82. package/commands/filemanager/fetch.js +36 -56
  83. package/commands/filemanager/upload.d.ts +4 -0
  84. package/commands/filemanager/upload.js +86 -128
  85. package/commands/filemanager.d.ts +3 -0
  86. package/commands/filemanager.js +10 -18
  87. package/commands/functions/deploy.d.ts +4 -0
  88. package/commands/functions/deploy.js +74 -99
  89. package/commands/functions/list.d.ts +4 -0
  90. package/commands/functions/list.js +29 -47
  91. package/commands/functions/server.d.ts +4 -0
  92. package/commands/functions/server.js +48 -65
  93. package/commands/functions.d.ts +3 -0
  94. package/commands/functions.js +11 -15
  95. package/commands/hubdb/clear.d.ts +4 -0
  96. package/commands/hubdb/clear.js +35 -56
  97. package/commands/hubdb/create.d.ts +4 -0
  98. package/commands/hubdb/create.js +32 -57
  99. package/commands/hubdb/delete.d.ts +4 -0
  100. package/commands/hubdb/delete.js +27 -44
  101. package/commands/hubdb/fetch.d.ts +4 -0
  102. package/commands/hubdb/fetch.js +28 -46
  103. package/commands/hubdb.d.ts +3 -0
  104. package/commands/hubdb.js +10 -14
  105. package/commands/init.d.ts +4 -0
  106. package/commands/init.js +101 -160
  107. package/commands/lint.d.ts +4 -0
  108. package/commands/lint.js +32 -45
  109. package/commands/list.d.ts +4 -0
  110. package/commands/list.js +72 -101
  111. package/commands/logs.d.ts +4 -0
  112. package/commands/logs.js +96 -121
  113. package/commands/module/marketplace-validate.d.ts +4 -0
  114. package/commands/module/marketplace-validate.js +30 -57
  115. package/commands/module.d.ts +3 -0
  116. package/commands/module.js +5 -9
  117. package/commands/mv.d.ts +4 -0
  118. package/commands/mv.js +51 -71
  119. package/commands/open.d.ts +4 -0
  120. package/commands/open.js +46 -62
  121. package/commands/project/add.d.ts +4 -0
  122. package/commands/project/add.js +45 -70
  123. package/commands/project/cloneApp.d.ts +4 -0
  124. package/commands/project/cloneApp.js +117 -180
  125. package/commands/project/create.d.ts +4 -0
  126. package/commands/project/create.js +47 -81
  127. package/commands/project/deploy.d.ts +4 -0
  128. package/commands/project/deploy.js +103 -182
  129. package/commands/project/dev.d.ts +4 -0
  130. package/commands/project/dev.js +123 -227
  131. package/commands/project/download.d.ts +4 -0
  132. package/commands/project/download.js +71 -123
  133. package/commands/project/installDeps.d.ts +6 -0
  134. package/commands/project/installDeps.js +50 -59
  135. package/commands/project/listBuilds.d.ts +4 -0
  136. package/commands/project/listBuilds.js +95 -139
  137. package/commands/project/logs.d.ts +4 -0
  138. package/commands/project/logs.js +84 -128
  139. package/commands/project/migrateApp.d.ts +4 -0
  140. package/commands/project/migrateApp.js +156 -248
  141. package/commands/project/open.d.ts +4 -0
  142. package/commands/project/open.js +42 -68
  143. package/commands/project/upload.d.ts +4 -0
  144. package/commands/project/upload.js +70 -116
  145. package/commands/project/watch.d.ts +4 -0
  146. package/commands/project/watch.js +92 -152
  147. package/commands/project.d.ts +3 -0
  148. package/commands/project.js +19 -23
  149. package/commands/remove.d.ts +4 -0
  150. package/commands/remove.js +26 -43
  151. package/commands/sandbox/create.d.ts +4 -0
  152. package/commands/sandbox/create.js +141 -187
  153. package/commands/sandbox/delete.d.ts +4 -0
  154. package/commands/sandbox/delete.js +164 -221
  155. package/commands/sandbox.d.ts +3 -0
  156. package/commands/sandbox.js +8 -12
  157. package/commands/secrets/addSecret.d.ts +4 -0
  158. package/commands/secrets/addSecret.js +32 -52
  159. package/commands/secrets/deleteSecret.d.ts +4 -0
  160. package/commands/secrets/deleteSecret.js +31 -50
  161. package/commands/secrets/listSecrets.d.ts +4 -0
  162. package/commands/secrets/listSecrets.js +26 -42
  163. package/commands/secrets/updateSecret.d.ts +4 -0
  164. package/commands/secrets/updateSecret.js +33 -53
  165. package/commands/secrets.d.ts +3 -0
  166. package/commands/secrets.js +10 -13
  167. package/commands/theme/generate-selectors.d.ts +4 -0
  168. package/commands/theme/generate-selectors.js +127 -192
  169. package/commands/theme/marketplace-validate.d.ts +4 -0
  170. package/commands/theme/marketplace-validate.js +30 -57
  171. package/commands/theme/preview.d.ts +4 -0
  172. package/commands/theme/preview.js +161 -196
  173. package/commands/theme.d.ts +3 -0
  174. package/commands/theme.js +7 -11
  175. package/commands/upload.d.ts +4 -0
  176. package/commands/upload.js +197 -287
  177. package/commands/watch.d.ts +4 -0
  178. package/commands/watch.js +126 -172
  179. package/lang/en.lyaml +2 -3
  180. package/lib/DevServerManager.d.ts +35 -0
  181. package/lib/DevServerManager.js +97 -124
  182. package/lib/LocalDevManager.d.ts +41 -0
  183. package/lib/LocalDevManager.js +320 -490
  184. package/lib/accountTypes.d.ts +6 -0
  185. package/lib/accountTypes.js +16 -32
  186. package/lib/buildAccount.d.ts +22 -0
  187. package/lib/buildAccount.js +130 -179
  188. package/lib/commonOpts.d.ts +20 -0
  189. package/lib/commonOpts.js +58 -91
  190. package/lib/constants.d.ts +83 -0
  191. package/lib/constants.js +61 -71
  192. package/lib/debugInfo.d.ts +3 -0
  193. package/lib/debugInfo.js +12 -13
  194. package/lib/dependencyManagement.d.ts +7 -0
  195. package/lib/dependencyManagement.js +90 -132
  196. package/lib/developerTestAccounts.d.ts +7 -0
  197. package/lib/developerTestAccounts.js +65 -91
  198. package/lib/enums/exitCodes.d.ts +5 -0
  199. package/lib/enums/exitCodes.js +5 -7
  200. package/lib/environment.d.ts +1 -0
  201. package/lib/environment.js +10 -10
  202. package/lib/errorHandlers/index.d.ts +19 -0
  203. package/lib/errorHandlers/index.js +64 -80
  204. package/lib/errorHandlers/suppressError.d.ts +1 -0
  205. package/lib/errorHandlers/suppressError.js +64 -106
  206. package/lib/filesystem.d.ts +2 -0
  207. package/lib/filesystem.js +16 -24
  208. package/lib/generate-selectors.d.ts +6 -0
  209. package/lib/generate-selectors.js +99 -137
  210. package/lib/getFunctionArrays.d.ts +1 -0
  211. package/lib/getFunctionArrays.js +12 -13
  212. package/lib/hasFeature.d.ts +1 -0
  213. package/lib/hasFeature.js +5 -11
  214. package/lib/hasFlag.d.ts +2 -0
  215. package/lib/hasFlag.js +6 -10
  216. package/lib/hublValidate.d.ts +4 -0
  217. package/lib/hublValidate.js +20 -24
  218. package/lib/interpolation.d.ts +10 -0
  219. package/lib/interpolation.js +48 -92
  220. package/lib/interpolationHelpers.d.ts +6 -0
  221. package/lib/interpolationHelpers.js +19 -19
  222. package/lib/lang.d.ts +3 -0
  223. package/lib/lang.js +50 -78
  224. package/lib/links.d.ts +127 -0
  225. package/lib/links.js +92 -114
  226. package/lib/localDev.d.ts +11 -0
  227. package/lib/localDev.js +283 -433
  228. package/lib/marketplace-validate.d.ts +5 -0
  229. package/lib/marketplace-validate.js +103 -126
  230. package/lib/oauth.d.ts +1 -0
  231. package/lib/oauth.js +62 -78
  232. package/lib/polling.d.ts +1 -0
  233. package/lib/polling.js +24 -26
  234. package/lib/process.d.ts +2 -0
  235. package/lib/process.js +39 -53
  236. package/lib/projectLogsManager.d.ts +19 -0
  237. package/lib/projectLogsManager.js +76 -130
  238. package/lib/projectStructure.d.ts +13 -0
  239. package/lib/projectStructure.js +87 -109
  240. package/lib/projects.d.ts +40 -0
  241. package/lib/projects.js +589 -957
  242. package/lib/projectsWatch.d.ts +1 -0
  243. package/lib/projectsWatch.js +122 -228
  244. package/lib/prompts/accountNamePrompt.d.ts +11 -0
  245. package/lib/prompts/accountNamePrompt.js +58 -65
  246. package/lib/prompts/accountsPrompt.d.ts +3 -0
  247. package/lib/prompts/accountsPrompt.js +31 -37
  248. package/lib/prompts/activeInstallConfirmationPrompt.d.ts +1 -0
  249. package/lib/prompts/activeInstallConfirmationPrompt.js +11 -13
  250. package/lib/prompts/cleanUploadPrompt.d.ts +1 -0
  251. package/lib/prompts/cleanUploadPrompt.js +11 -13
  252. package/lib/prompts/cmsFieldPrompt.d.ts +1 -0
  253. package/lib/prompts/cmsFieldPrompt.js +35 -39
  254. package/lib/prompts/createApiSamplePrompt.d.ts +1 -0
  255. package/lib/prompts/createApiSamplePrompt.js +47 -52
  256. package/lib/prompts/createFunctionPrompt.d.ts +1 -0
  257. package/lib/prompts/createFunctionPrompt.js +55 -56
  258. package/lib/prompts/createModulePrompt.d.ts +1 -0
  259. package/lib/prompts/createModulePrompt.js +45 -50
  260. package/lib/prompts/createProjectPrompt.d.ts +1 -0
  261. package/lib/prompts/createProjectPrompt.js +88 -127
  262. package/lib/prompts/createTemplatePrompt.d.ts +1 -0
  263. package/lib/prompts/createTemplatePrompt.js +16 -19
  264. package/lib/prompts/deployBuildIdPrompt.d.ts +1 -0
  265. package/lib/prompts/deployBuildIdPrompt.js +13 -15
  266. package/lib/prompts/downloadProjectPrompt.d.ts +1 -0
  267. package/lib/prompts/downloadProjectPrompt.js +36 -40
  268. package/lib/prompts/feedbackPrompt.d.ts +2 -0
  269. package/lib/prompts/feedbackPrompt.js +27 -30
  270. package/lib/prompts/folderOverwritePrompt.d.ts +1 -0
  271. package/lib/prompts/folderOverwritePrompt.js +8 -10
  272. package/lib/prompts/installPublicAppPrompt.d.ts +1 -0
  273. package/lib/prompts/installPublicAppPrompt.js +27 -42
  274. package/lib/prompts/personalAccessKeyPrompt.d.ts +69 -0
  275. package/lib/prompts/personalAccessKeyPrompt.js +102 -110
  276. package/lib/prompts/previewPrompt.d.ts +2 -0
  277. package/lib/prompts/previewPrompt.js +44 -47
  278. package/lib/prompts/projectAddPrompt.d.ts +1 -0
  279. package/lib/prompts/projectAddPrompt.js +35 -38
  280. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +4 -0
  281. package/lib/prompts/projectDevTargetAccountPrompt.js +148 -193
  282. package/lib/prompts/projectNamePrompt.d.ts +1 -0
  283. package/lib/prompts/projectNamePrompt.js +23 -25
  284. package/lib/prompts/projectsLogsPrompt.d.ts +5 -0
  285. package/lib/prompts/projectsLogsPrompt.js +19 -27
  286. package/lib/prompts/promptUtils.d.ts +2 -0
  287. package/lib/prompts/promptUtils.js +15 -17
  288. package/lib/prompts/sandboxesPrompt.d.ts +2 -0
  289. package/lib/prompts/sandboxesPrompt.js +48 -59
  290. package/lib/prompts/secretPrompt.d.ts +1 -0
  291. package/lib/prompts/secretPrompt.js +13 -16
  292. package/lib/prompts/selectPublicAppPrompt.d.ts +5 -0
  293. package/lib/prompts/selectPublicAppPrompt.js +55 -81
  294. package/lib/prompts/setAsDefaultAccountPrompt.d.ts +1 -0
  295. package/lib/prompts/setAsDefaultAccountPrompt.js +17 -24
  296. package/lib/prompts/uploadPrompt.d.ts +1 -0
  297. package/lib/prompts/uploadPrompt.js +28 -30
  298. package/lib/regex.d.ts +1 -0
  299. package/lib/regex.js +2 -2
  300. package/lib/sandboxSync.d.ts +8 -0
  301. package/lib/sandboxSync.js +98 -166
  302. package/lib/sandboxes.d.ts +40 -0
  303. package/lib/sandboxes.js +199 -316
  304. package/lib/schema.d.ts +2 -0
  305. package/lib/schema.js +20 -26
  306. package/lib/serverlessLogs.d.ts +8 -0
  307. package/lib/serverlessLogs.js +128 -172
  308. package/lib/ui/SpinniesManager.d.ts +61 -0
  309. package/lib/ui/SpinniesManager.js +196 -254
  310. package/lib/ui/git.d.ts +1 -0
  311. package/lib/ui/git.js +18 -19
  312. package/lib/ui/index.d.ts +36 -0
  313. package/lib/ui/index.js +115 -167
  314. package/lib/ui/serverlessFunctionLogs.d.ts +1 -0
  315. package/lib/ui/serverlessFunctionLogs.js +51 -70
  316. package/lib/ui/spinniesUtils.d.ts +60 -0
  317. package/lib/ui/spinniesUtils.js +109 -133
  318. package/lib/ui/supportHyperlinks.d.ts +3 -0
  319. package/lib/ui/supportHyperlinks.js +46 -61
  320. package/lib/ui/supportsColor.d.ts +13 -0
  321. package/lib/ui/supportsColor.js +78 -108
  322. package/lib/ui/table.d.ts +2 -0
  323. package/lib/ui/table.js +47 -55
  324. package/lib/upload.d.ts +1 -0
  325. package/lib/upload.js +37 -42
  326. package/lib/usageTracking.d.ts +6 -0
  327. package/lib/usageTracking.js +131 -155
  328. package/lib/validation.d.ts +16 -0
  329. package/lib/validation.js +142 -203
  330. package/package.json +78 -48
  331. package/CHANGELOG.md +0 -16
  332. package/LICENSE +0 -12
  333. package/README.md +0 -154
  334. package/commands/__tests__/projects.test.js +0 -105
  335. package/commands/project/__tests__/deploy.test.js +0 -443
  336. package/commands/project/__tests__/installDeps.test.js +0 -168
  337. package/commands/project/__tests__/logs.test.js +0 -304
  338. package/hubspot.sample.config.yml +0 -28
  339. package/jest.config.js +0 -4
  340. package/lib/__tests__/commonOpts.test.js +0 -83
  341. package/lib/__tests__/dependencyManagement.test.js +0 -243
  342. package/lib/__tests__/downloadProjectPrompt.test.js +0 -31
  343. package/lib/__tests__/projectLogsManager.test.js +0 -212
  344. package/lib/__tests__/projects.test.js +0 -140
  345. package/lib/__tests__/serverlessLogs.test.js +0 -162
  346. package/lib/__tests__/validation.test.js +0 -140
  347. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -46
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  https://github.com/jbcarpanelli/spinnies
3
4
 
@@ -9,166 +10,141 @@ The above copyright notice and this permission notice shall be included in all c
9
10
  **/
10
11
  const readline = require('readline');
11
12
  const stripAnsi = require('strip-ansi');
12
-
13
13
  const VALID_STATUSES = [
14
- 'succeed',
15
- 'fail',
16
- 'spinning',
17
- 'non-spinnable',
18
- 'stopped',
14
+ 'succeed',
15
+ 'fail',
16
+ 'spinning',
17
+ 'non-spinnable',
18
+ 'stopped',
19
19
  ];
20
20
  const VALID_COLORS = [
21
- 'black',
22
- 'red',
23
- 'green',
24
- 'yellow',
25
- 'blue',
26
- 'magenta',
27
- 'cyan',
28
- 'white',
29
- 'gray',
30
- 'redBright',
31
- 'greenBright',
32
- 'yellowBright',
33
- 'blueBright',
34
- 'magentaBright',
35
- 'cyanBright',
36
- 'whiteBright',
21
+ 'black',
22
+ 'red',
23
+ 'green',
24
+ 'yellow',
25
+ 'blue',
26
+ 'magenta',
27
+ 'cyan',
28
+ 'white',
29
+ 'gray',
30
+ 'redBright',
31
+ 'greenBright',
32
+ 'yellowBright',
33
+ 'blueBright',
34
+ 'magentaBright',
35
+ 'cyanBright',
36
+ 'whiteBright',
37
37
  ];
38
38
  const SPINNERS = {
39
- dots: {
40
- interval: 50,
41
- frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],
42
- },
43
- dashes: {
44
- interval: 80,
45
- frames: ['-', '_'],
46
- },
39
+ dots: {
40
+ interval: 50,
41
+ frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],
42
+ },
43
+ dashes: {
44
+ interval: 80,
45
+ frames: ['-', '_'],
46
+ },
47
47
  };
48
-
49
48
  function purgeSpinnerOptions(options) {
50
- const { text, status, indent } = options;
51
- const opts = { text, status, indent };
52
- const colors = colorOptions(options);
53
-
54
- if (!VALID_STATUSES.includes(status)) delete opts.status;
55
- if (typeof text !== 'string') delete opts.text;
56
- if (typeof indent !== 'number') delete opts.indent;
57
-
58
- return { ...colors, ...opts };
49
+ const { text, status, indent } = options;
50
+ const opts = { text, status, indent };
51
+ const colors = colorOptions(options);
52
+ if (!VALID_STATUSES.includes(status))
53
+ delete opts.status;
54
+ if (typeof text !== 'string')
55
+ delete opts.text;
56
+ if (typeof indent !== 'number')
57
+ delete opts.indent;
58
+ return { ...colors, ...opts };
59
59
  }
60
-
61
60
  function purgeSpinnersOptions({ spinner, disableSpins, ...others }) {
62
- const colors = colorOptions(others);
63
- const prefixes = prefixOptions(others);
64
- const disableSpinsOption =
65
- typeof disableSpins === 'boolean' ? { disableSpins } : {};
66
- spinner = turnToValidSpinner(spinner);
67
-
68
- return { ...colors, ...prefixes, ...disableSpinsOption, spinner };
61
+ const colors = colorOptions(others);
62
+ const prefixes = prefixOptions(others);
63
+ const disableSpinsOption = typeof disableSpins === 'boolean' ? { disableSpins } : {};
64
+ spinner = turnToValidSpinner(spinner);
65
+ return { ...colors, ...prefixes, ...disableSpinsOption, spinner };
69
66
  }
70
-
71
67
  function turnToValidSpinner(spinner = {}) {
72
- const platformSpinner = terminalSupportsUnicode()
73
- ? SPINNERS.dots
74
- : SPINNERS.dashes;
75
- if (typeof spinner !== 'object') {
76
- return platformSpinner;
77
- }
78
- let { interval, frames } = spinner;
79
- if (!Array.isArray(frames) || frames.length < 1)
80
- frames = platformSpinner.frames;
81
- if (typeof interval !== 'number') {
82
- interval = platformSpinner.interval;
83
- }
84
-
85
- return { interval, frames };
68
+ const platformSpinner = terminalSupportsUnicode()
69
+ ? SPINNERS.dots
70
+ : SPINNERS.dashes;
71
+ if (typeof spinner !== 'object') {
72
+ return platformSpinner;
73
+ }
74
+ let { interval, frames } = spinner;
75
+ if (!Array.isArray(frames) || frames.length < 1)
76
+ frames = platformSpinner.frames;
77
+ if (typeof interval !== 'number') {
78
+ interval = platformSpinner.interval;
79
+ }
80
+ return { interval, frames };
86
81
  }
87
-
88
82
  function colorOptions({ color, succeedColor, failColor, spinnerColor }) {
89
- const colors = { color, succeedColor, failColor, spinnerColor };
90
- Object.keys(colors).forEach(key => {
91
- if (!VALID_COLORS.includes(colors[key])) {
92
- delete colors[key];
93
- }
94
- });
95
-
96
- return colors;
83
+ const colors = { color, succeedColor, failColor, spinnerColor };
84
+ Object.keys(colors).forEach(key => {
85
+ if (!VALID_COLORS.includes(colors[key])) {
86
+ delete colors[key];
87
+ }
88
+ });
89
+ return colors;
97
90
  }
98
-
99
91
  function prefixOptions({ succeedPrefix, failPrefix }) {
100
- if (terminalSupportsUnicode()) {
101
- succeedPrefix = succeedPrefix || '✓';
102
- failPrefix = failPrefix || '✖';
103
- } else {
104
- succeedPrefix = succeedPrefix || '√';
105
- failPrefix = failPrefix || '×';
106
- }
107
-
108
- return { succeedPrefix, failPrefix };
92
+ if (terminalSupportsUnicode()) {
93
+ succeedPrefix = succeedPrefix || '✓';
94
+ failPrefix = failPrefix || '✖';
95
+ }
96
+ else {
97
+ succeedPrefix = succeedPrefix || '';
98
+ failPrefix = failPrefix || '×';
99
+ }
100
+ return { succeedPrefix, failPrefix };
109
101
  }
110
-
111
102
  function breakText(text, prefixLength) {
112
- return text
113
- .split('\n')
114
- .map((line, index) =>
115
- index === 0 ? breakLine(line, prefixLength) : breakLine(line, 0)
116
- )
117
- .join('\n');
103
+ return text
104
+ .split('\n')
105
+ .map((line, index) => index === 0 ? breakLine(line, prefixLength) : breakLine(line, 0))
106
+ .join('\n');
118
107
  }
119
-
120
108
  function breakLine(line, prefixLength) {
121
- const columns = process.stderr.columns || 95;
122
- return line.length >= columns - prefixLength
123
- ? `${line.substring(0, columns - prefixLength - 1)}\n${breakLine(
124
- line.substring(columns - prefixLength - 1, line.length),
125
- 0
126
- )}`
127
- : line;
109
+ const columns = process.stderr.columns || 95;
110
+ return line.length >= columns - prefixLength
111
+ ? `${line.substring(0, columns - prefixLength - 1)}\n${breakLine(line.substring(columns - prefixLength - 1, line.length), 0)}`
112
+ : line;
128
113
  }
129
-
130
114
  function getLinesLength(text, prefixLength) {
131
- return stripAnsi(text)
132
- .split('\n')
133
- .map((line, index) =>
134
- index === 0 ? line.length + prefixLength : line.length
135
- );
115
+ return stripAnsi(text)
116
+ .split('\n')
117
+ .map((line, index) => index === 0 ? line.length + prefixLength : line.length);
136
118
  }
137
-
138
119
  function writeStream(stream, output, rawLines) {
139
- stream.write(output);
140
- readline.moveCursor(stream, 0, -rawLines.length);
120
+ stream.write(output);
121
+ readline.moveCursor(stream, 0, -rawLines.length);
141
122
  }
142
-
143
123
  function cleanStream(stream, rawLines) {
144
- rawLines.forEach((lineLength, index) => {
145
- readline.moveCursor(stream, lineLength, index);
146
- readline.clearLine(stream, 1);
147
- readline.moveCursor(stream, -lineLength, -index);
148
- });
149
- readline.moveCursor(stream, 0, rawLines.length);
150
- readline.clearScreenDown(stream);
151
- readline.moveCursor(stream, 0, -rawLines.length);
124
+ rawLines.forEach((lineLength, index) => {
125
+ readline.moveCursor(stream, lineLength, index);
126
+ readline.clearLine(stream, 1);
127
+ readline.moveCursor(stream, -lineLength, -index);
128
+ });
129
+ readline.moveCursor(stream, 0, rawLines.length);
130
+ readline.clearScreenDown(stream);
131
+ readline.moveCursor(stream, 0, -rawLines.length);
152
132
  }
153
-
154
133
  function terminalSupportsUnicode() {
155
- // The default command prompt and powershell in Windows do not support Unicode characters.
156
- // However, the VSCode integrated terminal and the Windows Terminal both do.
157
- return (
158
- process.platform !== 'win32' ||
159
- process.env.TERM_PROGRAM === 'vscode' ||
160
- !!process.env.WT_SESSION
161
- );
134
+ // The default command prompt and powershell in Windows do not support Unicode characters.
135
+ // However, the VSCode integrated terminal and the Windows Terminal both do.
136
+ return (process.platform !== 'win32' ||
137
+ process.env.TERM_PROGRAM === 'vscode' ||
138
+ !!process.env.WT_SESSION);
162
139
  }
163
-
164
140
  module.exports = {
165
- breakText,
166
- cleanStream,
167
- colorOptions,
168
- getLinesLength,
169
- purgeSpinnerOptions,
170
- purgeSpinnersOptions,
171
- SPINNERS,
172
- terminalSupportsUnicode,
173
- writeStream,
141
+ breakText,
142
+ cleanStream,
143
+ colorOptions,
144
+ getLinesLength,
145
+ purgeSpinnerOptions,
146
+ purgeSpinnersOptions,
147
+ SPINNERS,
148
+ terminalSupportsUnicode,
149
+ writeStream,
174
150
  };
@@ -0,0 +1,3 @@
1
+ export function supportsHyperlink(stream: any): boolean;
2
+ export declare let stdout: boolean;
3
+ export declare let stderr: boolean;
@@ -1,75 +1,60 @@
1
1
  'use strict';
2
2
  const hasFlag = require('../hasFlag');
3
-
4
3
  //See https://github.com/jamestalmage/supports-hyperlinks (License: https://github.com/jamestalmage/supports-hyperlinks/blob/master/license)
5
-
6
4
  function parseVersion(versionString) {
7
- if (/^\d{3,4}$/.test(versionString)) {
8
- // Env var doesn't always use dots. example: 4601 => 46.1.0
9
- const m = /(\d{1,2})(\d{2})/.exec(versionString);
5
+ if (/^\d{3,4}$/.test(versionString)) {
6
+ // Env var doesn't always use dots. example: 4601 => 46.1.0
7
+ const m = /(\d{1,2})(\d{2})/.exec(versionString);
8
+ return {
9
+ major: 0,
10
+ minor: parseInt(m[1], 10),
11
+ patch: parseInt(m[2], 10),
12
+ };
13
+ }
14
+ const versions = (versionString || '').split('.').map(n => parseInt(n, 10));
10
15
  return {
11
- major: 0,
12
- minor: parseInt(m[1], 10),
13
- patch: parseInt(m[2], 10),
16
+ major: versions[0],
17
+ minor: versions[1],
18
+ patch: versions[2],
14
19
  };
15
- }
16
-
17
- const versions = (versionString || '').split('.').map(n => parseInt(n, 10));
18
- return {
19
- major: versions[0],
20
- minor: versions[1],
21
- patch: versions[2],
22
- };
23
20
  }
24
-
25
21
  function supportsHyperlink(stream) {
26
- const { env } = process;
27
-
28
- if (hasFlag('noHyperlinks')) {
29
- return false;
30
- }
31
-
32
- if (stream && !stream.isTTY) {
33
- return false;
34
- }
35
-
36
- if (process.platform === 'win32') {
37
- return false;
38
- }
39
-
40
- if ('CI' in env) {
41
- return false;
42
- }
43
-
44
- if ('TERM_PROGRAM' in env) {
45
- const version = parseVersion(env.TERM_PROGRAM_VERSION);
46
-
47
- switch (env.TERM_PROGRAM) {
48
- case 'iTerm.app':
49
- if (version.major === 3) {
50
- return version.minor >= 1;
22
+ const { env } = process;
23
+ if (hasFlag('noHyperlinks')) {
24
+ return false;
25
+ }
26
+ if (stream && !stream.isTTY) {
27
+ return false;
28
+ }
29
+ if (process.platform === 'win32') {
30
+ return false;
31
+ }
32
+ if ('CI' in env) {
33
+ return false;
34
+ }
35
+ if ('TERM_PROGRAM' in env) {
36
+ const version = parseVersion(env.TERM_PROGRAM_VERSION);
37
+ switch (env.TERM_PROGRAM) {
38
+ case 'iTerm.app':
39
+ if (version.major === 3) {
40
+ return version.minor >= 1;
41
+ }
42
+ return version.major > 3;
43
+ // No default
51
44
  }
52
-
53
- return version.major > 3;
54
- // No default
55
45
  }
56
- }
57
-
58
- if ('VTE_VERSION' in env) {
59
- // 0.50.0 was supposed to support hyperlinks, but throws a segfault
60
- if (env.VTE_VERSION === '0.50.0') {
61
- return false;
46
+ if ('VTE_VERSION' in env) {
47
+ // 0.50.0 was supposed to support hyperlinks, but throws a segfault
48
+ if (env.VTE_VERSION === '0.50.0') {
49
+ return false;
50
+ }
51
+ const version = parseVersion(env.VTE_VERSION);
52
+ return version.major > 0 || version.minor >= 50;
62
53
  }
63
-
64
- const version = parseVersion(env.VTE_VERSION);
65
- return version.major > 0 || version.minor >= 50;
66
- }
67
-
68
- return false;
54
+ return false;
69
55
  }
70
-
71
56
  module.exports = {
72
- supportsHyperlink,
73
- stdout: supportsHyperlink(process.stdout),
74
- stderr: supportsHyperlink(process.stderr),
57
+ supportsHyperlink,
58
+ stdout: supportsHyperlink(process.stdout),
59
+ stderr: supportsHyperlink(process.stderr),
75
60
  };
@@ -0,0 +1,13 @@
1
+ export function createSupportsColor(stream: any, options?: {}): {
2
+ level: any;
3
+ hasBasic: boolean;
4
+ has256: boolean;
5
+ has16m: boolean;
6
+ };
7
+ export declare namespace stdout {
8
+ export { level };
9
+ export let hasBasic: boolean;
10
+ export let has256: boolean;
11
+ export let has16m: boolean;
12
+ }
13
+ export declare namespace stderr { }
@@ -1,129 +1,99 @@
1
+ "use strict";
1
2
  const process = require('process');
2
3
  const os = require('os');
3
4
  const tty = require('tty');
4
5
  const hasFlag = require('../hasFlag');
5
-
6
6
  const { env } = process;
7
-
8
7
  //From: https://github.com/chalk/supports-color/blob/main/index.js (License: https://github.com/chalk/supports-color/blob/main/license)
9
-
10
8
  function translateLevel(level) {
11
- if (level === 0) {
9
+ if (level === 0) {
10
+ return {
11
+ level,
12
+ hasBasic: false,
13
+ has256: false,
14
+ has16m: false,
15
+ };
16
+ }
12
17
  return {
13
- level,
14
- hasBasic: false,
15
- has256: false,
16
- has16m: false,
18
+ level,
19
+ hasBasic: true,
20
+ has256: level >= 2,
21
+ has16m: level >= 3,
17
22
  };
18
- }
19
-
20
- return {
21
- level,
22
- hasBasic: true,
23
- has256: level >= 2,
24
- has16m: level >= 3,
25
- };
26
23
  }
27
-
28
24
  function _supportsColor(haveStream, { streamIsTTY } = {}) {
29
- if (haveStream && !streamIsTTY) {
30
- return 0;
31
- }
32
-
33
- const min = 0;
34
-
35
- if (env.TERM === 'dumb') {
36
- return min;
37
- }
38
-
39
- if (hasFlag('noColor')) {
40
- return 0;
41
- }
42
-
43
- if (process.platform === 'win32') {
44
- // Windows 10 build 10586 is the first Windows release that supports 256 colors.
45
- // Windows 10 build 14931 is the first release that supports 16m/TrueColor.
46
- const osRelease = os.release().split('.');
47
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
48
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
25
+ if (haveStream && !streamIsTTY) {
26
+ return 0;
49
27
  }
50
-
51
- return 1;
52
- }
53
-
54
- if ('CI' in env) {
55
- if (
56
- [
57
- 'TRAVIS',
58
- 'CIRCLECI',
59
- 'APPVEYOR',
60
- 'GITLAB_CI',
61
- 'GITHUB_ACTIONS',
62
- 'BUILDKITE',
63
- 'DRONE',
64
- ].some(sign => sign in env) ||
65
- env.CI_NAME === 'codeship'
66
- ) {
67
- return 1;
28
+ const min = 0;
29
+ if (env.TERM === 'dumb') {
30
+ return min;
68
31
  }
69
-
70
- return min;
71
- }
72
-
73
- // Check for Azure DevOps pipelines
74
- if ('TF_BUILD' in env && 'AGENT_NAME' in env) {
75
- return 1;
76
- }
77
-
78
- if (env.COLORTERM === 'truecolor') {
79
- return 3;
80
- }
81
-
82
- if ('TERM_PROGRAM' in env) {
83
- const version = Number.parseInt(
84
- (env.TERM_PROGRAM_VERSION || '').split('.')[0],
85
- 10
86
- );
87
-
88
- switch (env.TERM_PROGRAM) {
89
- case 'iTerm.app':
90
- return version >= 3 ? 3 : 2;
91
- case 'Apple_Terminal':
32
+ if (hasFlag('noColor')) {
33
+ return 0;
34
+ }
35
+ if (process.platform === 'win32') {
36
+ // Windows 10 build 10586 is the first Windows release that supports 256 colors.
37
+ // Windows 10 build 14931 is the first release that supports 16m/TrueColor.
38
+ const osRelease = os.release().split('.');
39
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
40
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
41
+ }
42
+ return 1;
43
+ }
44
+ if ('CI' in env) {
45
+ if ([
46
+ 'TRAVIS',
47
+ 'CIRCLECI',
48
+ 'APPVEYOR',
49
+ 'GITLAB_CI',
50
+ 'GITHUB_ACTIONS',
51
+ 'BUILDKITE',
52
+ 'DRONE',
53
+ ].some(sign => sign in env) ||
54
+ env.CI_NAME === 'codeship') {
55
+ return 1;
56
+ }
57
+ return min;
58
+ }
59
+ // Check for Azure DevOps pipelines
60
+ if ('TF_BUILD' in env && 'AGENT_NAME' in env) {
61
+ return 1;
62
+ }
63
+ if (env.COLORTERM === 'truecolor') {
64
+ return 3;
65
+ }
66
+ if ('TERM_PROGRAM' in env) {
67
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
68
+ switch (env.TERM_PROGRAM) {
69
+ case 'iTerm.app':
70
+ return version >= 3 ? 3 : 2;
71
+ case 'Apple_Terminal':
72
+ return 2;
73
+ // No default
74
+ }
75
+ }
76
+ if (/-256(color)?$/i.test(env.TERM)) {
92
77
  return 2;
93
- // No default
94
78
  }
95
- }
96
-
97
- if (/-256(color)?$/i.test(env.TERM)) {
98
- return 2;
99
- }
100
-
101
- if (
102
- /^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)
103
- ) {
104
- return 1;
105
- }
106
-
107
- if ('COLORTERM' in env) {
108
- return 1;
109
- }
110
-
111
- return min;
79
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
80
+ return 1;
81
+ }
82
+ if ('COLORTERM' in env) {
83
+ return 1;
84
+ }
85
+ return min;
112
86
  }
113
-
114
87
  function createSupportsColor(stream, options = {}) {
115
- const level = _supportsColor(stream, {
116
- streamIsTTY: stream && stream.isTTY,
117
- ...options,
118
- });
119
-
120
- return translateLevel(level);
88
+ const level = _supportsColor(stream, {
89
+ streamIsTTY: stream && stream.isTTY,
90
+ ...options,
91
+ });
92
+ return translateLevel(level);
121
93
  }
122
-
123
94
  const supportsColor = {
124
- createSupportsColor,
125
- stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
126
- stderr: createSupportsColor({ isTTY: tty.isatty(2) }),
95
+ createSupportsColor,
96
+ stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
97
+ stderr: createSupportsColor({ isTTY: tty.isatty(2) }),
127
98
  };
128
-
129
99
  module.exports = supportsColor;
@@ -0,0 +1,2 @@
1
+ export function getTableContents(tableData?: any[], tableConfig?: {}): string;
2
+ export function getTableHeader(headerItems: any): any;