@hubspot/cli 8.3.0 → 8.4.0-beta.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 (522) hide show
  1. package/bin/cli.js +2 -0
  2. package/commands/account/auth.js +12 -22
  3. package/commands/account/clean.js +5 -6
  4. package/commands/account/createOverride.js +7 -7
  5. package/commands/account/info.js +2 -1
  6. package/commands/account/list.js +3 -5
  7. package/commands/account/remove.js +2 -3
  8. package/commands/account/removeOverride.js +8 -10
  9. package/commands/account/rename.js +5 -6
  10. package/commands/account/use.js +8 -19
  11. package/commands/api.d.ts +10 -0
  12. package/commands/api.js +164 -0
  13. package/commands/app/migrate.js +8 -8
  14. package/commands/app/secret/add.js +6 -7
  15. package/commands/app/secret/delete.js +9 -10
  16. package/commands/app/secret/list.js +6 -7
  17. package/commands/app/secret/update.js +8 -9
  18. package/commands/auth.js +12 -12
  19. package/commands/cms/app/create.js +9 -5
  20. package/commands/cms/convertFields.js +8 -8
  21. package/commands/cms/delete.js +2 -3
  22. package/commands/cms/fetch.js +7 -7
  23. package/commands/cms/function/create.js +9 -5
  24. package/commands/cms/function/deploy.js +2 -3
  25. package/commands/cms/function/list.js +11 -7
  26. package/commands/cms/function/logs.js +17 -23
  27. package/commands/cms/function/server.js +2 -3
  28. package/commands/cms/getReactModule.js +7 -8
  29. package/commands/cms/lighthouseScore.js +25 -24
  30. package/commands/cms/lint.js +4 -5
  31. package/commands/cms/list.js +5 -6
  32. package/commands/cms/module/create.js +9 -5
  33. package/commands/cms/module/marketplace-validate.js +7 -8
  34. package/commands/cms/mv.js +2 -3
  35. package/commands/cms/template/create.js +10 -6
  36. package/commands/cms/theme/create.js +5 -5
  37. package/commands/cms/theme/generate-selectors.js +5 -4
  38. package/commands/cms/theme/marketplace-validate.js +8 -9
  39. package/commands/cms/theme/preview.js +16 -8
  40. package/commands/cms/upload.js +15 -12
  41. package/commands/cms/watch.js +5 -5
  42. package/commands/cms/webpack/create.js +5 -5
  43. package/commands/completion.js +3 -5
  44. package/commands/config/migrate.js +6 -7
  45. package/commands/config/set.js +5 -6
  46. package/commands/customObject/create.js +4 -5
  47. package/commands/customObject/createSchema.js +4 -5
  48. package/commands/customObject/deleteSchema.js +4 -5
  49. package/commands/customObject/fetchAllSchemas.js +2 -3
  50. package/commands/customObject/fetchSchema.js +2 -3
  51. package/commands/customObject/listSchemas.js +2 -3
  52. package/commands/customObject/updateSchema.js +4 -5
  53. package/commands/doctor.js +8 -8
  54. package/commands/feedback.js +6 -4
  55. package/commands/filemanager/fetch.js +5 -6
  56. package/commands/filemanager/upload.js +5 -5
  57. package/commands/getStarted.js +14 -16
  58. package/commands/hubdb/clear.js +5 -6
  59. package/commands/hubdb/create.js +4 -5
  60. package/commands/hubdb/delete.js +8 -9
  61. package/commands/hubdb/fetch.js +5 -6
  62. package/commands/hubdb/list.js +16 -14
  63. package/commands/init.js +14 -17
  64. package/commands/mcp/setup.js +5 -6
  65. package/commands/mcp/start.js +2 -3
  66. package/commands/open.js +4 -5
  67. package/commands/project/add.js +10 -5
  68. package/commands/project/create.js +10 -10
  69. package/commands/project/delete.d.ts +7 -0
  70. package/commands/project/delete.js +74 -0
  71. package/commands/project/deploy.js +36 -34
  72. package/commands/project/dev/deprecatedFlow.js +42 -15
  73. package/commands/project/dev/index.d.ts +3 -3
  74. package/commands/project/dev/index.js +24 -30
  75. package/commands/project/dev/unifiedFlow.js +37 -14
  76. package/commands/project/download.js +10 -11
  77. package/commands/project/info.d.ts +4 -0
  78. package/commands/project/info.js +67 -0
  79. package/commands/project/installDeps.js +9 -6
  80. package/commands/project/lint.js +11 -8
  81. package/commands/project/list.js +14 -14
  82. package/commands/project/listBuilds.js +8 -6
  83. package/commands/project/logs.js +5 -6
  84. package/commands/project/migrate.js +8 -8
  85. package/commands/project/open.js +5 -6
  86. package/commands/project/profile/add.js +12 -8
  87. package/commands/project/profile/delete.js +15 -11
  88. package/commands/project/updateDeps.js +9 -6
  89. package/commands/project/upload.js +31 -17
  90. package/commands/project/validate.js +11 -11
  91. package/commands/project/watch.js +20 -20
  92. package/commands/project.js +4 -0
  93. package/commands/sandbox/create.js +15 -15
  94. package/commands/sandbox/delete.js +13 -14
  95. package/commands/secret/addSecret.js +6 -7
  96. package/commands/secret/deleteSecret.js +5 -6
  97. package/commands/secret/listSecret.js +2 -3
  98. package/commands/secret/updateSecret.js +4 -5
  99. package/commands/testAccount/create.d.ts +1 -1
  100. package/commands/testAccount/create.js +20 -16
  101. package/commands/testAccount/createConfig.js +7 -8
  102. package/commands/testAccount/delete.js +27 -18
  103. package/commands/testAccount/importData.js +6 -7
  104. package/commands/upgrade.js +9 -10
  105. package/lang/en.d.ts +114 -5
  106. package/lang/en.js +111 -5
  107. package/lib/accountAuth.js +2 -2
  108. package/lib/buildAccount.js +3 -3
  109. package/lib/doctor/Diagnosis.js +5 -5
  110. package/lib/errorHandlers/index.js +4 -3
  111. package/lib/errorHandlers/suppressError.js +4 -0
  112. package/lib/errors/PromptExitError.d.ts +4 -2
  113. package/lib/errors/PromptExitError.js +3 -0
  114. package/lib/process.d.ts +1 -1
  115. package/lib/process.js +10 -3
  116. package/lib/projects/delete.d.ts +13 -0
  117. package/lib/projects/delete.js +193 -0
  118. package/lib/projects/localDev/AppDevModeInterface.js +11 -11
  119. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +3 -1
  120. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +2 -2
  121. package/lib/projects/localDev/DevSessionManager.d.ts +6 -3
  122. package/lib/projects/localDev/DevSessionManager.js +31 -19
  123. package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +3 -0
  124. package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +16 -12
  125. package/lib/projects/localDev/LocalDevProcess.js +6 -5
  126. package/lib/projects/localDev/LocalDevState.d.ts +3 -2
  127. package/lib/projects/localDev/LocalDevState.js +3 -1
  128. package/lib/projects/localDev/helpers/account.d.ts +4 -3
  129. package/lib/projects/localDev/helpers/account.js +16 -19
  130. package/lib/projects/localDev/helpers/process.d.ts +1 -1
  131. package/lib/projects/localDev/helpers/process.js +4 -10
  132. package/lib/projects/localDev/helpers/project.d.ts +4 -3
  133. package/lib/projects/localDev/helpers/project.js +31 -15
  134. package/lib/projects/projectInfo.d.ts +5 -0
  135. package/lib/projects/projectInfo.js +82 -0
  136. package/lib/projects/projectProfiles.d.ts +1 -2
  137. package/lib/projects/projectProfiles.js +5 -17
  138. package/lib/prompts/createApiSamplePrompt.js +4 -0
  139. package/lib/prompts/projectProfilePrompt.d.ts +2 -0
  140. package/lib/prompts/projectProfilePrompt.js +46 -0
  141. package/lib/prompts/promptUtils.js +3 -2
  142. package/lib/prompts/selectHubDBTablePrompt.js +2 -2
  143. package/lib/prompts/selectPublicAppForMigrationPrompt.js +2 -2
  144. package/lib/theme/cmsDevServerProcess.d.ts +2 -0
  145. package/lib/theme/cmsDevServerProcess.js +7 -6
  146. package/lib/ui/SpinniesManager.d.ts +1 -0
  147. package/lib/ui/SpinniesManager.js +20 -6
  148. package/lib/ui/spinniesUtils.d.ts +0 -1
  149. package/lib/ui/spinniesUtils.js +6 -16
  150. package/lib/usageTracking.d.ts +3 -4
  151. package/lib/yargs/makeYargsBuilder.d.ts +13 -0
  152. package/lib/yargs/makeYargsBuilder.js +33 -0
  153. package/lib/yargs/makeYargsHandlerWithUsageTracking.d.ts +3 -0
  154. package/lib/yargs/makeYargsHandlerWithUsageTracking.js +95 -0
  155. package/lib/yargs/strictEnforceBoolean.d.ts +1 -0
  156. package/lib/yargs/strictEnforceBoolean.js +13 -0
  157. package/lib/yargsUtils.d.ts +3 -16
  158. package/lib/yargsUtils.js +3 -48
  159. package/package.json +9 -4
  160. package/types/LocalDev.d.ts +5 -0
  161. package/types/Projects.d.ts +19 -0
  162. package/types/Yargs.d.ts +18 -1
  163. package/api/__tests__/migrate.test.d.ts +0 -1
  164. package/api/__tests__/migrate.test.js +0 -199
  165. package/commands/__tests__/account.test.d.ts +0 -1
  166. package/commands/__tests__/account.test.js +0 -69
  167. package/commands/__tests__/auth.test.d.ts +0 -1
  168. package/commands/__tests__/auth.test.js +0 -43
  169. package/commands/__tests__/cms.test.d.ts +0 -1
  170. package/commands/__tests__/cms.test.js +0 -87
  171. package/commands/__tests__/config.test.d.ts +0 -1
  172. package/commands/__tests__/config.test.js +0 -44
  173. package/commands/__tests__/customObject.test.d.ts +0 -1
  174. package/commands/__tests__/customObject.test.js +0 -68
  175. package/commands/__tests__/doctor.test.d.ts +0 -1
  176. package/commands/__tests__/doctor.test.js +0 -132
  177. package/commands/__tests__/feedback.test.d.ts +0 -1
  178. package/commands/__tests__/feedback.test.js +0 -24
  179. package/commands/__tests__/filemanager.test.d.ts +0 -1
  180. package/commands/__tests__/filemanager.test.js +0 -45
  181. package/commands/__tests__/getStarted.test.d.ts +0 -1
  182. package/commands/__tests__/getStarted.test.js +0 -173
  183. package/commands/__tests__/hubdb.test.d.ts +0 -1
  184. package/commands/__tests__/hubdb.test.js +0 -50
  185. package/commands/__tests__/init.test.d.ts +0 -1
  186. package/commands/__tests__/init.test.js +0 -42
  187. package/commands/__tests__/mcp.test.d.ts +0 -1
  188. package/commands/__tests__/mcp.test.js +0 -46
  189. package/commands/__tests__/open.test.d.ts +0 -1
  190. package/commands/__tests__/open.test.js +0 -58
  191. package/commands/__tests__/project.test.d.ts +0 -1
  192. package/commands/__tests__/project.test.js +0 -125
  193. package/commands/__tests__/sandbox.test.d.ts +0 -1
  194. package/commands/__tests__/sandbox.test.js +0 -44
  195. package/commands/__tests__/secret.test.d.ts +0 -1
  196. package/commands/__tests__/secret.test.js +0 -49
  197. package/commands/__tests__/testAccount.test.d.ts +0 -1
  198. package/commands/__tests__/testAccount.test.js +0 -57
  199. package/commands/__tests__/upgrade.test.d.ts +0 -1
  200. package/commands/__tests__/upgrade.test.js +0 -309
  201. package/commands/account/__tests__/auth.test.d.ts +0 -1
  202. package/commands/account/__tests__/auth.test.js +0 -206
  203. package/commands/account/__tests__/clean.test.d.ts +0 -1
  204. package/commands/account/__tests__/clean.test.js +0 -28
  205. package/commands/account/__tests__/createOverride.test.d.ts +0 -1
  206. package/commands/account/__tests__/createOverride.test.js +0 -32
  207. package/commands/account/__tests__/info.test.d.ts +0 -1
  208. package/commands/account/__tests__/info.test.js +0 -28
  209. package/commands/account/__tests__/list.test.d.ts +0 -1
  210. package/commands/account/__tests__/list.test.js +0 -153
  211. package/commands/account/__tests__/remove.test.d.ts +0 -1
  212. package/commands/account/__tests__/remove.test.js +0 -36
  213. package/commands/account/__tests__/removeOverride.d.ts +0 -1
  214. package/commands/account/__tests__/removeOverride.js +0 -25
  215. package/commands/account/__tests__/rename.test.d.ts +0 -1
  216. package/commands/account/__tests__/rename.test.js +0 -82
  217. package/commands/account/__tests__/use.test.d.ts +0 -1
  218. package/commands/account/__tests__/use.test.js +0 -170
  219. package/commands/app/__tests__/migrate.test.d.ts +0 -1
  220. package/commands/app/__tests__/migrate.test.js +0 -111
  221. package/commands/app/secret/__tests__/add.test.d.ts +0 -1
  222. package/commands/app/secret/__tests__/add.test.js +0 -140
  223. package/commands/app/secret/__tests__/delete.test.d.ts +0 -1
  224. package/commands/app/secret/__tests__/delete.test.js +0 -28
  225. package/commands/app/secret/__tests__/list.test.d.ts +0 -1
  226. package/commands/app/secret/__tests__/list.test.js +0 -25
  227. package/commands/app/secret/__tests__/update.test.d.ts +0 -1
  228. package/commands/app/secret/__tests__/update.test.js +0 -28
  229. package/commands/cms/__tests__/delete.test.d.ts +0 -1
  230. package/commands/cms/__tests__/delete.test.js +0 -39
  231. package/commands/cms/__tests__/fetch.test.d.ts +0 -1
  232. package/commands/cms/__tests__/fetch.test.js +0 -156
  233. package/commands/cms/__tests__/function.test.d.ts +0 -1
  234. package/commands/cms/__tests__/function.test.js +0 -50
  235. package/commands/cms/__tests__/lint.test.d.ts +0 -1
  236. package/commands/cms/__tests__/lint.test.js +0 -33
  237. package/commands/cms/__tests__/list.test.d.ts +0 -1
  238. package/commands/cms/__tests__/list.test.js +0 -42
  239. package/commands/cms/__tests__/module.test.d.ts +0 -1
  240. package/commands/cms/__tests__/module.test.js +0 -45
  241. package/commands/cms/__tests__/mv.test.d.ts +0 -1
  242. package/commands/cms/__tests__/mv.test.js +0 -46
  243. package/commands/cms/__tests__/theme.test.d.ts +0 -1
  244. package/commands/cms/__tests__/theme.test.js +0 -54
  245. package/commands/cms/__tests__/upload.test.d.ts +0 -1
  246. package/commands/cms/__tests__/upload.test.js +0 -312
  247. package/commands/cms/__tests__/watch.test.d.ts +0 -1
  248. package/commands/cms/__tests__/watch.test.js +0 -204
  249. package/commands/cms/function/__tests__/logs.test.d.ts +0 -1
  250. package/commands/cms/function/__tests__/logs.test.js +0 -70
  251. package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +0 -1
  252. package/commands/cms/theme/__tests__/generate-selectors.test.js +0 -28
  253. package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +0 -1
  254. package/commands/cms/theme/__tests__/marketplace-validate.test.js +0 -36
  255. package/commands/cms/theme/__tests__/preview.test.d.ts +0 -1
  256. package/commands/cms/theme/__tests__/preview.test.js +0 -54
  257. package/commands/customObject/__tests__/create.test.d.ts +0 -1
  258. package/commands/customObject/__tests__/create.test.js +0 -40
  259. package/commands/customObject/__tests__/createSchema.test.d.ts +0 -1
  260. package/commands/customObject/__tests__/createSchema.test.js +0 -28
  261. package/commands/customObject/__tests__/deleteSchema.test.d.ts +0 -1
  262. package/commands/customObject/__tests__/deleteSchema.test.js +0 -42
  263. package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +0 -1
  264. package/commands/customObject/__tests__/fetch-all-schemas.test.js +0 -41
  265. package/commands/customObject/__tests__/fetchSchema.test.d.ts +0 -1
  266. package/commands/customObject/__tests__/fetchSchema.test.js +0 -45
  267. package/commands/customObject/__tests__/listSchemas.test.d.ts +0 -1
  268. package/commands/customObject/__tests__/listSchemas.test.js +0 -29
  269. package/commands/customObject/__tests__/updateSchema.test.d.ts +0 -1
  270. package/commands/customObject/__tests__/updateSchema.test.js +0 -40
  271. package/commands/filemanager/__tests__/fetch.test.d.ts +0 -1
  272. package/commands/filemanager/__tests__/fetch.test.js +0 -32
  273. package/commands/filemanager/__tests__/upload.test.d.ts +0 -1
  274. package/commands/filemanager/__tests__/upload.test.js +0 -191
  275. package/commands/hubdb/__tests__/clear.test.d.ts +0 -1
  276. package/commands/hubdb/__tests__/clear.test.js +0 -28
  277. package/commands/hubdb/__tests__/create.test.d.ts +0 -1
  278. package/commands/hubdb/__tests__/create.test.js +0 -28
  279. package/commands/hubdb/__tests__/delete.test.d.ts +0 -1
  280. package/commands/hubdb/__tests__/delete.test.js +0 -28
  281. package/commands/hubdb/__tests__/fetch.test.d.ts +0 -1
  282. package/commands/hubdb/__tests__/fetch.test.js +0 -28
  283. package/commands/hubdb/__tests__/list.test.d.ts +0 -1
  284. package/commands/hubdb/__tests__/list.test.js +0 -88
  285. package/commands/mcp/__tests__/setup.test.d.ts +0 -1
  286. package/commands/mcp/__tests__/setup.test.js +0 -26
  287. package/commands/mcp/__tests__/start.test.d.ts +0 -1
  288. package/commands/mcp/__tests__/start.test.js +0 -144
  289. package/commands/project/__tests__/add.test.d.ts +0 -1
  290. package/commands/project/__tests__/add.test.js +0 -107
  291. package/commands/project/__tests__/create.test.d.ts +0 -1
  292. package/commands/project/__tests__/create.test.js +0 -97
  293. package/commands/project/__tests__/deploy.test.d.ts +0 -1
  294. package/commands/project/__tests__/deploy.test.js +0 -307
  295. package/commands/project/__tests__/dev.test.d.ts +0 -1
  296. package/commands/project/__tests__/dev.test.js +0 -273
  297. package/commands/project/__tests__/devUnifiedFlow.test.d.ts +0 -1
  298. package/commands/project/__tests__/devUnifiedFlow.test.js +0 -434
  299. package/commands/project/__tests__/download.test.d.ts +0 -1
  300. package/commands/project/__tests__/download.test.js +0 -39
  301. package/commands/project/__tests__/installDeps.test.d.ts +0 -1
  302. package/commands/project/__tests__/installDeps.test.js +0 -140
  303. package/commands/project/__tests__/lint.test.d.ts +0 -1
  304. package/commands/project/__tests__/lint.test.js +0 -704
  305. package/commands/project/__tests__/list.test.d.ts +0 -1
  306. package/commands/project/__tests__/list.test.js +0 -31
  307. package/commands/project/__tests__/listBuilds.test.d.ts +0 -1
  308. package/commands/project/__tests__/listBuilds.test.js +0 -38
  309. package/commands/project/__tests__/logs.test.d.ts +0 -1
  310. package/commands/project/__tests__/logs.test.js +0 -202
  311. package/commands/project/__tests__/migrate.test.d.ts +0 -1
  312. package/commands/project/__tests__/migrate.test.js +0 -106
  313. package/commands/project/__tests__/open.test.d.ts +0 -1
  314. package/commands/project/__tests__/open.test.js +0 -39
  315. package/commands/project/__tests__/profile.test.d.ts +0 -1
  316. package/commands/project/__tests__/profile.test.js +0 -42
  317. package/commands/project/__tests__/updateDeps.test.d.ts +0 -1
  318. package/commands/project/__tests__/updateDeps.test.js +0 -140
  319. package/commands/project/__tests__/upload.test.d.ts +0 -1
  320. package/commands/project/__tests__/upload.test.js +0 -234
  321. package/commands/project/__tests__/validate.test.d.ts +0 -1
  322. package/commands/project/__tests__/validate.test.js +0 -381
  323. package/commands/project/__tests__/watch.test.d.ts +0 -1
  324. package/commands/project/__tests__/watch.test.js +0 -35
  325. package/commands/sandbox/__tests__/create.test.d.ts +0 -1
  326. package/commands/sandbox/__tests__/create.test.js +0 -198
  327. package/commands/sandbox/__tests__/delete.test.d.ts +0 -1
  328. package/commands/sandbox/__tests__/delete.test.js +0 -31
  329. package/commands/secret/__tests__/addSecret.test.d.ts +0 -1
  330. package/commands/secret/__tests__/addSecret.test.js +0 -162
  331. package/commands/secret/__tests__/deleteSecret.test.d.ts +0 -1
  332. package/commands/secret/__tests__/deleteSecret.test.js +0 -41
  333. package/commands/secret/__tests__/listSecret.test.d.ts +0 -1
  334. package/commands/secret/__tests__/listSecret.test.js +0 -29
  335. package/commands/secret/__tests__/updateSecret.test.d.ts +0 -1
  336. package/commands/secret/__tests__/updateSecret.test.js +0 -29
  337. package/commands/testAccount/__tests__/create.test.d.ts +0 -1
  338. package/commands/testAccount/__tests__/create.test.js +0 -106
  339. package/commands/testAccount/__tests__/createConfig.test.d.ts +0 -1
  340. package/commands/testAccount/__tests__/createConfig.test.js +0 -32
  341. package/commands/testAccount/__tests__/delete.test.d.ts +0 -1
  342. package/commands/testAccount/__tests__/delete.test.js +0 -29
  343. package/commands/testAccount/__tests__/importData.test.d.ts +0 -1
  344. package/commands/testAccount/__tests__/importData.test.js +0 -92
  345. package/lib/__tests__/CLIWebSocketServer.test.d.ts +0 -1
  346. package/lib/__tests__/CLIWebSocketServer.test.js +0 -252
  347. package/lib/__tests__/accountAuth.test.d.ts +0 -1
  348. package/lib/__tests__/accountAuth.test.js +0 -258
  349. package/lib/__tests__/accountTypes.test.d.ts +0 -1
  350. package/lib/__tests__/accountTypes.test.js +0 -98
  351. package/lib/__tests__/buildAccount.test.d.ts +0 -1
  352. package/lib/__tests__/buildAccount.test.js +0 -211
  353. package/lib/__tests__/cliUpgradeUtils.test.d.ts +0 -1
  354. package/lib/__tests__/cliUpgradeUtils.test.js +0 -131
  355. package/lib/__tests__/commandSuggestion.test.d.ts +0 -1
  356. package/lib/__tests__/commandSuggestion.test.js +0 -121
  357. package/lib/__tests__/commonOpts.test.d.ts +0 -1
  358. package/lib/__tests__/commonOpts.test.js +0 -80
  359. package/lib/__tests__/dependencyManagement.test.d.ts +0 -1
  360. package/lib/__tests__/dependencyManagement.test.js +0 -1067
  361. package/lib/__tests__/developerTestAccounts.test.d.ts +0 -1
  362. package/lib/__tests__/developerTestAccounts.test.js +0 -156
  363. package/lib/__tests__/hasFeature.test.d.ts +0 -1
  364. package/lib/__tests__/hasFeature.test.js +0 -167
  365. package/lib/__tests__/http.test.d.ts +0 -1
  366. package/lib/__tests__/http.test.js +0 -40
  367. package/lib/__tests__/importData.test.d.ts +0 -1
  368. package/lib/__tests__/importData.test.js +0 -98
  369. package/lib/__tests__/npmCli.test.d.ts +0 -1
  370. package/lib/__tests__/npmCli.test.js +0 -84
  371. package/lib/__tests__/oauth.test.d.ts +0 -1
  372. package/lib/__tests__/oauth.test.js +0 -109
  373. package/lib/__tests__/parsing.test.d.ts +0 -1
  374. package/lib/__tests__/parsing.test.js +0 -34
  375. package/lib/__tests__/polling.test.d.ts +0 -1
  376. package/lib/__tests__/polling.test.js +0 -76
  377. package/lib/__tests__/process.test.d.ts +0 -1
  378. package/lib/__tests__/process.test.js +0 -89
  379. package/lib/__tests__/sandboxes.test.d.ts +0 -1
  380. package/lib/__tests__/sandboxes.test.js +0 -128
  381. package/lib/__tests__/serverlessLogs.test.d.ts +0 -1
  382. package/lib/__tests__/serverlessLogs.test.js +0 -163
  383. package/lib/__tests__/usageTracking.test.d.ts +0 -1
  384. package/lib/__tests__/usageTracking.test.js +0 -197
  385. package/lib/__tests__/validation.test.d.ts +0 -1
  386. package/lib/__tests__/validation.test.js +0 -143
  387. package/lib/__tests__/yargsUtils.test.d.ts +0 -1
  388. package/lib/__tests__/yargsUtils.test.js +0 -124
  389. package/lib/app/__tests__/migrate.test.d.ts +0 -1
  390. package/lib/app/__tests__/migrate.test.js +0 -638
  391. package/lib/doctor/__tests__/Diagnosis.test.d.ts +0 -1
  392. package/lib/doctor/__tests__/Diagnosis.test.js +0 -84
  393. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +0 -1
  394. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +0 -177
  395. package/lib/doctor/__tests__/Doctor.test.d.ts +0 -1
  396. package/lib/doctor/__tests__/Doctor.test.js +0 -560
  397. package/lib/errorHandlers/__tests__/index.test.d.ts +0 -1
  398. package/lib/errorHandlers/__tests__/index.test.js +0 -278
  399. package/lib/mcp/__tests__/setup.test.d.ts +0 -1
  400. package/lib/mcp/__tests__/setup.test.js +0 -523
  401. package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +0 -1
  402. package/lib/middleware/__tests__/commandTargetingUtils.test.js +0 -99
  403. package/lib/middleware/__tests__/configMiddleware.test.d.ts +0 -1
  404. package/lib/middleware/__tests__/configMiddleware.test.js +0 -118
  405. package/lib/middleware/__tests__/gitMiddleware.test.d.ts +0 -1
  406. package/lib/middleware/__tests__/gitMiddleware.test.js +0 -43
  407. package/lib/middleware/__tests__/requestMiddleware.test.d.ts +0 -1
  408. package/lib/middleware/__tests__/requestMiddleware.test.js +0 -15
  409. package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +0 -1
  410. package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +0 -44
  411. package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +0 -1
  412. package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +0 -39
  413. package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +0 -1
  414. package/lib/projects/__tests__/AppDevModeInterface.test.js +0 -541
  415. package/lib/projects/__tests__/DevServerManager.test.d.ts +0 -1
  416. package/lib/projects/__tests__/DevServerManager.test.js +0 -185
  417. package/lib/projects/__tests__/DevSessionManager.test.d.ts +0 -1
  418. package/lib/projects/__tests__/DevSessionManager.test.js +0 -250
  419. package/lib/projects/__tests__/LocalDevProcess.test.d.ts +0 -1
  420. package/lib/projects/__tests__/LocalDevProcess.test.js +0 -481
  421. package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +0 -1
  422. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +0 -231
  423. package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +0 -1
  424. package/lib/projects/__tests__/ProjectLogsManager.test.js +0 -302
  425. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +0 -1
  426. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +0 -160
  427. package/lib/projects/__tests__/components.test.d.ts +0 -1
  428. package/lib/projects/__tests__/components.test.js +0 -440
  429. package/lib/projects/__tests__/deploy.test.d.ts +0 -1
  430. package/lib/projects/__tests__/deploy.test.js +0 -231
  431. package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +0 -1
  432. package/lib/projects/__tests__/localDevProjectHelpers.test.js +0 -120
  433. package/lib/projects/__tests__/platformVersion.test.d.ts +0 -1
  434. package/lib/projects/__tests__/platformVersion.test.js +0 -63
  435. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +0 -1
  436. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +0 -328
  437. package/lib/projects/__tests__/projectProfiles.test.d.ts +0 -1
  438. package/lib/projects/__tests__/projectProfiles.test.js +0 -441
  439. package/lib/projects/__tests__/projects.test.d.ts +0 -1
  440. package/lib/projects/__tests__/projects.test.js +0 -58
  441. package/lib/projects/__tests__/structure.test.d.ts +0 -1
  442. package/lib/projects/__tests__/structure.test.js +0 -210
  443. package/lib/projects/__tests__/uieLinting.test.d.ts +0 -1
  444. package/lib/projects/__tests__/uieLinting.test.js +0 -631
  445. package/lib/projects/__tests__/upload.test.d.ts +0 -1
  446. package/lib/projects/__tests__/upload.test.js +0 -183
  447. package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +0 -1
  448. package/lib/projects/add/__tests__/legacyAddComponent.test.js +0 -245
  449. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +0 -1
  450. package/lib/projects/add/__tests__/v2AddComponent.test.js +0 -343
  451. package/lib/projects/create/__tests__/legacy.test.d.ts +0 -1
  452. package/lib/projects/create/__tests__/legacy.test.js +0 -72
  453. package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
  454. package/lib/projects/create/__tests__/v2.test.js +0 -257
  455. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +0 -1
  456. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +0 -157
  457. package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +0 -1
  458. package/lib/prompts/__tests__/createFunctionPrompt.test.js +0 -129
  459. package/lib/prompts/__tests__/createModulePrompt.test.d.ts +0 -1
  460. package/lib/prompts/__tests__/createModulePrompt.test.js +0 -187
  461. package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +0 -1
  462. package/lib/prompts/__tests__/createTemplatePrompt.test.js +0 -102
  463. package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +0 -1
  464. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +0 -31
  465. package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +0 -1
  466. package/lib/prompts/__tests__/projectAddPrompt.test.js +0 -143
  467. package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +0 -1
  468. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -37
  469. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +0 -1
  470. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +0 -160
  471. package/lib/theme/__tests__/migrate.test.d.ts +0 -1
  472. package/lib/theme/__tests__/migrate.test.js +0 -247
  473. package/lib/ui/__tests__/SpinniesManager.test.d.ts +0 -1
  474. package/lib/ui/__tests__/SpinniesManager.test.js +0 -488
  475. package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +0 -1
  476. package/lib/ui/__tests__/removeAnsiCodes.test.js +0 -84
  477. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +0 -1
  478. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +0 -254
  479. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
  480. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -227
  481. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
  482. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -208
  483. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
  484. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -186
  485. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
  486. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -124
  487. package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
  488. package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -124
  489. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
  490. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -157
  491. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
  492. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -131
  493. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
  494. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -461
  495. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
  496. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -125
  497. package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +0 -1
  498. package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +0 -125
  499. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +0 -1
  500. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +0 -210
  501. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +0 -1
  502. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +0 -146
  503. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +0 -1
  504. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +0 -124
  505. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +0 -1
  506. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +0 -307
  507. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +0 -1
  508. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +0 -242
  509. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +0 -1
  510. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +0 -209
  511. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +0 -1
  512. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +0 -158
  513. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +0 -1
  514. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +0 -187
  515. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +0 -1
  516. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +0 -118
  517. package/mcp-server/utils/__tests__/command.test.d.ts +0 -1
  518. package/mcp-server/utils/__tests__/command.test.js +0 -275
  519. package/mcp-server/utils/__tests__/content.test.d.ts +0 -1
  520. package/mcp-server/utils/__tests__/content.test.js +0 -164
  521. package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +0 -1
  522. package/mcp-server/utils/__tests__/feedbackTracking.test.js +0 -69
@@ -1,231 +0,0 @@
1
- import { vi } from 'vitest';
2
- import { validateBuildIdForDeploy, logDeployErrors, handleProjectDeploy, } from '../deploy.js';
3
- import { uiLogger } from '../../ui/logger.js';
4
- import { commands } from '../../../lang/en.js';
5
- import { PROJECT_ERROR_TYPES } from '../../constants.js';
6
- import { deployProjectV1, deployProjectV2, } from '@hubspot/local-dev-lib/api/projects';
7
- import { pollDeployStatus } from '../pollProjectBuildAndDeploy.js';
8
- // Mock external dependencies
9
- vi.mock('@hubspot/local-dev-lib/api/projects');
10
- vi.mock('@hubspot/local-dev-lib/config');
11
- vi.mock('../pollProjectBuildAndDeploy.js');
12
- const mockUiLogger = vi.mocked(uiLogger);
13
- const mockDeployProjectV1 = vi.mocked(deployProjectV1);
14
- const mockDeployProjectV2 = vi.mocked(deployProjectV2);
15
- const mockPollDeployStatus = vi.mocked(pollDeployStatus);
16
- describe('lib/projects/deploy', () => {
17
- beforeEach(() => {
18
- vi.resetAllMocks();
19
- });
20
- describe('validateBuildIdForDeploy()', () => {
21
- const accountId = 12345;
22
- const projectName = 'test-project';
23
- it('returns true when build ID is valid for deployment', () => {
24
- const buildId = 5;
25
- const deployedBuildId = 3;
26
- const latestBuildId = 10;
27
- const result = validateBuildIdForDeploy(buildId, deployedBuildId, latestBuildId, projectName, accountId);
28
- expect(result).toBe(true);
29
- });
30
- it('returns error message when build ID does not exist', () => {
31
- const buildId = 15;
32
- const deployedBuildId = 3;
33
- const latestBuildId = 10;
34
- const result = validateBuildIdForDeploy(buildId, deployedBuildId, latestBuildId, projectName, accountId);
35
- expect(result).toBe(commands.project.deploy.errors.buildIdDoesNotExist(accountId, buildId, projectName));
36
- });
37
- it('returns error message when build is already deployed', () => {
38
- const buildId = 3;
39
- const deployedBuildId = 3;
40
- const latestBuildId = 10;
41
- const result = validateBuildIdForDeploy(buildId, deployedBuildId, latestBuildId, projectName, accountId);
42
- expect(result).toBe(commands.project.deploy.errors.buildAlreadyDeployed(accountId, buildId, projectName));
43
- });
44
- it('handles edge case when deployedBuildId is undefined', () => {
45
- const buildId = 5;
46
- const deployedBuildId = undefined;
47
- const latestBuildId = 10;
48
- const result = validateBuildIdForDeploy(buildId, deployedBuildId, latestBuildId, projectName, accountId);
49
- expect(result).toBe(true);
50
- });
51
- });
52
- describe('logDeployErrors()', () => {
53
- it('logs main error message and individual error messages', () => {
54
- const errorData = {
55
- message: 'Deploy failed with errors',
56
- errors: [
57
- {
58
- message: 'Component error 1',
59
- subCategory: 'SOME_ERROR',
60
- context: { COMPONENT_NAME: 'test-component' },
61
- },
62
- {
63
- message: 'Component error 2',
64
- subCategory: 'ANOTHER_ERROR',
65
- context: { COMPONENT_NAME: 'another-component' },
66
- },
67
- ],
68
- };
69
- logDeployErrors(errorData);
70
- expect(mockUiLogger.error).toHaveBeenCalledWith('Deploy failed with errors');
71
- expect(mockUiLogger.log).toHaveBeenCalledWith('Component error 1');
72
- expect(mockUiLogger.log).toHaveBeenCalledWith('Component error 2');
73
- });
74
- it('handles DEPLOY_CONTAINS_REMOVALS error type specially', () => {
75
- const errorData = {
76
- message: 'Deploy contains removals',
77
- errors: [
78
- {
79
- message: 'Component will be removed',
80
- subCategory: PROJECT_ERROR_TYPES.DEPLOY_CONTAINS_REMOVALS,
81
- context: { COMPONENT_NAME: 'removed-component' },
82
- },
83
- ],
84
- };
85
- logDeployErrors(errorData);
86
- expect(mockUiLogger.error).toHaveBeenCalledWith('Deploy contains removals');
87
- expect(mockUiLogger.log).toHaveBeenCalledWith(commands.project.deploy.errors.deployContainsRemovals('removed-component'));
88
- });
89
- it('handles empty errors array', () => {
90
- const errorData = {
91
- message: 'No specific errors',
92
- errors: [],
93
- };
94
- logDeployErrors(errorData);
95
- expect(mockUiLogger.error).toHaveBeenCalledWith('No specific errors');
96
- expect(mockUiLogger.log).not.toHaveBeenCalled();
97
- });
98
- });
99
- describe('handleProjectDeploy()', () => {
100
- const targetAccountId = 12345;
101
- const projectName = 'test-project';
102
- const buildId = 5;
103
- const useV2Api = true;
104
- const force = false;
105
- it('successfully deploys and returns deploy result', async () => {
106
- const mockDeployResponseData = {
107
- id: 'deploy-123',
108
- buildResultType: 'DEPLOY_QUEUED',
109
- links: {
110
- status: 'http://status-url',
111
- },
112
- };
113
- const mockDeployResult = {
114
- deployId: 123,
115
- buildId: 5,
116
- status: 'SUCCESS',
117
- enqueuedAt: '2023-01-01T00:00:00Z',
118
- startedAt: '2023-01-01T00:01:00Z',
119
- finishedAt: '2023-01-01T00:05:00Z',
120
- portalId: targetAccountId,
121
- projectName: 'test-project',
122
- userId: 456,
123
- source: 'HUBSPOT_USER',
124
- subdeployStatuses: [],
125
- };
126
- mockDeployProjectV2.mockResolvedValue({
127
- data: mockDeployResponseData,
128
- });
129
- mockPollDeployStatus.mockResolvedValue(mockDeployResult);
130
- const deploy = await handleProjectDeploy(targetAccountId, projectName, buildId, useV2Api, force);
131
- expect(mockDeployProjectV2).toHaveBeenCalledWith(targetAccountId, projectName, buildId, force);
132
- expect(deploy).toEqual(mockDeployResult);
133
- });
134
- it('handles blocked deploy with warnings', async () => {
135
- const mockBlockedResponse = {
136
- buildResultType: 'DEPLOY_BLOCKED',
137
- issues: [
138
- {
139
- uid: 'component-1',
140
- componentTypeName: 'module',
141
- errorMessages: [],
142
- blockingMessages: [
143
- {
144
- message: 'This is a warning',
145
- isWarning: true,
146
- },
147
- ],
148
- },
149
- ],
150
- };
151
- mockDeployProjectV2.mockResolvedValue({
152
- data: mockBlockedResponse,
153
- });
154
- await handleProjectDeploy(targetAccountId, projectName, buildId, useV2Api, force);
155
- expect(mockUiLogger.warn).toHaveBeenCalledWith(commands.project.deploy.errors.deployWarningsHeader);
156
- });
157
- it('handles blocked deploy with errors (cannot be forced)', async () => {
158
- const mockBlockedResponse = {
159
- buildResultType: 'DEPLOY_BLOCKED',
160
- issues: [
161
- {
162
- uid: 'component-1',
163
- componentTypeName: 'module',
164
- errorMessages: [],
165
- blockingMessages: [
166
- {
167
- message: 'This is an error',
168
- isWarning: false,
169
- },
170
- ],
171
- },
172
- ],
173
- };
174
- mockDeployProjectV2.mockResolvedValue({
175
- data: mockBlockedResponse,
176
- });
177
- await handleProjectDeploy(targetAccountId, projectName, buildId, useV2Api, force);
178
- expect(mockUiLogger.error).toHaveBeenCalledWith(commands.project.deploy.errors.deployBlockedHeader);
179
- expect(mockUiLogger.log).toHaveBeenCalledWith(commands.project.deploy.errors.deployIssueComponentWarning('component-1', 'module', 'This is an error'));
180
- });
181
- it('handles blocked deploy with no blocking messages', async () => {
182
- const mockBlockedResponse = {
183
- buildResultType: 'DEPLOY_BLOCKED',
184
- issues: [
185
- {
186
- uid: 'component-1',
187
- componentTypeName: 'module',
188
- errorMessages: [],
189
- blockingMessages: [],
190
- },
191
- ],
192
- };
193
- mockDeployProjectV2.mockResolvedValue({
194
- data: mockBlockedResponse,
195
- });
196
- await handleProjectDeploy(targetAccountId, projectName, buildId, useV2Api, force);
197
- expect(mockUiLogger.warn).toHaveBeenCalledWith(commands.project.deploy.errors.deployWarningsHeader);
198
- expect(mockUiLogger.log).toHaveBeenCalledWith(commands.project.deploy.errors.deployIssueComponentGeneric('component-1', 'module'));
199
- });
200
- it('handles general deploy failure', async () => {
201
- mockDeployProjectV2.mockResolvedValue({ data: null });
202
- const deploy = await handleProjectDeploy(targetAccountId, projectName, buildId, useV2Api, force);
203
- expect(mockUiLogger.error).toHaveBeenCalledWith(commands.project.deploy.errors.deploy);
204
- expect(deploy).toBeUndefined();
205
- });
206
- it('handles undefined deploy response', async () => {
207
- mockDeployProjectV2.mockResolvedValue({ data: undefined });
208
- const deploy = await handleProjectDeploy(targetAccountId, projectName, buildId, useV2Api, force);
209
- expect(mockUiLogger.error).toHaveBeenCalledWith(commands.project.deploy.errors.deploy);
210
- expect(deploy).toBeUndefined();
211
- });
212
- it('passes correct parameters to deployProjectV1', async () => {
213
- const mockDeployResponseData = {
214
- id: 'deploy-123',
215
- buildResultType: 'DEPLOY_QUEUED',
216
- links: {
217
- status: 'http://status-url',
218
- },
219
- };
220
- mockDeployProjectV1.mockResolvedValue({
221
- data: mockDeployResponseData,
222
- });
223
- mockPollDeployStatus.mockResolvedValue({});
224
- await handleProjectDeploy(targetAccountId, projectName, buildId, false, // isV2Project
225
- true // force
226
- );
227
- expect(mockDeployProjectV1).toHaveBeenCalledWith(targetAccountId, projectName, buildId, true // force
228
- );
229
- });
230
- });
231
- });
@@ -1,120 +0,0 @@
1
- import fs from 'fs-extra';
2
- import os from 'os';
3
- import { vi, describe, it, expect, beforeEach, afterEach } from 'vitest';
4
- import { downloadProject } from '@hubspot/local-dev-lib/api/projects';
5
- import { extractZipArchive } from '@hubspot/local-dev-lib/archive';
6
- import { isDeepEqual } from '@hubspot/local-dev-lib/isDeepEqual';
7
- import { translate, } from '@hubspot/project-parsing-lib/translate';
8
- import { isDeployedProjectUpToDateWithLocal } from '../localDev/helpers/project.js';
9
- // Mock all external dependencies
10
- vi.mock('@hubspot/local-dev-lib/api/projects');
11
- vi.mock('@hubspot/local-dev-lib/archive');
12
- vi.mock('@hubspot/project-parsing-lib/translate');
13
- vi.mock('@hubspot/local-dev-lib/isDeepEqual');
14
- vi.mock('fs-extra');
15
- vi.mock('../../utils/isDeepEqual.js');
16
- describe('isDeployedProjectUpToDateWithLocal', () => {
17
- const mockProjectName = 'test-project';
18
- const mockAccountId = 123456;
19
- const mockBuildId = 789;
20
- const mockProjectConfig = {
21
- name: mockProjectName,
22
- srcDir: 'src',
23
- platformVersion: '1.0.0',
24
- };
25
- const mockLocalNode = {
26
- uid: 'component1',
27
- componentType: 'APP',
28
- localDev: {
29
- componentRoot: '/local/path',
30
- componentConfigPath: '/local/path/config.json',
31
- configUpdatedSinceLastUpload: false,
32
- removed: false,
33
- parsingErrors: [],
34
- },
35
- componentDeps: {},
36
- metaFilePath: '/local/path',
37
- config: { name: 'Component 1' },
38
- files: [],
39
- };
40
- const mockLocalProjectNodes = {
41
- component1: mockLocalNode,
42
- };
43
- const mockTempDir = '/tmp/test-temp-dir';
44
- const mockZippedProject = Buffer.from('fake-zip-data');
45
- beforeEach(() => {
46
- // Mock fs.mkdtemp
47
- fs.mkdtemp.mockResolvedValue(mockTempDir);
48
- // Mock fs.pathExists
49
- fs.pathExists.mockResolvedValue(true);
50
- // Mock fs.remove
51
- fs.remove.mockResolvedValue(undefined);
52
- // Mock os.tmpdir
53
- vi.spyOn(os, 'tmpdir').mockReturnValue('/tmp');
54
- });
55
- afterEach(() => {
56
- vi.restoreAllMocks();
57
- });
58
- describe('when projects are identical', () => {
59
- it('should return true for identical projects', async () => {
60
- // Mock downloadProject
61
- downloadProject.mockResolvedValue({
62
- data: mockZippedProject,
63
- });
64
- // Mock extractZipArchive
65
- extractZipArchive.mockResolvedValue(undefined);
66
- // Mock translate to return identical nodes
67
- translate.mockResolvedValue({
68
- intermediateNodesIndexedByUid: mockLocalProjectNodes,
69
- });
70
- // Mock isDeepEqual to return true for identical projects
71
- isDeepEqual.mockReturnValue(true);
72
- const result = await isDeployedProjectUpToDateWithLocal(mockProjectConfig, mockAccountId, mockBuildId, mockLocalProjectNodes);
73
- expect(result).toBe(true);
74
- expect(isDeepEqual).toHaveBeenCalledWith(mockLocalProjectNodes, mockLocalProjectNodes, ['localDev']);
75
- expect(fs.remove).toHaveBeenCalledWith(mockTempDir);
76
- });
77
- });
78
- describe('when projects are different', () => {
79
- it('should return false for different projects', async () => {
80
- // Mock downloadProject
81
- downloadProject.mockResolvedValue({
82
- data: mockZippedProject,
83
- });
84
- // Mock extractZipArchive
85
- extractZipArchive.mockResolvedValue(undefined);
86
- // Mock translate to return different nodes
87
- const differentDeployedNodes = {};
88
- translate.mockResolvedValue({
89
- intermediateNodesIndexedByUid: differentDeployedNodes,
90
- });
91
- // Mock isDeepEqual to return false for different projects
92
- isDeepEqual.mockReturnValue(false);
93
- const result = await isDeployedProjectUpToDateWithLocal(mockProjectConfig, mockAccountId, mockBuildId, mockLocalProjectNodes);
94
- expect(result).toBe(false);
95
- expect(isDeepEqual).toHaveBeenCalledWith(mockLocalProjectNodes, differentDeployedNodes, ['localDev']);
96
- });
97
- });
98
- describe('error handling', () => {
99
- it('should clean up temp directory even when errors occur', async () => {
100
- // Mock downloadProject to throw an error after temp dir is created
101
- downloadProject.mockRejectedValue(new Error('Download Error'));
102
- const result = await isDeployedProjectUpToDateWithLocal(mockProjectConfig, mockAccountId, mockBuildId, mockLocalProjectNodes);
103
- expect(result).toBe(false);
104
- expect(fs.remove).toHaveBeenCalledWith(mockTempDir);
105
- });
106
- it('should handle translateForLocalDev errors', async () => {
107
- // Mock downloadProject
108
- downloadProject.mockResolvedValue({
109
- data: mockZippedProject,
110
- });
111
- // Mock extractZipArchive
112
- extractZipArchive.mockResolvedValue(undefined);
113
- // Mock translate to throw an error
114
- translate.mockRejectedValue(new Error('Translation Error'));
115
- const result = await isDeployedProjectUpToDateWithLocal(mockProjectConfig, mockAccountId, mockBuildId, mockLocalProjectNodes);
116
- expect(result).toBe(false);
117
- expect(fs.remove).toHaveBeenCalledWith(mockTempDir);
118
- });
119
- });
120
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,63 +0,0 @@
1
- import { isV2Project, isUnsupportedPlatformVersion, } from '../platformVersion.js';
2
- describe('platformVersion', () => {
3
- describe('isV2Project', () => {
4
- it('returns true if platform version is UNSTABLE', () => {
5
- expect(isV2Project('UNSTABLE')).toBe(true);
6
- });
7
- it('returns true if platform version is equal to the minimum', () => {
8
- expect(isV2Project('2025.2')).toBe(true);
9
- });
10
- it('returns true if platform version is greater than the minimum', () => {
11
- expect(isV2Project('2025.3')).toBe(true);
12
- expect(isV2Project('2026.03')).toBe(true);
13
- expect(isV2Project('2026.03-beta')).toBe(true);
14
- });
15
- it('returns false if platform version is less than the minimum', () => {
16
- expect(isV2Project('2025.0')).toBe(false);
17
- expect(isV2Project('2025.01')).toBe(false);
18
- expect(isV2Project('2025.01-beta')).toBe(false);
19
- });
20
- it('returns false if platform version is invalid', () => {
21
- expect(isV2Project(null)).toBe(false);
22
- });
23
- it('returns false for an invalid platform version', () => {
24
- expect(isV2Project('notplaformversion')).toBe(false);
25
- });
26
- });
27
- describe('isUnsupportedPlatformVersion', () => {
28
- it('returns false for platform version 2026.03 (boundary)', () => {
29
- expect(isUnsupportedPlatformVersion('2026.03')).toBe(false);
30
- });
31
- it('returns false for platform versions less than 2026.03', () => {
32
- expect(isUnsupportedPlatformVersion('2025.2')).toBe(false);
33
- expect(isUnsupportedPlatformVersion('2026.01')).toBe(false);
34
- expect(isUnsupportedPlatformVersion('2026.02')).toBe(false);
35
- });
36
- it('returns true for platform version 2026.04', () => {
37
- expect(isUnsupportedPlatformVersion('2026.04')).toBe(true);
38
- });
39
- it('returns true for platform versions greater than 2026.03', () => {
40
- expect(isUnsupportedPlatformVersion('2026.4')).toBe(true);
41
- expect(isUnsupportedPlatformVersion('2027.01')).toBe(true);
42
- expect(isUnsupportedPlatformVersion('2027.1')).toBe(true);
43
- expect(isUnsupportedPlatformVersion('2028.10')).toBe(true);
44
- });
45
- it('returns false for UNSTABLE', () => {
46
- expect(isUnsupportedPlatformVersion('UNSTABLE')).toBe(false);
47
- expect(isUnsupportedPlatformVersion('unstable')).toBe(false);
48
- });
49
- it('returns false for null or undefined', () => {
50
- expect(isUnsupportedPlatformVersion(null)).toBe(false);
51
- expect(isUnsupportedPlatformVersion(undefined)).toBe(false);
52
- });
53
- it('returns false for invalid platform versions', () => {
54
- expect(isUnsupportedPlatformVersion('notaversion')).toBe(false);
55
- expect(isUnsupportedPlatformVersion('abc.def')).toBe(false);
56
- });
57
- it('handles beta versions correctly', () => {
58
- expect(isUnsupportedPlatformVersion('2026.03-beta')).toBe(false);
59
- expect(isUnsupportedPlatformVersion('2026.04-beta')).toBe(true);
60
- expect(isUnsupportedPlatformVersion('2027.01-beta')).toBe(true);
61
- });
62
- });
63
- });