@hubspot/cli 8.2.0-beta.0 → 8.2.0-experimental.1

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 (700) hide show
  1. package/api/migrate.js +8 -4
  2. package/api/releases.d.ts +36 -0
  3. package/api/releases.js +41 -0
  4. package/bin/cli.js +12 -6
  5. package/commands/account/auth.d.ts +3 -1
  6. package/commands/account/auth.js +23 -7
  7. package/commands/account/clean.js +7 -6
  8. package/commands/account/createOverride.js +10 -7
  9. package/commands/account/info.js +36 -17
  10. package/commands/account/link.d.ts +4 -0
  11. package/commands/account/link.js +87 -0
  12. package/commands/account/list.js +32 -76
  13. package/commands/account/remove.js +4 -3
  14. package/commands/account/removeOverride.js +11 -10
  15. package/commands/account/rename.js +5 -6
  16. package/commands/account/unlink.d.ts +4 -0
  17. package/commands/account/unlink.js +68 -0
  18. package/commands/account/use.js +75 -6
  19. package/commands/account.js +4 -0
  20. package/commands/api.d.ts +10 -0
  21. package/commands/api.js +164 -0
  22. package/commands/app/logDetails.d.ts +9 -0
  23. package/commands/app/logDetails.js +86 -0
  24. package/commands/app/logs.d.ts +13 -0
  25. package/commands/app/logs.js +122 -0
  26. package/commands/app/migrate.js +13 -13
  27. package/commands/app/secret/add.js +6 -7
  28. package/commands/app/secret/delete.js +9 -10
  29. package/commands/app/secret/list.js +6 -7
  30. package/commands/app/secret/update.js +8 -9
  31. package/commands/app.js +8 -1
  32. package/commands/auth.js +20 -16
  33. package/commands/cms/app/create.js +9 -5
  34. package/commands/cms/convertFields.js +8 -8
  35. package/commands/cms/delete.js +2 -3
  36. package/commands/cms/fetch.js +7 -7
  37. package/commands/cms/function/create.js +9 -5
  38. package/commands/cms/function/deploy.js +2 -3
  39. package/commands/cms/function/list.js +11 -7
  40. package/commands/cms/function/logs.js +17 -23
  41. package/commands/cms/function/server.js +2 -3
  42. package/commands/cms/getReactModule.js +7 -8
  43. package/commands/cms/lighthouseScore.js +25 -24
  44. package/commands/cms/lint.js +4 -5
  45. package/commands/cms/list.js +5 -6
  46. package/commands/cms/module/create.js +15 -5
  47. package/commands/cms/module/marketplace-validate.js +7 -8
  48. package/commands/cms/mv.js +2 -3
  49. package/commands/cms/template/create.js +10 -6
  50. package/commands/cms/theme/create.js +5 -5
  51. package/commands/cms/theme/generate-selectors.js +5 -4
  52. package/commands/cms/theme/marketplace-validate.js +8 -9
  53. package/commands/cms/theme/preview.js +16 -8
  54. package/commands/cms/upload.js +15 -12
  55. package/commands/cms/watch.js +5 -5
  56. package/commands/cms/webpack/create.js +5 -5
  57. package/commands/completion.js +3 -5
  58. package/commands/config/migrate.js +6 -7
  59. package/commands/config/set.js +5 -6
  60. package/commands/customObject/create.js +4 -5
  61. package/commands/customObject/createSchema.js +4 -5
  62. package/commands/customObject/deleteSchema.js +4 -5
  63. package/commands/customObject/fetchAllSchemas.js +2 -3
  64. package/commands/customObject/fetchSchema.js +2 -3
  65. package/commands/customObject/listSchemas.js +2 -3
  66. package/commands/customObject/updateSchema.js +4 -5
  67. package/commands/doctor.js +8 -8
  68. package/commands/feedback.js +6 -4
  69. package/commands/filemanager/fetch.js +5 -6
  70. package/commands/filemanager/upload.js +5 -5
  71. package/commands/getStarted.js +17 -19
  72. package/commands/hubdb/clear.js +6 -3
  73. package/commands/hubdb/create.js +4 -5
  74. package/commands/hubdb/delete.js +9 -6
  75. package/commands/hubdb/fetch.js +6 -3
  76. package/commands/hubdb/list.js +16 -14
  77. package/commands/init.js +16 -15
  78. package/commands/mcp/setup.js +5 -6
  79. package/commands/mcp/start.js +2 -3
  80. package/commands/open.js +4 -5
  81. package/commands/project/add.js +13 -8
  82. package/commands/project/appInstallStatus.d.ts +4 -0
  83. package/commands/project/appInstallStatus.js +133 -0
  84. package/commands/project/create.js +28 -17
  85. package/commands/project/delete.d.ts +7 -0
  86. package/commands/project/delete.js +74 -0
  87. package/commands/project/deploy.js +39 -36
  88. package/commands/project/dev/deprecatedFlow.js +62 -17
  89. package/commands/project/dev/index.d.ts +3 -3
  90. package/commands/project/dev/index.js +59 -48
  91. package/commands/project/dev/unifiedFlow.js +70 -21
  92. package/commands/project/download.js +12 -9
  93. package/commands/project/info.d.ts +4 -0
  94. package/commands/project/info.js +68 -0
  95. package/commands/project/installDeps.js +9 -6
  96. package/commands/project/lint.js +43 -12
  97. package/commands/project/list.d.ts +2 -2
  98. package/commands/project/list.js +15 -14
  99. package/commands/project/listBuilds.js +8 -6
  100. package/commands/project/logs.js +5 -6
  101. package/commands/project/migrate.js +18 -18
  102. package/commands/project/open.js +5 -6
  103. package/commands/project/profile/add.js +12 -8
  104. package/commands/project/profile/delete.js +15 -11
  105. package/commands/project/release/create.d.ts +7 -0
  106. package/commands/project/release/create.js +159 -0
  107. package/commands/project/release/info.d.ts +6 -0
  108. package/commands/project/release/info.js +147 -0
  109. package/commands/project/release/list.d.ts +6 -0
  110. package/commands/project/release/list.js +111 -0
  111. package/commands/project/release.d.ts +3 -0
  112. package/commands/project/release.js +20 -0
  113. package/commands/project/updateDeps.js +9 -6
  114. package/commands/project/upload.d.ts +3 -0
  115. package/commands/project/upload.js +107 -25
  116. package/commands/project/validate.js +12 -12
  117. package/commands/project/watch.js +22 -22
  118. package/commands/project.js +14 -3
  119. package/commands/sandbox/create.js +18 -45
  120. package/commands/sandbox/delete.js +13 -14
  121. package/commands/secret/addSecret.js +6 -7
  122. package/commands/secret/deleteSecret.js +5 -6
  123. package/commands/secret/listSecret.js +2 -3
  124. package/commands/secret/updateSecret.js +4 -5
  125. package/commands/testAccount/create.d.ts +1 -1
  126. package/commands/testAccount/create.js +25 -17
  127. package/commands/testAccount/createConfig.js +7 -8
  128. package/commands/testAccount/delete.js +27 -18
  129. package/commands/testAccount/importData.js +6 -7
  130. package/commands/upgrade.js +9 -10
  131. package/lang/en.d.ts +441 -9
  132. package/lang/en.js +456 -22
  133. package/lib/CLIWebSocketServer.d.ts +5 -3
  134. package/lib/CLIWebSocketServer.js +31 -4
  135. package/lib/accountAuth.d.ts +3 -1
  136. package/lib/accountAuth.js +47 -17
  137. package/lib/api/usageTracking.d.ts +30 -0
  138. package/lib/api/usageTracking.js +11 -0
  139. package/lib/app/logs.d.ts +38 -0
  140. package/lib/app/logs.js +225 -0
  141. package/lib/app/migrate.js +18 -5
  142. package/lib/app/urls.d.ts +2 -0
  143. package/lib/app/urls.js +7 -0
  144. package/lib/auth/awaitPersonalAccessKeyOverWebsocket.d.ts +4 -0
  145. package/lib/auth/awaitPersonalAccessKeyOverWebsocket.js +145 -0
  146. package/lib/buildAccount.d.ts +1 -6
  147. package/lib/buildAccount.js +10 -43
  148. package/lib/commonOpts.js +0 -1
  149. package/lib/constants.d.ts +10 -3
  150. package/lib/constants.js +12 -3
  151. package/lib/doctor/Diagnosis.js +5 -5
  152. package/lib/doctor/Doctor.js +7 -7
  153. package/lib/errorHandlers/index.js +4 -3
  154. package/lib/errorHandlers/suppressError.js +4 -0
  155. package/lib/errors/PromptExitError.d.ts +6 -0
  156. package/lib/errors/PromptExitError.js +11 -0
  157. package/lib/getStartedV2Actions.js +3 -3
  158. package/lib/hasFeature.js +1 -2
  159. package/lib/link/accountTableUtils.d.ts +10 -0
  160. package/lib/link/accountTableUtils.js +39 -0
  161. package/lib/link/index.d.ts +18 -0
  162. package/lib/link/index.js +185 -0
  163. package/lib/link/linkUtils.d.ts +5 -0
  164. package/lib/link/linkUtils.js +49 -0
  165. package/lib/link/prompts.d.ts +7 -0
  166. package/lib/link/prompts.js +126 -0
  167. package/lib/link/renderLinkedAccountsTable.d.ts +2 -0
  168. package/lib/link/renderLinkedAccountsTable.js +14 -0
  169. package/lib/link/warnIfLinkedDirectory.d.ts +1 -0
  170. package/lib/link/warnIfLinkedDirectory.js +9 -0
  171. package/lib/middleware/autoUpdateMiddleware.js +6 -3
  172. package/lib/middleware/commandTargetingUtils.js +1 -0
  173. package/lib/process.d.ts +1 -1
  174. package/lib/process.js +10 -3
  175. package/lib/projects/ProjectLogsManager.js +6 -3
  176. package/lib/projects/components.js +15 -4
  177. package/lib/projects/create/index.js +2 -2
  178. package/lib/projects/create/legacy.js +2 -2
  179. package/lib/projects/create/v2.js +4 -5
  180. package/lib/projects/delete.d.ts +13 -0
  181. package/lib/projects/delete.js +193 -0
  182. package/lib/projects/deploy.d.ts +1 -1
  183. package/lib/projects/deploy.js +2 -2
  184. package/lib/projects/localDev/AppDevModeInterface.js +13 -9
  185. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +4 -1
  186. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +3 -3
  187. package/lib/projects/localDev/DevSessionManager.d.ts +6 -3
  188. package/lib/projects/localDev/DevSessionManager.js +31 -19
  189. package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +5 -0
  190. package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +21 -10
  191. package/lib/projects/localDev/LocalDevProcess.js +6 -5
  192. package/lib/projects/localDev/LocalDevState.d.ts +3 -2
  193. package/lib/projects/localDev/LocalDevState.js +3 -1
  194. package/lib/projects/localDev/LocalDevWebsocketServer.js +1 -1
  195. package/lib/projects/localDev/UIExtensionsDevModeInterface.js +2 -0
  196. package/lib/projects/localDev/helpers/account.d.ts +4 -3
  197. package/lib/projects/localDev/helpers/account.js +21 -30
  198. package/lib/projects/localDev/helpers/process.d.ts +1 -1
  199. package/lib/projects/localDev/helpers/process.js +4 -10
  200. package/lib/projects/localDev/helpers/project.d.ts +4 -3
  201. package/lib/projects/localDev/helpers/project.js +32 -16
  202. package/lib/projects/npmAuditOnUpload.d.ts +10 -0
  203. package/lib/projects/npmAuditOnUpload.js +73 -0
  204. package/lib/projects/pollProjectBuildAndDeploy.d.ts +5 -1
  205. package/lib/projects/pollProjectBuildAndDeploy.js +3 -2
  206. package/lib/projects/preview.d.ts +7 -0
  207. package/lib/projects/preview.js +48 -0
  208. package/lib/projects/projectInfo.d.ts +5 -0
  209. package/lib/projects/projectInfo.js +82 -0
  210. package/lib/projects/projectProfiles.d.ts +1 -2
  211. package/lib/projects/projectProfiles.js +5 -17
  212. package/lib/projects/uieLinting.d.ts +21 -3
  213. package/lib/projects/uieLinting.js +132 -28
  214. package/lib/projects/upload.d.ts +3 -1
  215. package/lib/projects/upload.js +46 -7
  216. package/lib/projects/validateLintConfigOnUpload.d.ts +9 -0
  217. package/lib/projects/validateLintConfigOnUpload.js +45 -0
  218. package/lib/projects/workspaces.d.ts +60 -0
  219. package/lib/projects/workspaces.js +411 -0
  220. package/lib/prompts/createApiSamplePrompt.js +4 -0
  221. package/lib/prompts/downloadProjectPrompt.js +11 -10
  222. package/lib/prompts/installAppPrompt.js +3 -2
  223. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -5
  224. package/lib/prompts/personalAccessKeyPrompt.js +10 -7
  225. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -0
  226. package/lib/prompts/projectDevTargetAccountPrompt.js +23 -16
  227. package/lib/prompts/projectProfilePrompt.d.ts +2 -0
  228. package/lib/prompts/projectProfilePrompt.js +46 -0
  229. package/lib/prompts/projectsLogsPrompt.js +3 -0
  230. package/lib/prompts/promptUtils.js +4 -2
  231. package/lib/prompts/selectAppPrompt.js +1 -0
  232. package/lib/prompts/selectHubDBTablePrompt.js +8 -4
  233. package/lib/prompts/selectPublicAppForMigrationPrompt.js +12 -6
  234. package/lib/prompts/setAsDefaultAccountPrompt.js +2 -1
  235. package/lib/sandboxes.d.ts +1 -9
  236. package/lib/sandboxes.js +0 -21
  237. package/lib/serverlessLogs.js +2 -2
  238. package/lib/theme/cmsDevServerProcess.d.ts +2 -0
  239. package/lib/theme/cmsDevServerProcess.js +8 -7
  240. package/lib/theme/migrate.d.ts +1 -1
  241. package/lib/theme/migrate.js +1 -5
  242. package/lib/ui/SpinniesManager.d.ts +1 -0
  243. package/lib/ui/SpinniesManager.js +22 -6
  244. package/lib/ui/accountTable.d.ts +8 -0
  245. package/lib/ui/accountTable.js +67 -0
  246. package/lib/ui/appLogs.d.ts +32 -0
  247. package/lib/ui/appLogs.js +175 -0
  248. package/lib/ui/spinniesUtils.d.ts +0 -1
  249. package/lib/ui/spinniesUtils.js +6 -16
  250. package/lib/usageTracking.d.ts +9 -20
  251. package/lib/usageTracking.js +68 -30
  252. package/lib/yargs/makeWrappedYargsHandler.d.ts +3 -0
  253. package/lib/yargs/makeWrappedYargsHandler.js +121 -0
  254. package/lib/yargs/makeYargsBuilder.d.ts +13 -0
  255. package/lib/yargs/makeYargsBuilder.js +33 -0
  256. package/lib/yargs/parseYargsOrExit.d.ts +4 -0
  257. package/lib/yargs/parseYargsOrExit.js +25 -0
  258. package/lib/yargs/strictEnforceBoolean.d.ts +1 -0
  259. package/lib/yargs/strictEnforceBoolean.js +13 -0
  260. package/lib/yargsUtils.d.ts +3 -16
  261. package/lib/yargsUtils.js +3 -48
  262. package/mcp-server/Tool.d.ts +15 -0
  263. package/mcp-server/Tool.js +53 -0
  264. package/mcp-server/server.js +43 -3
  265. package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +4 -2
  266. package/mcp-server/tools/cms/HsCreateFunctionTool.js +10 -8
  267. package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +4 -2
  268. package/mcp-server/tools/cms/HsCreateModuleTool.js +12 -11
  269. package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +4 -2
  270. package/mcp-server/tools/cms/HsCreateTemplateTool.js +10 -8
  271. package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +4 -2
  272. package/mcp-server/tools/cms/HsFunctionLogsTool.js +10 -9
  273. package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +4 -2
  274. package/mcp-server/tools/cms/HsListFunctionsTool.js +10 -9
  275. package/mcp-server/tools/cms/HsListTool.d.ts +4 -2
  276. package/mcp-server/tools/cms/HsListTool.js +10 -8
  277. package/mcp-server/tools/index.d.ts +3 -2
  278. package/mcp-server/tools/index.js +24 -22
  279. package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +6 -3
  280. package/mcp-server/tools/project/AddFeatureToProjectTool.js +9 -7
  281. package/mcp-server/tools/project/CreateProjectTool.d.ts +6 -3
  282. package/mcp-server/tools/project/CreateProjectTool.js +10 -7
  283. package/mcp-server/tools/project/CreateTestAccountTool.d.ts +4 -2
  284. package/mcp-server/tools/project/CreateTestAccountTool.js +21 -9
  285. package/mcp-server/tools/project/DeployProjectTool.d.ts +4 -2
  286. package/mcp-server/tools/project/DeployProjectTool.js +5 -7
  287. package/mcp-server/tools/project/DocFetchTool.d.ts +4 -2
  288. package/mcp-server/tools/project/DocFetchTool.js +8 -6
  289. package/mcp-server/tools/project/DocsSearchTool.d.ts +9 -3
  290. package/mcp-server/tools/project/DocsSearchTool.js +32 -9
  291. package/mcp-server/tools/project/FindProjectsTool.d.ts +15 -0
  292. package/mcp-server/tools/project/FindProjectsTool.js +60 -0
  293. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +4 -2
  294. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +8 -6
  295. package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +4 -2
  296. package/mcp-server/tools/project/GetApplicationInfoTool.js +8 -6
  297. package/mcp-server/tools/project/GetBuildLogsTool.d.ts +4 -2
  298. package/mcp-server/tools/project/GetBuildLogsTool.js +9 -7
  299. package/mcp-server/tools/project/GetBuildStatusTool.d.ts +4 -2
  300. package/mcp-server/tools/project/GetBuildStatusTool.js +9 -7
  301. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -2
  302. package/mcp-server/tools/project/GetConfigValuesTool.js +12 -7
  303. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +4 -2
  304. package/mcp-server/tools/project/GuidedWalkthroughTool.js +4 -6
  305. package/mcp-server/tools/project/UploadProjectTools.d.ts +4 -2
  306. package/mcp-server/tools/project/UploadProjectTools.js +10 -8
  307. package/mcp-server/tools/project/ValidateProjectTool.d.ts +4 -2
  308. package/mcp-server/tools/project/ValidateProjectTool.js +9 -7
  309. package/mcp-server/tools/project/constants.d.ts +2 -1
  310. package/mcp-server/tools/project/constants.js +2 -1
  311. package/mcp-server/types.d.ts +0 -7
  312. package/mcp-server/types.js +1 -13
  313. package/mcp-server/utils/command.js +3 -1
  314. package/mcp-server/utils/config.js +1 -0
  315. package/mcp-server/utils/logger.d.ts +10 -0
  316. package/mcp-server/utils/logger.js +29 -0
  317. package/mcp-server/utils/toolUsageTracking.js +10 -8
  318. package/package.json +16 -11
  319. package/types/Link.d.ts +32 -0
  320. package/types/Link.js +5 -0
  321. package/types/LocalDev.d.ts +5 -0
  322. package/types/PackageJson.d.ts +1 -0
  323. package/types/Projects.d.ts +19 -0
  324. package/types/Prompts.d.ts +1 -0
  325. package/types/Yargs.d.ts +19 -1
  326. package/ui/components/ActionSection.d.ts +1 -1
  327. package/ui/components/InputField.d.ts +1 -1
  328. package/ui/components/SelectInput.d.ts +1 -1
  329. package/ui/components/StatusIcon.d.ts +1 -1
  330. package/ui/components/Table.d.ts +5 -5
  331. package/ui/components/getStarted/GetStartedFlow.d.ts +1 -1
  332. package/ui/components/getStarted/screens/InstallationScreen.d.ts +1 -1
  333. package/ui/components/getStarted/screens/ProjectSetupScreen.d.ts +1 -1
  334. package/ui/components/getStarted/screens/UploadScreen.d.ts +1 -1
  335. package/api/__tests__/migrate.test.d.ts +0 -1
  336. package/api/__tests__/migrate.test.js +0 -199
  337. package/commands/__tests__/account.test.d.ts +0 -1
  338. package/commands/__tests__/account.test.js +0 -69
  339. package/commands/__tests__/auth.test.d.ts +0 -1
  340. package/commands/__tests__/auth.test.js +0 -43
  341. package/commands/__tests__/cms.test.d.ts +0 -1
  342. package/commands/__tests__/cms.test.js +0 -87
  343. package/commands/__tests__/config.test.d.ts +0 -1
  344. package/commands/__tests__/config.test.js +0 -44
  345. package/commands/__tests__/customObject.test.d.ts +0 -1
  346. package/commands/__tests__/customObject.test.js +0 -68
  347. package/commands/__tests__/doctor.test.d.ts +0 -1
  348. package/commands/__tests__/doctor.test.js +0 -132
  349. package/commands/__tests__/feedback.test.d.ts +0 -1
  350. package/commands/__tests__/feedback.test.js +0 -24
  351. package/commands/__tests__/filemanager.test.d.ts +0 -1
  352. package/commands/__tests__/filemanager.test.js +0 -45
  353. package/commands/__tests__/getStarted.test.d.ts +0 -1
  354. package/commands/__tests__/getStarted.test.js +0 -173
  355. package/commands/__tests__/hubdb.test.d.ts +0 -1
  356. package/commands/__tests__/hubdb.test.js +0 -50
  357. package/commands/__tests__/init.test.d.ts +0 -1
  358. package/commands/__tests__/init.test.js +0 -42
  359. package/commands/__tests__/mcp.test.d.ts +0 -1
  360. package/commands/__tests__/mcp.test.js +0 -46
  361. package/commands/__tests__/open.test.d.ts +0 -1
  362. package/commands/__tests__/open.test.js +0 -58
  363. package/commands/__tests__/project.test.d.ts +0 -1
  364. package/commands/__tests__/project.test.js +0 -125
  365. package/commands/__tests__/sandbox.test.d.ts +0 -1
  366. package/commands/__tests__/sandbox.test.js +0 -44
  367. package/commands/__tests__/secret.test.d.ts +0 -1
  368. package/commands/__tests__/secret.test.js +0 -49
  369. package/commands/__tests__/testAccount.test.d.ts +0 -1
  370. package/commands/__tests__/testAccount.test.js +0 -57
  371. package/commands/__tests__/upgrade.test.d.ts +0 -1
  372. package/commands/__tests__/upgrade.test.js +0 -309
  373. package/commands/account/__tests__/auth.test.d.ts +0 -1
  374. package/commands/account/__tests__/auth.test.js +0 -206
  375. package/commands/account/__tests__/clean.test.d.ts +0 -1
  376. package/commands/account/__tests__/clean.test.js +0 -28
  377. package/commands/account/__tests__/createOverride.test.d.ts +0 -1
  378. package/commands/account/__tests__/createOverride.test.js +0 -32
  379. package/commands/account/__tests__/info.test.d.ts +0 -1
  380. package/commands/account/__tests__/info.test.js +0 -28
  381. package/commands/account/__tests__/list.test.d.ts +0 -1
  382. package/commands/account/__tests__/list.test.js +0 -153
  383. package/commands/account/__tests__/remove.test.d.ts +0 -1
  384. package/commands/account/__tests__/remove.test.js +0 -36
  385. package/commands/account/__tests__/removeOverride.d.ts +0 -1
  386. package/commands/account/__tests__/removeOverride.js +0 -25
  387. package/commands/account/__tests__/rename.test.d.ts +0 -1
  388. package/commands/account/__tests__/rename.test.js +0 -82
  389. package/commands/account/__tests__/use.test.d.ts +0 -1
  390. package/commands/account/__tests__/use.test.js +0 -170
  391. package/commands/app/__tests__/migrate.test.d.ts +0 -1
  392. package/commands/app/__tests__/migrate.test.js +0 -111
  393. package/commands/app/secret/__tests__/add.test.d.ts +0 -1
  394. package/commands/app/secret/__tests__/add.test.js +0 -140
  395. package/commands/app/secret/__tests__/delete.test.d.ts +0 -1
  396. package/commands/app/secret/__tests__/delete.test.js +0 -28
  397. package/commands/app/secret/__tests__/list.test.d.ts +0 -1
  398. package/commands/app/secret/__tests__/list.test.js +0 -25
  399. package/commands/app/secret/__tests__/update.test.d.ts +0 -1
  400. package/commands/app/secret/__tests__/update.test.js +0 -28
  401. package/commands/cms/__tests__/delete.test.d.ts +0 -1
  402. package/commands/cms/__tests__/delete.test.js +0 -39
  403. package/commands/cms/__tests__/fetch.test.d.ts +0 -1
  404. package/commands/cms/__tests__/fetch.test.js +0 -156
  405. package/commands/cms/__tests__/function.test.d.ts +0 -1
  406. package/commands/cms/__tests__/function.test.js +0 -50
  407. package/commands/cms/__tests__/lint.test.d.ts +0 -1
  408. package/commands/cms/__tests__/lint.test.js +0 -33
  409. package/commands/cms/__tests__/list.test.d.ts +0 -1
  410. package/commands/cms/__tests__/list.test.js +0 -42
  411. package/commands/cms/__tests__/module.test.d.ts +0 -1
  412. package/commands/cms/__tests__/module.test.js +0 -45
  413. package/commands/cms/__tests__/mv.test.d.ts +0 -1
  414. package/commands/cms/__tests__/mv.test.js +0 -46
  415. package/commands/cms/__tests__/theme.test.d.ts +0 -1
  416. package/commands/cms/__tests__/theme.test.js +0 -54
  417. package/commands/cms/__tests__/upload.test.d.ts +0 -1
  418. package/commands/cms/__tests__/upload.test.js +0 -308
  419. package/commands/cms/__tests__/watch.test.d.ts +0 -1
  420. package/commands/cms/__tests__/watch.test.js +0 -204
  421. package/commands/cms/function/__tests__/logs.test.d.ts +0 -1
  422. package/commands/cms/function/__tests__/logs.test.js +0 -70
  423. package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +0 -1
  424. package/commands/cms/theme/__tests__/generate-selectors.test.js +0 -28
  425. package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +0 -1
  426. package/commands/cms/theme/__tests__/marketplace-validate.test.js +0 -36
  427. package/commands/cms/theme/__tests__/preview.test.d.ts +0 -1
  428. package/commands/cms/theme/__tests__/preview.test.js +0 -54
  429. package/commands/customObject/__tests__/create.test.d.ts +0 -1
  430. package/commands/customObject/__tests__/create.test.js +0 -40
  431. package/commands/customObject/__tests__/createSchema.test.d.ts +0 -1
  432. package/commands/customObject/__tests__/createSchema.test.js +0 -28
  433. package/commands/customObject/__tests__/deleteSchema.test.d.ts +0 -1
  434. package/commands/customObject/__tests__/deleteSchema.test.js +0 -42
  435. package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +0 -1
  436. package/commands/customObject/__tests__/fetch-all-schemas.test.js +0 -41
  437. package/commands/customObject/__tests__/fetchSchema.test.d.ts +0 -1
  438. package/commands/customObject/__tests__/fetchSchema.test.js +0 -45
  439. package/commands/customObject/__tests__/listSchemas.test.d.ts +0 -1
  440. package/commands/customObject/__tests__/listSchemas.test.js +0 -29
  441. package/commands/customObject/__tests__/updateSchema.test.d.ts +0 -1
  442. package/commands/customObject/__tests__/updateSchema.test.js +0 -40
  443. package/commands/filemanager/__tests__/fetch.test.d.ts +0 -1
  444. package/commands/filemanager/__tests__/fetch.test.js +0 -32
  445. package/commands/filemanager/__tests__/upload.test.d.ts +0 -1
  446. package/commands/filemanager/__tests__/upload.test.js +0 -191
  447. package/commands/hubdb/__tests__/clear.test.d.ts +0 -1
  448. package/commands/hubdb/__tests__/clear.test.js +0 -28
  449. package/commands/hubdb/__tests__/create.test.d.ts +0 -1
  450. package/commands/hubdb/__tests__/create.test.js +0 -28
  451. package/commands/hubdb/__tests__/delete.test.d.ts +0 -1
  452. package/commands/hubdb/__tests__/delete.test.js +0 -28
  453. package/commands/hubdb/__tests__/fetch.test.d.ts +0 -1
  454. package/commands/hubdb/__tests__/fetch.test.js +0 -28
  455. package/commands/hubdb/__tests__/list.test.d.ts +0 -1
  456. package/commands/hubdb/__tests__/list.test.js +0 -88
  457. package/commands/mcp/__tests__/setup.test.d.ts +0 -1
  458. package/commands/mcp/__tests__/setup.test.js +0 -26
  459. package/commands/mcp/__tests__/start.test.d.ts +0 -1
  460. package/commands/mcp/__tests__/start.test.js +0 -144
  461. package/commands/project/__tests__/add.test.d.ts +0 -1
  462. package/commands/project/__tests__/add.test.js +0 -107
  463. package/commands/project/__tests__/create.test.d.ts +0 -1
  464. package/commands/project/__tests__/create.test.js +0 -97
  465. package/commands/project/__tests__/deploy.test.d.ts +0 -1
  466. package/commands/project/__tests__/deploy.test.js +0 -307
  467. package/commands/project/__tests__/dev.test.d.ts +0 -1
  468. package/commands/project/__tests__/dev.test.js +0 -273
  469. package/commands/project/__tests__/devUnifiedFlow.test.d.ts +0 -1
  470. package/commands/project/__tests__/devUnifiedFlow.test.js +0 -434
  471. package/commands/project/__tests__/download.test.d.ts +0 -1
  472. package/commands/project/__tests__/download.test.js +0 -39
  473. package/commands/project/__tests__/installDeps.test.d.ts +0 -1
  474. package/commands/project/__tests__/installDeps.test.js +0 -140
  475. package/commands/project/__tests__/lint.test.d.ts +0 -1
  476. package/commands/project/__tests__/lint.test.js +0 -704
  477. package/commands/project/__tests__/list.test.d.ts +0 -1
  478. package/commands/project/__tests__/list.test.js +0 -31
  479. package/commands/project/__tests__/listBuilds.test.d.ts +0 -1
  480. package/commands/project/__tests__/listBuilds.test.js +0 -38
  481. package/commands/project/__tests__/logs.test.d.ts +0 -1
  482. package/commands/project/__tests__/logs.test.js +0 -202
  483. package/commands/project/__tests__/migrate.test.d.ts +0 -1
  484. package/commands/project/__tests__/migrate.test.js +0 -106
  485. package/commands/project/__tests__/open.test.d.ts +0 -1
  486. package/commands/project/__tests__/open.test.js +0 -39
  487. package/commands/project/__tests__/profile.test.d.ts +0 -1
  488. package/commands/project/__tests__/profile.test.js +0 -42
  489. package/commands/project/__tests__/updateDeps.test.d.ts +0 -1
  490. package/commands/project/__tests__/updateDeps.test.js +0 -140
  491. package/commands/project/__tests__/upload.test.d.ts +0 -1
  492. package/commands/project/__tests__/upload.test.js +0 -234
  493. package/commands/project/__tests__/validate.test.d.ts +0 -1
  494. package/commands/project/__tests__/validate.test.js +0 -381
  495. package/commands/project/__tests__/watch.test.d.ts +0 -1
  496. package/commands/project/__tests__/watch.test.js +0 -35
  497. package/commands/sandbox/__tests__/create.test.d.ts +0 -1
  498. package/commands/sandbox/__tests__/create.test.js +0 -245
  499. package/commands/sandbox/__tests__/delete.test.d.ts +0 -1
  500. package/commands/sandbox/__tests__/delete.test.js +0 -31
  501. package/commands/secret/__tests__/addSecret.test.d.ts +0 -1
  502. package/commands/secret/__tests__/addSecret.test.js +0 -162
  503. package/commands/secret/__tests__/deleteSecret.test.d.ts +0 -1
  504. package/commands/secret/__tests__/deleteSecret.test.js +0 -41
  505. package/commands/secret/__tests__/listSecret.test.d.ts +0 -1
  506. package/commands/secret/__tests__/listSecret.test.js +0 -29
  507. package/commands/secret/__tests__/updateSecret.test.d.ts +0 -1
  508. package/commands/secret/__tests__/updateSecret.test.js +0 -29
  509. package/commands/testAccount/__tests__/create.test.d.ts +0 -1
  510. package/commands/testAccount/__tests__/create.test.js +0 -106
  511. package/commands/testAccount/__tests__/createConfig.test.d.ts +0 -1
  512. package/commands/testAccount/__tests__/createConfig.test.js +0 -32
  513. package/commands/testAccount/__tests__/delete.test.d.ts +0 -1
  514. package/commands/testAccount/__tests__/delete.test.js +0 -29
  515. package/commands/testAccount/__tests__/importData.test.d.ts +0 -1
  516. package/commands/testAccount/__tests__/importData.test.js +0 -92
  517. package/lib/__tests__/CLIWebSocketServer.test.d.ts +0 -1
  518. package/lib/__tests__/CLIWebSocketServer.test.js +0 -252
  519. package/lib/__tests__/accountAuth.test.d.ts +0 -1
  520. package/lib/__tests__/accountAuth.test.js +0 -258
  521. package/lib/__tests__/accountTypes.test.d.ts +0 -1
  522. package/lib/__tests__/accountTypes.test.js +0 -98
  523. package/lib/__tests__/buildAccount.test.d.ts +0 -1
  524. package/lib/__tests__/buildAccount.test.js +0 -262
  525. package/lib/__tests__/cliUpgradeUtils.test.d.ts +0 -1
  526. package/lib/__tests__/cliUpgradeUtils.test.js +0 -131
  527. package/lib/__tests__/commandSuggestion.test.d.ts +0 -1
  528. package/lib/__tests__/commandSuggestion.test.js +0 -121
  529. package/lib/__tests__/commonOpts.test.d.ts +0 -1
  530. package/lib/__tests__/commonOpts.test.js +0 -80
  531. package/lib/__tests__/dependencyManagement.test.d.ts +0 -1
  532. package/lib/__tests__/dependencyManagement.test.js +0 -1067
  533. package/lib/__tests__/developerTestAccounts.test.d.ts +0 -1
  534. package/lib/__tests__/developerTestAccounts.test.js +0 -156
  535. package/lib/__tests__/hasFeature.test.d.ts +0 -1
  536. package/lib/__tests__/hasFeature.test.js +0 -167
  537. package/lib/__tests__/http.test.d.ts +0 -1
  538. package/lib/__tests__/http.test.js +0 -40
  539. package/lib/__tests__/importData.test.d.ts +0 -1
  540. package/lib/__tests__/importData.test.js +0 -98
  541. package/lib/__tests__/npmCli.test.d.ts +0 -1
  542. package/lib/__tests__/npmCli.test.js +0 -84
  543. package/lib/__tests__/oauth.test.d.ts +0 -1
  544. package/lib/__tests__/oauth.test.js +0 -109
  545. package/lib/__tests__/parsing.test.d.ts +0 -1
  546. package/lib/__tests__/parsing.test.js +0 -34
  547. package/lib/__tests__/polling.test.d.ts +0 -1
  548. package/lib/__tests__/polling.test.js +0 -76
  549. package/lib/__tests__/process.test.d.ts +0 -1
  550. package/lib/__tests__/process.test.js +0 -89
  551. package/lib/__tests__/sandboxSync.test.d.ts +0 -1
  552. package/lib/__tests__/sandboxSync.test.js +0 -147
  553. package/lib/__tests__/sandboxes.test.d.ts +0 -1
  554. package/lib/__tests__/sandboxes.test.js +0 -156
  555. package/lib/__tests__/serverlessLogs.test.d.ts +0 -1
  556. package/lib/__tests__/serverlessLogs.test.js +0 -163
  557. package/lib/__tests__/usageTracking.test.d.ts +0 -1
  558. package/lib/__tests__/usageTracking.test.js +0 -197
  559. package/lib/__tests__/validation.test.d.ts +0 -1
  560. package/lib/__tests__/validation.test.js +0 -143
  561. package/lib/__tests__/yargsUtils.test.d.ts +0 -1
  562. package/lib/__tests__/yargsUtils.test.js +0 -124
  563. package/lib/app/__tests__/migrate.test.d.ts +0 -1
  564. package/lib/app/__tests__/migrate.test.js +0 -638
  565. package/lib/doctor/__tests__/Diagnosis.test.d.ts +0 -1
  566. package/lib/doctor/__tests__/Diagnosis.test.js +0 -84
  567. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +0 -1
  568. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +0 -177
  569. package/lib/doctor/__tests__/Doctor.test.d.ts +0 -1
  570. package/lib/doctor/__tests__/Doctor.test.js +0 -560
  571. package/lib/errorHandlers/__tests__/index.test.d.ts +0 -1
  572. package/lib/errorHandlers/__tests__/index.test.js +0 -278
  573. package/lib/mcp/__tests__/setup.test.d.ts +0 -1
  574. package/lib/mcp/__tests__/setup.test.js +0 -523
  575. package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +0 -1
  576. package/lib/middleware/__tests__/commandTargetingUtils.test.js +0 -99
  577. package/lib/middleware/__tests__/configMiddleware.test.d.ts +0 -1
  578. package/lib/middleware/__tests__/configMiddleware.test.js +0 -118
  579. package/lib/middleware/__tests__/gitMiddleware.test.d.ts +0 -1
  580. package/lib/middleware/__tests__/gitMiddleware.test.js +0 -43
  581. package/lib/middleware/__tests__/requestMiddleware.test.d.ts +0 -1
  582. package/lib/middleware/__tests__/requestMiddleware.test.js +0 -15
  583. package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +0 -1
  584. package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +0 -44
  585. package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +0 -1
  586. package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +0 -39
  587. package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +0 -1
  588. package/lib/projects/__tests__/AppDevModeInterface.test.js +0 -541
  589. package/lib/projects/__tests__/DevServerManager.test.d.ts +0 -1
  590. package/lib/projects/__tests__/DevServerManager.test.js +0 -185
  591. package/lib/projects/__tests__/DevSessionManager.test.d.ts +0 -1
  592. package/lib/projects/__tests__/DevSessionManager.test.js +0 -250
  593. package/lib/projects/__tests__/LocalDevProcess.test.d.ts +0 -1
  594. package/lib/projects/__tests__/LocalDevProcess.test.js +0 -481
  595. package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +0 -1
  596. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +0 -231
  597. package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +0 -1
  598. package/lib/projects/__tests__/ProjectLogsManager.test.js +0 -302
  599. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +0 -1
  600. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +0 -160
  601. package/lib/projects/__tests__/components.test.d.ts +0 -1
  602. package/lib/projects/__tests__/components.test.js +0 -426
  603. package/lib/projects/__tests__/deploy.test.d.ts +0 -1
  604. package/lib/projects/__tests__/deploy.test.js +0 -231
  605. package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +0 -1
  606. package/lib/projects/__tests__/localDevProjectHelpers.test.js +0 -120
  607. package/lib/projects/__tests__/platformVersion.test.d.ts +0 -1
  608. package/lib/projects/__tests__/platformVersion.test.js +0 -63
  609. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +0 -1
  610. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +0 -328
  611. package/lib/projects/__tests__/projectProfiles.test.d.ts +0 -1
  612. package/lib/projects/__tests__/projectProfiles.test.js +0 -441
  613. package/lib/projects/__tests__/projects.test.d.ts +0 -1
  614. package/lib/projects/__tests__/projects.test.js +0 -58
  615. package/lib/projects/__tests__/structure.test.d.ts +0 -1
  616. package/lib/projects/__tests__/structure.test.js +0 -210
  617. package/lib/projects/__tests__/uieLinting.test.d.ts +0 -1
  618. package/lib/projects/__tests__/uieLinting.test.js +0 -631
  619. package/lib/projects/__tests__/upload.test.d.ts +0 -1
  620. package/lib/projects/__tests__/upload.test.js +0 -183
  621. package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +0 -1
  622. package/lib/projects/add/__tests__/legacyAddComponent.test.js +0 -245
  623. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +0 -1
  624. package/lib/projects/add/__tests__/v2AddComponent.test.js +0 -343
  625. package/lib/projects/create/__tests__/legacy.test.d.ts +0 -1
  626. package/lib/projects/create/__tests__/legacy.test.js +0 -72
  627. package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
  628. package/lib/projects/create/__tests__/v2.test.js +0 -257
  629. package/lib/projects/platformVersion.d.ts +0 -9
  630. package/lib/projects/platformVersion.js +0 -39
  631. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +0 -1
  632. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +0 -157
  633. package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +0 -1
  634. package/lib/prompts/__tests__/createFunctionPrompt.test.js +0 -129
  635. package/lib/prompts/__tests__/createModulePrompt.test.d.ts +0 -1
  636. package/lib/prompts/__tests__/createModulePrompt.test.js +0 -187
  637. package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +0 -1
  638. package/lib/prompts/__tests__/createTemplatePrompt.test.js +0 -102
  639. package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +0 -1
  640. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +0 -31
  641. package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +0 -1
  642. package/lib/prompts/__tests__/projectAddPrompt.test.js +0 -143
  643. package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +0 -1
  644. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -37
  645. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +0 -1
  646. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +0 -160
  647. package/lib/sandboxSync.d.ts +0 -4
  648. package/lib/sandboxSync.js +0 -102
  649. package/lib/theme/__tests__/migrate.test.d.ts +0 -1
  650. package/lib/theme/__tests__/migrate.test.js +0 -256
  651. package/lib/ui/__tests__/SpinniesManager.test.d.ts +0 -1
  652. package/lib/ui/__tests__/SpinniesManager.test.js +0 -488
  653. package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +0 -1
  654. package/lib/ui/__tests__/removeAnsiCodes.test.js +0 -84
  655. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +0 -1
  656. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +0 -254
  657. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
  658. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -227
  659. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
  660. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -208
  661. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
  662. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -186
  663. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
  664. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -124
  665. package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
  666. package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -124
  667. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
  668. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -157
  669. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
  670. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -132
  671. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
  672. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -461
  673. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
  674. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -125
  675. package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +0 -1
  676. package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +0 -125
  677. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +0 -1
  678. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +0 -210
  679. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +0 -1
  680. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +0 -146
  681. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +0 -1
  682. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +0 -124
  683. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +0 -1
  684. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +0 -307
  685. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +0 -1
  686. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +0 -242
  687. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +0 -1
  688. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +0 -209
  689. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +0 -1
  690. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +0 -158
  691. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +0 -1
  692. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +0 -187
  693. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +0 -1
  694. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +0 -118
  695. package/mcp-server/utils/__tests__/command.test.d.ts +0 -1
  696. package/mcp-server/utils/__tests__/command.test.js +0 -275
  697. package/mcp-server/utils/__tests__/content.test.d.ts +0 -1
  698. package/mcp-server/utils/__tests__/content.test.js +0 -164
  699. package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +0 -1
  700. package/mcp-server/utils/__tests__/feedbackTracking.test.js +0 -69
@@ -1,488 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
2
- import SpinniesManager from '../SpinniesManager.js';
3
- // Mock dependencies
4
- vi.mock('readline', () => ({
5
- default: {
6
- clearScreenDown: vi.fn(),
7
- moveCursor: vi.fn(),
8
- clearLine: vi.fn(),
9
- },
10
- }));
11
- vi.mock('cli-cursor', () => ({
12
- default: {
13
- hide: vi.fn(),
14
- show: vi.fn(),
15
- },
16
- }));
17
- vi.mock('../logger.js', () => ({
18
- uiLogger: {
19
- debug: vi.fn(),
20
- log: vi.fn(),
21
- },
22
- }));
23
- describe('SpinniesManager', () => {
24
- let spinniesManager;
25
- let mockUiLogger;
26
- beforeEach(async () => {
27
- // Reset the singleton instance before each test
28
- // Get the mocked logger
29
- const loggerModule = await import('../logger.js');
30
- mockUiLogger = loggerModule.uiLogger;
31
- // Mock process.stderr
32
- Object.defineProperty(process, 'stderr', {
33
- value: {
34
- write: vi.fn(),
35
- isTTY: true,
36
- columns: 80,
37
- },
38
- writable: true,
39
- });
40
- // Mock process.env
41
- delete process.env.CI;
42
- spinniesManager = SpinniesManager;
43
- });
44
- afterEach(() => {
45
- vi.restoreAllMocks();
46
- });
47
- describe('initialization', () => {
48
- it('should initialize with default options', () => {
49
- spinniesManager.init();
50
- expect(spinniesManager.hasActiveSpinners()).toBe(false);
51
- });
52
- it('should initialize with custom options', () => {
53
- const customOptions = {
54
- spinnerColor: 'red',
55
- succeedColor: 'blue',
56
- failColor: 'yellow',
57
- };
58
- spinniesManager.init(customOptions);
59
- spinniesManager.add('test', { text: 'Test spinner' });
60
- const spinner = spinniesManager.pick('test');
61
- expect(spinner).toBeDefined();
62
- });
63
- it('should set disableSpins to true in CI environment', () => {
64
- process.env.CI = 'true';
65
- spinniesManager.init();
66
- spinniesManager.add('test', { text: 'Test spinner' });
67
- const spinner = spinniesManager.pick('test');
68
- expect(spinner).toBeDefined();
69
- });
70
- it('should use fallback spinner when terminal does not support unicode', () => {
71
- Object.defineProperty(process, 'platform', {
72
- value: 'win32',
73
- writable: true,
74
- });
75
- delete process.env.TERM_PROGRAM;
76
- delete process.env.WT_SESSION;
77
- spinniesManager.init();
78
- spinniesManager.add('test', { text: 'Test spinner' });
79
- const spinner = spinniesManager.pick('test');
80
- expect(spinner).toBeDefined();
81
- });
82
- });
83
- describe('spinner management', () => {
84
- beforeEach(() => {
85
- spinniesManager.init();
86
- });
87
- describe('add', () => {
88
- it('should add a spinner with name', () => {
89
- spinniesManager.add('test-spinner', {
90
- text: 'Loading...',
91
- });
92
- const spinner = spinniesManager.pick('test-spinner');
93
- expect(spinner).toBeDefined();
94
- expect(spinner?.text).toBe('Loading...');
95
- expect(spinner?.status).toBe('spinning');
96
- expect(spinniesManager.hasActiveSpinners()).toBe(true);
97
- });
98
- it('should add a spinner without name and generate one', () => {
99
- spinniesManager.add('', { text: 'Loading...' });
100
- // Since we can't get the generated name directly, check that a spinner was added
101
- expect(spinniesManager.hasActiveSpinners()).toBe(true);
102
- });
103
- it('should use spinner name as text if no text provided', () => {
104
- spinniesManager.add('test-spinner');
105
- const spinner = spinniesManager.pick('test-spinner');
106
- expect(spinner?.text).toBe('test-spinner');
107
- });
108
- it('should add multiple spinners', () => {
109
- spinniesManager.add('spinner1', { text: 'First' });
110
- spinniesManager.add('spinner2', { text: 'Second' });
111
- const spinner1 = spinniesManager.pick('spinner1');
112
- const spinner2 = spinniesManager.pick('spinner2');
113
- expect(spinner1).toBeDefined();
114
- expect(spinner2).toBeDefined();
115
- expect(spinniesManager.hasActiveSpinners()).toBe(true);
116
- });
117
- });
118
- describe('pick', () => {
119
- it('should return spinner by name', () => {
120
- spinniesManager.add('test-spinner', { text: 'Loading...' });
121
- const picked = spinniesManager.pick('test-spinner');
122
- expect(picked).toBeDefined();
123
- expect(picked?.text).toBe('Loading...');
124
- });
125
- it('should return undefined for non-existent spinner', () => {
126
- const picked = spinniesManager.pick('non-existent');
127
- expect(picked).toBeUndefined();
128
- });
129
- });
130
- describe('update', () => {
131
- it('should update spinner properties', () => {
132
- spinniesManager.add('test-spinner', { text: 'Loading...' });
133
- spinniesManager.update('test-spinner', {
134
- text: 'Updated text',
135
- color: 'red',
136
- });
137
- const spinner = spinniesManager.pick('test-spinner');
138
- expect(spinner?.text).toBe('Updated text');
139
- expect(spinner?.color).toBe('red');
140
- });
141
- it('should update spinner status', () => {
142
- spinniesManager.add('test-spinner', { text: 'Loading...' });
143
- spinniesManager.update('test-spinner', {
144
- status: 'succeed',
145
- });
146
- const spinner = spinniesManager.pick('test-spinner');
147
- expect(spinner).toBeDefined();
148
- expect(spinner?.status).toBe('succeed');
149
- });
150
- it('should log and return early for invalid spinner name', async () => {
151
- // @ts-expect-error testing bad input
152
- spinniesManager.update(123, { text: 'test' });
153
- expect(mockUiLogger.debug).toHaveBeenCalledWith('A spinner reference name must be specified');
154
- });
155
- });
156
- describe('succeed', () => {
157
- it('should mark spinner as succeeded', () => {
158
- spinniesManager.add('test-spinner', { text: 'Loading...' });
159
- spinniesManager.succeed('test-spinner', { text: 'Success!' });
160
- const spinner = spinniesManager.pick('test-spinner');
161
- expect(spinner?.status).toBe('succeed');
162
- expect(spinner?.text).toBe('Success!');
163
- });
164
- it('should succeed without updating text', () => {
165
- spinniesManager.add('test-spinner', { text: 'Loading...' });
166
- spinniesManager.succeed('test-spinner');
167
- const spinner = spinniesManager.pick('test-spinner');
168
- expect(spinner?.status).toBe('succeed');
169
- expect(spinner?.text).toBe('Loading...');
170
- });
171
- });
172
- describe('fail', () => {
173
- it('should mark spinner as failed', () => {
174
- spinniesManager.add('test-spinner', { text: 'Loading...' });
175
- spinniesManager.fail('test-spinner', { text: 'Failed!' });
176
- const spinner = spinniesManager.pick('test-spinner');
177
- expect(spinner?.status).toBe('fail');
178
- expect(spinner?.text).toBe('Failed!');
179
- });
180
- it('should fail without updating text', () => {
181
- spinniesManager.add('test-spinner', { text: 'Loading...' });
182
- spinniesManager.fail('test-spinner');
183
- const spinner = spinniesManager.pick('test-spinner');
184
- expect(spinner?.status).toBe('fail');
185
- expect(spinner?.text).toBe('Loading...');
186
- });
187
- });
188
- describe('remove', () => {
189
- it('should remove spinner by name', () => {
190
- spinniesManager.add('test-spinner', { text: 'Loading...' });
191
- expect(spinniesManager.pick('test-spinner')).toBeDefined();
192
- spinniesManager.remove('test-spinner');
193
- expect(spinniesManager.pick('test-spinner')).toBeUndefined();
194
- });
195
- it('should log debug message for invalid name', async () => {
196
- // @ts-expect-error Testing bad case
197
- spinniesManager.remove(123);
198
- expect(mockUiLogger.debug).toHaveBeenCalledWith('A spinner reference name must be specified');
199
- });
200
- it('should handle undefined name', async () => {
201
- // @ts-expect-error bad input
202
- spinniesManager.remove(undefined);
203
- expect(mockUiLogger.debug).toHaveBeenCalledWith('A spinner reference name must be specified');
204
- });
205
- });
206
- describe('stopAll', () => {
207
- beforeEach(() => {
208
- // @ts-expect-error private
209
- spinniesManager.spinners = {};
210
- spinniesManager.add('spinner1', { text: 'First' });
211
- spinniesManager.add('spinner2', { text: 'Second' });
212
- });
213
- it('should stop all active spinners with default status', () => {
214
- // Check spinners exist before stopping
215
- expect(spinniesManager.pick('spinner1')).toBeDefined();
216
- expect(spinniesManager.pick('spinner2')).toBeDefined();
217
- // Mock checkIfActiveSpinners to prevent clearing of spinners
218
- const originalCheckIfActiveSpinners =
219
- // @ts-expect-error private method
220
- spinniesManager.checkIfActiveSpinners;
221
- // @ts-expect-error private method
222
- spinniesManager.checkIfActiveSpinners = vi.fn();
223
- const result = spinniesManager.stopAll();
224
- // The result should contain the updated spinners
225
- expect(result.spinner1?.status).toBe('stopped');
226
- expect(result.spinner2?.status).toBe('stopped');
227
- expect(result.spinner1?.color).toBe('gray');
228
- expect(result.spinner2?.color).toBe('gray');
229
- // @ts-expect-error private method
230
- spinniesManager.checkIfActiveSpinners = originalCheckIfActiveSpinners;
231
- });
232
- it('should stop all active spinners with succeed status', () => {
233
- // Check spinners exist before stopping
234
- expect(spinniesManager.pick('spinner1')).toBeDefined();
235
- expect(spinniesManager.pick('spinner2')).toBeDefined();
236
- // Mock checkIfActiveSpinners to prevent clearing of spinners
237
- const originalCheckIfActiveSpinners =
238
- // @ts-expect-error private method
239
- spinniesManager.checkIfActiveSpinners;
240
- // @ts-expect-error private method
241
- spinniesManager.checkIfActiveSpinners = vi.fn();
242
- const result = spinniesManager.stopAll('succeed');
243
- expect(result.spinner1?.status).toBe('succeed');
244
- expect(result.spinner2?.status).toBe('succeed');
245
- // @ts-expect-error private method
246
- spinniesManager.checkIfActiveSpinners = originalCheckIfActiveSpinners;
247
- });
248
- it('should stop all active spinners with fail status', () => {
249
- // Check spinners exist before stopping
250
- expect(spinniesManager.pick('spinner1')).toBeDefined();
251
- expect(spinniesManager.pick('spinner2')).toBeDefined();
252
- // Mock checkIfActiveSpinners to prevent clearing of spinners
253
- const originalCheckIfActiveSpinners =
254
- // @ts-expect-error private method
255
- spinniesManager.checkIfActiveSpinners;
256
- // @ts-expect-error private method
257
- spinniesManager.checkIfActiveSpinners = vi.fn();
258
- const result = spinniesManager.stopAll('fail');
259
- expect(result.spinner1?.status).toBe('fail');
260
- expect(result.spinner2?.status).toBe('fail');
261
- // @ts-expect-error private method
262
- spinniesManager.checkIfActiveSpinners = originalCheckIfActiveSpinners;
263
- });
264
- it('should not change already completed spinners', () => {
265
- // Add a spinner that is already completed
266
- spinniesManager.add('completed', { text: 'Done' });
267
- spinniesManager.succeed('completed');
268
- // Verify it exists and is succeeded
269
- expect(spinniesManager.pick('completed')?.status).toBe('succeed');
270
- // Mock checkIfActiveSpinners to prevent clearing of spinners
271
- const originalCheckIfActiveSpinners =
272
- // @ts-expect-error private method
273
- spinniesManager.checkIfActiveSpinners;
274
- // @ts-expect-error private method
275
- spinniesManager.checkIfActiveSpinners = vi.fn();
276
- const result = spinniesManager.stopAll();
277
- // Completed spinners should not change status
278
- expect(result.completed?.status).toBe('succeed');
279
- // @ts-expect-error private method
280
- spinniesManager.checkIfActiveSpinners = originalCheckIfActiveSpinners;
281
- });
282
- it('should handle non-spinnable status correctly', () => {
283
- // Add spinner with non-spinnable status
284
- spinniesManager.add('non-spin', {
285
- text: 'Non-spinnable',
286
- status: 'non-spinnable',
287
- });
288
- // Verify it exists with correct status
289
- expect(spinniesManager.pick('non-spin')?.status).toBe('non-spinnable');
290
- // Mock checkIfActiveSpinners to prevent clearing of spinners
291
- const originalCheckIfActiveSpinners =
292
- // @ts-expect-error private method
293
- spinniesManager.checkIfActiveSpinners;
294
- // @ts-expect-error private method
295
- spinniesManager.checkIfActiveSpinners = vi.fn();
296
- const result = spinniesManager.stopAll();
297
- // Non-spinnable status should not change
298
- expect(result['non-spin']?.status).toBe('non-spinnable');
299
- // @ts-expect-error Testing private method
300
- spinniesManager.checkIfActiveSpinners = originalCheckIfActiveSpinners;
301
- });
302
- });
303
- });
304
- describe('active spinner detection', () => {
305
- beforeEach(() => {
306
- spinniesManager.init();
307
- });
308
- it('should detect active spinners', () => {
309
- expect(spinniesManager.hasActiveSpinners()).toBe(false);
310
- spinniesManager.add('active', { text: 'Loading...' });
311
- expect(spinniesManager.hasActiveSpinners()).toBe(true);
312
- spinniesManager.succeed('active');
313
- expect(spinniesManager.hasActiveSpinners()).toBe(false);
314
- });
315
- it('should detect multiple active spinners', () => {
316
- spinniesManager.add('active1', { text: 'Loading 1...' });
317
- spinniesManager.add('active2', { text: 'Loading 2...' });
318
- expect(spinniesManager.hasActiveSpinners()).toBe(true);
319
- spinniesManager.succeed('active1');
320
- expect(spinniesManager.hasActiveSpinners()).toBe(true);
321
- spinniesManager.succeed('active2');
322
- expect(spinniesManager.hasActiveSpinners()).toBe(false);
323
- });
324
- });
325
- describe('output control', () => {
326
- beforeEach(() => {
327
- spinniesManager.init();
328
- });
329
- it('should disable output when requested', () => {
330
- spinniesManager.setDisableOutput(true);
331
- spinniesManager.add('test', { text: 'Test' });
332
- // Output should be disabled, so no writes to stderr should occur
333
- expect(process.stderr.write).not.toHaveBeenCalled();
334
- });
335
- it('should enable output by default', () => {
336
- // Mock process.stderr.write to be a spy
337
- const mockWrite = vi.fn();
338
- Object.defineProperty(process.stderr, 'write', {
339
- value: mockWrite,
340
- writable: true,
341
- });
342
- // Set stderr.isTTY to false to trigger raw output mode
343
- Object.defineProperty(process.stderr, 'isTTY', {
344
- value: false,
345
- writable: true,
346
- });
347
- spinniesManager.setDisableOutput(false);
348
- spinniesManager.init(); // Re-init to pick up the new isTTY value
349
- spinniesManager.add('test', { text: 'Test' });
350
- // In non-TTY mode, it should write with raw output
351
- expect(mockWrite).toHaveBeenCalledWith('- Test\n');
352
- });
353
- });
354
- describe('error handling', () => {
355
- beforeEach(() => {
356
- spinniesManager.init();
357
- });
358
- it('should handle missing spinner in update', async () => {
359
- spinniesManager.update('non-existent', { text: 'test' });
360
- expect(mockUiLogger.debug).toHaveBeenCalledWith('No spinner initialized with name non-existent');
361
- });
362
- it('should handle missing spinner in setSpinnerProperties', async () => {
363
- // @ts-expect-error Testing private method
364
- spinniesManager.setSpinnerProperties('missing', {
365
- text: 'test',
366
- });
367
- expect(mockUiLogger.debug).toHaveBeenCalledWith('No spinner initialized with name missing');
368
- });
369
- it('should handle invalid spinner name types', async () => {
370
- // @ts-expect-error Testing private method
371
- spinniesManager.setSpinnerProperties(null, { text: 'test' });
372
- expect(mockUiLogger.debug).toHaveBeenCalledWith('A spinner reference name must be specified');
373
- // @ts-expect-error Testing private method
374
- spinniesManager.setSpinnerProperties(undefined, {
375
- text: 'test',
376
- });
377
- expect(mockUiLogger.debug).toHaveBeenCalledWith('A spinner reference name must be specified');
378
- // @ts-expect-error Testing private method
379
- spinniesManager.setSpinnerProperties(123, { text: 'test' });
380
- expect(mockUiLogger.debug).toHaveBeenCalledWith('A spinner reference name must be specified');
381
- });
382
- });
383
- describe('SIGINT handling', () => {
384
- beforeEach(() => {
385
- spinniesManager.init();
386
- });
387
- it('should bind SIGINT handler on init', () => {
388
- const processOnSpy = vi.spyOn(process, 'on');
389
- const processRemoveAllListenersSpy = vi.spyOn(process, 'removeAllListeners');
390
- spinniesManager.init();
391
- expect(processRemoveAllListenersSpy).toHaveBeenCalledWith('SIGINT');
392
- expect(processOnSpy).toHaveBeenCalledWith('SIGINT', expect.any(Function));
393
- });
394
- });
395
- describe('spinner options validation', () => {
396
- beforeEach(() => {
397
- spinniesManager.init();
398
- });
399
- it('should handle custom spinner frames', () => {
400
- const customOptions = {
401
- spinner: {
402
- frames: ['|', '/', '-', '\\'],
403
- interval: 100,
404
- },
405
- };
406
- spinniesManager.init(customOptions);
407
- spinniesManager.add('custom', { text: 'Custom spinner' });
408
- const spinner = spinniesManager.pick('custom');
409
- expect(spinner).toBeDefined();
410
- expect(spinner?.text).toBe('Custom spinner');
411
- });
412
- it('should handle custom colors', () => {
413
- spinniesManager.add('colored', {
414
- text: 'Colored spinner',
415
- color: 'red',
416
- spinnerColor: 'blue',
417
- succeedColor: 'green',
418
- failColor: 'yellow',
419
- });
420
- const spinner = spinniesManager.pick('colored');
421
- expect(spinner?.color).toBe('red');
422
- expect(spinner?.spinnerColor).toBe('blue');
423
- expect(spinner?.succeedColor).toBe('green');
424
- expect(spinner?.failColor).toBe('yellow');
425
- });
426
- it('should handle indentation', () => {
427
- spinniesManager.add('indented', {
428
- text: 'Indented spinner',
429
- indent: 4,
430
- });
431
- const spinner = spinniesManager.pick('indented');
432
- expect(spinner?.indent).toBe(4);
433
- });
434
- it('should handle custom prefixes', () => {
435
- spinniesManager.init({
436
- succeedPrefix: '[OK]',
437
- failPrefix: '[ERR]',
438
- });
439
- spinniesManager.add('prefixed', {
440
- text: 'Prefixed spinner',
441
- });
442
- const spinner = spinniesManager.pick('prefixed');
443
- expect(spinner?.succeedPrefix).toBe('[OK]');
444
- expect(spinner?.failPrefix).toBe('[ERR]');
445
- });
446
- });
447
- describe('edge cases', () => {
448
- beforeEach(() => {
449
- spinniesManager.init();
450
- });
451
- it('should handle empty spinner name gracefully', () => {
452
- spinniesManager.add('', { text: 'No name spinner' });
453
- // Since we can't get the generated name directly, just verify a spinner was added
454
- expect(spinniesManager.hasActiveSpinners()).toBe(true);
455
- });
456
- it('should handle null/undefined text', () => {
457
- // @ts-expect-error Testing bad case
458
- spinniesManager.add('null-text', { text: null });
459
- const spinner = spinniesManager.pick('null-text');
460
- expect(spinner?.text).toBe('null-text');
461
- });
462
- it('should handle non-TTY environments', () => {
463
- const mockWrite = vi.fn();
464
- Object.defineProperty(process.stderr, 'write', {
465
- value: mockWrite,
466
- writable: true,
467
- });
468
- Object.defineProperty(process.stderr, 'isTTY', {
469
- value: false,
470
- writable: true,
471
- });
472
- spinniesManager.init();
473
- spinniesManager.add('no-tty', { text: 'No TTY' });
474
- const spinner = spinniesManager.pick('no-tty');
475
- expect(spinner).toBeDefined();
476
- expect(mockWrite).toHaveBeenCalledWith('- No TTY\n');
477
- });
478
- it('should handle missing process.stderr.columns', () => {
479
- // @ts-expect-error
480
- delete process.stderr.columns;
481
- spinniesManager.add('no-columns', {
482
- text: 'A very long text that would normally be broken into multiple lines but now has to handle missing columns gracefully',
483
- });
484
- const spinner = spinniesManager.pick('no-columns');
485
- expect(spinner).toBeDefined();
486
- });
487
- });
488
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,84 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import chalk from 'chalk';
3
- import { removeAnsiCodes } from '../removeAnsiCodes.js';
4
- describe('removeAnsiCodes', () => {
5
- describe('basic functionality', () => {
6
- it('should remove ANSI codes from colored text', () => {
7
- const coloredText = chalk.red('Error message');
8
- const cleanText = removeAnsiCodes(coloredText);
9
- expect(cleanText).toBe('Error message');
10
- });
11
- it('should return unchanged text when no ANSI codes are present', () => {
12
- const plainText = 'This is plain text';
13
- const result = removeAnsiCodes(plainText);
14
- expect(result).toBe('This is plain text');
15
- });
16
- it('should handle empty strings', () => {
17
- const result = removeAnsiCodes('');
18
- expect(result).toBe('');
19
- });
20
- });
21
- describe('background colors', () => {
22
- it('should remove background color codes', () => {
23
- const text = chalk.bgRed('Text with red background');
24
- expect(removeAnsiCodes(text)).toBe('Text with red background');
25
- });
26
- it('should remove multiple background colors', () => {
27
- const text = chalk.bgBlue('Blue bg') + ' ' + chalk.bgYellow('Yellow bg');
28
- expect(removeAnsiCodes(text)).toBe('Blue bg Yellow bg');
29
- });
30
- });
31
- describe('text formatting', () => {
32
- it('should remove bold formatting', () => {
33
- const text = chalk.bold('Bold text');
34
- expect(removeAnsiCodes(text)).toBe('Bold text');
35
- });
36
- });
37
- describe('combined styles', () => {
38
- it('should remove multiple formatting styles', () => {
39
- const text = chalk.bold.red('Bold red text');
40
- expect(removeAnsiCodes(text)).toBe('Bold red text');
41
- });
42
- it('should remove complex combinations', () => {
43
- const text = chalk.bold.underline.red.bgYellow('Complex styling');
44
- expect(removeAnsiCodes(text)).toBe('Complex styling');
45
- });
46
- it('should handle chained styles', () => {
47
- const text = chalk.red('Red') + chalk.green(' Green') + chalk.blue(' Blue');
48
- expect(removeAnsiCodes(text)).toBe('Red Green Blue');
49
- });
50
- });
51
- describe('multiline text', () => {
52
- it('should remove ANSI codes from multiline text', () => {
53
- const text = chalk.red('Line 1\n') + chalk.green('Line 2\n') + chalk.blue('Line 3');
54
- const expected = 'Line 1\nLine 2\nLine 3';
55
- expect(removeAnsiCodes(text)).toBe(expected);
56
- });
57
- it('should handle mixed formatted and plain lines', () => {
58
- const text = chalk.bold('Formatted line\n') +
59
- 'Plain line\n' +
60
- chalk.italic('Another formatted line');
61
- const expected = 'Formatted line\nPlain line\nAnother formatted line';
62
- expect(removeAnsiCodes(text)).toBe(expected);
63
- });
64
- });
65
- describe('edge cases', () => {
66
- it('should handle text with only ANSI codes (no visible text)', () => {
67
- const text = chalk.red('');
68
- expect(removeAnsiCodes(text)).toBe('');
69
- });
70
- it('should handle multiple consecutive ANSI codes', () => {
71
- // Create text with multiple style applications
72
- const text = chalk.red(chalk.bold(chalk.underline('Heavily styled')));
73
- expect(removeAnsiCodes(text)).toBe('Heavily styled');
74
- });
75
- it('should handle mixed content with spaces and special characters', () => {
76
- const text = chalk.green('Success:') + ' ' + chalk.red('Error!') + ' @#$%^&*()';
77
- expect(removeAnsiCodes(text)).toBe('Success: Error! @#$%^&*()');
78
- });
79
- it('should handle text with tabs and newlines', () => {
80
- const text = chalk.yellow('\tTabbed text\n') + chalk.cyan('New line text');
81
- expect(removeAnsiCodes(text)).toBe('\tTabbed text\nNew line text');
82
- });
83
- });
84
- });