@hubspot/cli 6.2.1 → 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 (346) 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 -72
  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 +71 -104
  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 -178
  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/lib/DevServerManager.d.ts +35 -0
  180. package/lib/DevServerManager.js +97 -124
  181. package/lib/LocalDevManager.d.ts +41 -0
  182. package/lib/LocalDevManager.js +320 -490
  183. package/lib/accountTypes.d.ts +6 -0
  184. package/lib/accountTypes.js +16 -32
  185. package/lib/buildAccount.d.ts +22 -0
  186. package/lib/buildAccount.js +130 -179
  187. package/lib/commonOpts.d.ts +20 -0
  188. package/lib/commonOpts.js +58 -91
  189. package/lib/constants.d.ts +83 -0
  190. package/lib/constants.js +61 -71
  191. package/lib/debugInfo.d.ts +3 -0
  192. package/lib/debugInfo.js +12 -13
  193. package/lib/dependencyManagement.d.ts +7 -0
  194. package/lib/dependencyManagement.js +90 -132
  195. package/lib/developerTestAccounts.d.ts +7 -0
  196. package/lib/developerTestAccounts.js +65 -91
  197. package/lib/enums/exitCodes.d.ts +5 -0
  198. package/lib/enums/exitCodes.js +5 -7
  199. package/lib/environment.d.ts +1 -0
  200. package/lib/environment.js +10 -10
  201. package/lib/errorHandlers/index.d.ts +19 -0
  202. package/lib/errorHandlers/index.js +64 -80
  203. package/lib/errorHandlers/suppressError.d.ts +1 -0
  204. package/lib/errorHandlers/suppressError.js +64 -106
  205. package/lib/filesystem.d.ts +2 -0
  206. package/lib/filesystem.js +16 -24
  207. package/lib/generate-selectors.d.ts +6 -0
  208. package/lib/generate-selectors.js +99 -137
  209. package/lib/getFunctionArrays.d.ts +1 -0
  210. package/lib/getFunctionArrays.js +12 -13
  211. package/lib/hasFeature.d.ts +1 -0
  212. package/lib/hasFeature.js +5 -11
  213. package/lib/hasFlag.d.ts +2 -0
  214. package/lib/hasFlag.js +6 -10
  215. package/lib/hublValidate.d.ts +4 -0
  216. package/lib/hublValidate.js +20 -24
  217. package/lib/interpolation.d.ts +10 -0
  218. package/lib/interpolation.js +48 -92
  219. package/lib/interpolationHelpers.d.ts +6 -0
  220. package/lib/interpolationHelpers.js +19 -19
  221. package/lib/lang.d.ts +3 -0
  222. package/lib/lang.js +50 -78
  223. package/lib/links.d.ts +127 -0
  224. package/lib/links.js +92 -114
  225. package/lib/localDev.d.ts +11 -0
  226. package/lib/localDev.js +283 -439
  227. package/lib/marketplace-validate.d.ts +5 -0
  228. package/lib/marketplace-validate.js +103 -126
  229. package/lib/oauth.d.ts +1 -0
  230. package/lib/oauth.js +62 -78
  231. package/lib/polling.d.ts +1 -0
  232. package/lib/polling.js +24 -26
  233. package/lib/process.d.ts +2 -0
  234. package/lib/process.js +39 -53
  235. package/lib/projectLogsManager.d.ts +19 -0
  236. package/lib/projectLogsManager.js +76 -130
  237. package/lib/projectStructure.d.ts +13 -0
  238. package/lib/projectStructure.js +87 -109
  239. package/lib/projects.d.ts +40 -0
  240. package/lib/projects.js +589 -960
  241. package/lib/projectsWatch.d.ts +1 -0
  242. package/lib/projectsWatch.js +122 -228
  243. package/lib/prompts/accountNamePrompt.d.ts +11 -0
  244. package/lib/prompts/accountNamePrompt.js +58 -65
  245. package/lib/prompts/accountsPrompt.d.ts +3 -0
  246. package/lib/prompts/accountsPrompt.js +31 -37
  247. package/lib/prompts/activeInstallConfirmationPrompt.d.ts +1 -0
  248. package/lib/prompts/activeInstallConfirmationPrompt.js +11 -13
  249. package/lib/prompts/cleanUploadPrompt.d.ts +1 -0
  250. package/lib/prompts/cleanUploadPrompt.js +11 -13
  251. package/lib/prompts/cmsFieldPrompt.d.ts +1 -0
  252. package/lib/prompts/cmsFieldPrompt.js +35 -39
  253. package/lib/prompts/createApiSamplePrompt.d.ts +1 -0
  254. package/lib/prompts/createApiSamplePrompt.js +47 -52
  255. package/lib/prompts/createFunctionPrompt.d.ts +1 -0
  256. package/lib/prompts/createFunctionPrompt.js +55 -56
  257. package/lib/prompts/createModulePrompt.d.ts +1 -0
  258. package/lib/prompts/createModulePrompt.js +45 -50
  259. package/lib/prompts/createProjectPrompt.d.ts +1 -0
  260. package/lib/prompts/createProjectPrompt.js +88 -127
  261. package/lib/prompts/createTemplatePrompt.d.ts +1 -0
  262. package/lib/prompts/createTemplatePrompt.js +16 -19
  263. package/lib/prompts/deployBuildIdPrompt.d.ts +1 -0
  264. package/lib/prompts/deployBuildIdPrompt.js +13 -15
  265. package/lib/prompts/downloadProjectPrompt.d.ts +1 -0
  266. package/lib/prompts/downloadProjectPrompt.js +36 -40
  267. package/lib/prompts/feedbackPrompt.d.ts +2 -0
  268. package/lib/prompts/feedbackPrompt.js +27 -30
  269. package/lib/prompts/folderOverwritePrompt.d.ts +1 -0
  270. package/lib/prompts/folderOverwritePrompt.js +8 -10
  271. package/lib/prompts/installPublicAppPrompt.d.ts +1 -0
  272. package/lib/prompts/installPublicAppPrompt.js +27 -42
  273. package/lib/prompts/personalAccessKeyPrompt.d.ts +69 -0
  274. package/lib/prompts/personalAccessKeyPrompt.js +102 -110
  275. package/lib/prompts/previewPrompt.d.ts +2 -0
  276. package/lib/prompts/previewPrompt.js +44 -47
  277. package/lib/prompts/projectAddPrompt.d.ts +1 -0
  278. package/lib/prompts/projectAddPrompt.js +35 -38
  279. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +4 -0
  280. package/lib/prompts/projectDevTargetAccountPrompt.js +148 -193
  281. package/lib/prompts/projectNamePrompt.d.ts +1 -0
  282. package/lib/prompts/projectNamePrompt.js +23 -25
  283. package/lib/prompts/projectsLogsPrompt.d.ts +5 -0
  284. package/lib/prompts/projectsLogsPrompt.js +19 -27
  285. package/lib/prompts/promptUtils.d.ts +2 -0
  286. package/lib/prompts/promptUtils.js +15 -17
  287. package/lib/prompts/sandboxesPrompt.d.ts +2 -0
  288. package/lib/prompts/sandboxesPrompt.js +48 -59
  289. package/lib/prompts/secretPrompt.d.ts +1 -0
  290. package/lib/prompts/secretPrompt.js +13 -16
  291. package/lib/prompts/selectPublicAppPrompt.d.ts +5 -0
  292. package/lib/prompts/selectPublicAppPrompt.js +55 -83
  293. package/lib/prompts/setAsDefaultAccountPrompt.d.ts +1 -0
  294. package/lib/prompts/setAsDefaultAccountPrompt.js +17 -24
  295. package/lib/prompts/uploadPrompt.d.ts +1 -0
  296. package/lib/prompts/uploadPrompt.js +28 -30
  297. package/lib/regex.d.ts +1 -0
  298. package/lib/regex.js +2 -2
  299. package/lib/sandboxSync.d.ts +8 -0
  300. package/lib/sandboxSync.js +98 -166
  301. package/lib/sandboxes.d.ts +40 -0
  302. package/lib/sandboxes.js +199 -316
  303. package/lib/schema.d.ts +2 -0
  304. package/lib/schema.js +20 -26
  305. package/lib/serverlessLogs.d.ts +8 -0
  306. package/lib/serverlessLogs.js +128 -172
  307. package/lib/ui/SpinniesManager.d.ts +61 -0
  308. package/lib/ui/SpinniesManager.js +196 -254
  309. package/lib/ui/git.d.ts +1 -0
  310. package/lib/ui/git.js +18 -19
  311. package/lib/ui/index.d.ts +36 -0
  312. package/lib/ui/index.js +115 -167
  313. package/lib/ui/serverlessFunctionLogs.d.ts +1 -0
  314. package/lib/ui/serverlessFunctionLogs.js +51 -70
  315. package/lib/ui/spinniesUtils.d.ts +60 -0
  316. package/lib/ui/spinniesUtils.js +109 -133
  317. package/lib/ui/supportHyperlinks.d.ts +3 -0
  318. package/lib/ui/supportHyperlinks.js +46 -61
  319. package/lib/ui/supportsColor.d.ts +13 -0
  320. package/lib/ui/supportsColor.js +78 -108
  321. package/lib/ui/table.d.ts +2 -0
  322. package/lib/ui/table.js +47 -55
  323. package/lib/upload.d.ts +1 -0
  324. package/lib/upload.js +37 -42
  325. package/lib/usageTracking.d.ts +6 -0
  326. package/lib/usageTracking.js +131 -155
  327. package/lib/validation.d.ts +16 -0
  328. package/lib/validation.js +142 -203
  329. package/package.json +78 -47
  330. package/CHANGELOG.md +0 -16
  331. package/LICENSE +0 -12
  332. package/README.md +0 -154
  333. package/commands/__tests__/projects.test.js +0 -105
  334. package/commands/project/__tests__/deploy.test.js +0 -443
  335. package/commands/project/__tests__/installDeps.test.js +0 -168
  336. package/commands/project/__tests__/logs.test.js +0 -304
  337. package/hubspot.sample.config.yml +0 -28
  338. package/jest.config.js +0 -4
  339. package/lib/__tests__/commonOpts.test.js +0 -83
  340. package/lib/__tests__/dependencyManagement.test.js +0 -243
  341. package/lib/__tests__/downloadProjectPrompt.test.js +0 -31
  342. package/lib/__tests__/projectLogsManager.test.js +0 -212
  343. package/lib/__tests__/projects.test.js +0 -140
  344. package/lib/__tests__/serverlessLogs.test.js +0 -162
  345. package/lib/__tests__/validation.test.js +0 -140
  346. 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;