@strapi/cloud-cli 0.0.0-next.eb48c73c86cbc452c1ba8d727106f9ed9da0c834 → 0.0.0-next.ebcac74d516f1eac8973e3621367a9515e76ca82

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 (332) hide show
  1. package/dist/bin.d.ts.map +1 -0
  2. package/dist/bin.js +5 -18
  3. package/dist/bin.js.map +1 -1
  4. package/dist/bin.mjs +3 -16
  5. package/dist/bin.mjs.map +1 -1
  6. package/dist/cloud/command.d.ts.map +1 -0
  7. package/dist/cloud/command.js +14 -0
  8. package/dist/cloud/command.js.map +1 -0
  9. package/dist/cloud/command.mjs +12 -0
  10. package/dist/cloud/command.mjs.map +1 -0
  11. package/dist/config/api.d.ts.map +1 -0
  12. package/dist/config/api.js +11 -0
  13. package/dist/config/api.js.map +1 -0
  14. package/dist/config/api.mjs +9 -0
  15. package/dist/config/api.mjs.map +1 -0
  16. package/dist/{src/config → config}/local.d.ts +1 -1
  17. package/dist/config/local.d.ts.map +1 -0
  18. package/dist/config/local.js +60 -0
  19. package/dist/config/local.js.map +1 -0
  20. package/dist/config/local.mjs +55 -0
  21. package/dist/config/local.mjs.map +1 -0
  22. package/dist/create-growth-sso-trial/action.d.ts +9 -0
  23. package/dist/create-growth-sso-trial/action.d.ts.map +1 -0
  24. package/dist/create-growth-sso-trial/action.js +52 -0
  25. package/dist/create-growth-sso-trial/action.js.map +1 -0
  26. package/dist/create-growth-sso-trial/action.mjs +50 -0
  27. package/dist/create-growth-sso-trial/action.mjs.map +1 -0
  28. package/dist/create-growth-sso-trial/index.d.ts +4 -0
  29. package/dist/create-growth-sso-trial/index.d.ts.map +1 -0
  30. package/dist/create-project/action.d.ts.map +1 -0
  31. package/dist/create-project/action.js +95 -0
  32. package/dist/create-project/action.js.map +1 -0
  33. package/dist/create-project/action.mjs +93 -0
  34. package/dist/create-project/action.mjs.map +1 -0
  35. package/dist/create-project/command.d.ts.map +1 -0
  36. package/dist/create-project/command.js +14 -0
  37. package/dist/create-project/command.js.map +1 -0
  38. package/dist/create-project/command.mjs +12 -0
  39. package/dist/create-project/command.mjs.map +1 -0
  40. package/dist/create-project/index.d.ts.map +1 -0
  41. package/dist/create-project/index.js +18 -0
  42. package/dist/create-project/index.js.map +1 -0
  43. package/dist/create-project/index.mjs +12 -0
  44. package/dist/create-project/index.mjs.map +1 -0
  45. package/dist/create-project/utils/get-project-name-from-pkg.d.ts.map +1 -0
  46. package/dist/create-project/utils/get-project-name-from-pkg.js +15 -0
  47. package/dist/create-project/utils/get-project-name-from-pkg.js.map +1 -0
  48. package/dist/create-project/utils/get-project-name-from-pkg.mjs +13 -0
  49. package/dist/create-project/utils/get-project-name-from-pkg.mjs.map +1 -0
  50. package/dist/create-project/utils/project-questions.utils.d.ts.map +1 -0
  51. package/dist/create-project/utils/project-questions.utils.js +63 -0
  52. package/dist/create-project/utils/project-questions.utils.js.map +1 -0
  53. package/dist/create-project/utils/project-questions.utils.mjs +59 -0
  54. package/dist/create-project/utils/project-questions.utils.mjs.map +1 -0
  55. package/dist/deploy-project/action.d.ts.map +1 -0
  56. package/dist/deploy-project/action.js +287 -0
  57. package/dist/deploy-project/action.js.map +1 -0
  58. package/dist/deploy-project/action.mjs +266 -0
  59. package/dist/deploy-project/action.mjs.map +1 -0
  60. package/dist/deploy-project/command.d.ts.map +1 -0
  61. package/dist/deploy-project/command.js +14 -0
  62. package/dist/deploy-project/command.js.map +1 -0
  63. package/dist/deploy-project/command.mjs +12 -0
  64. package/dist/deploy-project/command.mjs.map +1 -0
  65. package/dist/deploy-project/index.d.ts.map +1 -0
  66. package/dist/deploy-project/index.js +18 -0
  67. package/dist/deploy-project/index.js.map +1 -0
  68. package/dist/deploy-project/index.mjs +12 -0
  69. package/dist/deploy-project/index.mjs.map +1 -0
  70. package/dist/environment/command.d.ts.map +1 -0
  71. package/dist/environment/command.js +15 -0
  72. package/dist/environment/command.js.map +1 -0
  73. package/dist/environment/command.mjs +13 -0
  74. package/dist/environment/command.mjs.map +1 -0
  75. package/dist/environment/link/action.d.ts.map +1 -0
  76. package/dist/environment/link/action.js +117 -0
  77. package/dist/environment/link/action.js.map +1 -0
  78. package/dist/environment/link/action.mjs +115 -0
  79. package/dist/environment/link/action.mjs.map +1 -0
  80. package/dist/environment/link/command.d.ts.map +1 -0
  81. package/dist/environment/link/command.js +13 -0
  82. package/dist/environment/link/command.js.map +1 -0
  83. package/dist/environment/link/command.mjs +11 -0
  84. package/dist/environment/link/command.mjs.map +1 -0
  85. package/dist/environment/link/index.d.ts.map +1 -0
  86. package/dist/environment/link/index.js +18 -0
  87. package/dist/environment/link/index.js.map +1 -0
  88. package/dist/environment/link/index.mjs +12 -0
  89. package/dist/environment/link/index.mjs.map +1 -0
  90. package/dist/environment/list/action.d.ts.map +1 -0
  91. package/dist/environment/list/action.js +57 -0
  92. package/dist/environment/list/action.js.map +1 -0
  93. package/dist/environment/list/action.mjs +55 -0
  94. package/dist/environment/list/action.mjs.map +1 -0
  95. package/dist/environment/list/command.d.ts.map +1 -0
  96. package/dist/environment/list/command.js +13 -0
  97. package/dist/environment/list/command.js.map +1 -0
  98. package/dist/environment/list/command.mjs +11 -0
  99. package/dist/environment/list/command.mjs.map +1 -0
  100. package/dist/environment/list/index.d.ts.map +1 -0
  101. package/dist/environment/list/index.js +18 -0
  102. package/dist/environment/list/index.js.map +1 -0
  103. package/dist/environment/list/index.mjs +12 -0
  104. package/dist/environment/list/index.mjs.map +1 -0
  105. package/dist/{src/index.d.ts → index.d.ts} +2 -0
  106. package/dist/index.d.ts.map +1 -0
  107. package/dist/index.js +61 -29
  108. package/dist/index.js.map +1 -1
  109. package/dist/index.mjs +61 -25
  110. package/dist/index.mjs.map +1 -1
  111. package/dist/link/action.d.ts.map +1 -0
  112. package/dist/link/action.js +146 -0
  113. package/dist/link/action.js.map +1 -0
  114. package/dist/link/action.mjs +144 -0
  115. package/dist/link/action.mjs.map +1 -0
  116. package/dist/link/command.d.ts.map +1 -0
  117. package/dist/link/command.js +13 -0
  118. package/dist/link/command.js.map +1 -0
  119. package/dist/link/command.mjs +11 -0
  120. package/dist/link/command.mjs.map +1 -0
  121. package/dist/link/index.d.ts.map +1 -0
  122. package/dist/link/index.js +18 -0
  123. package/dist/link/index.js.map +1 -0
  124. package/dist/link/index.mjs +12 -0
  125. package/dist/link/index.mjs.map +1 -0
  126. package/dist/list-projects/action.d.ts.map +1 -0
  127. package/dist/list-projects/action.js +34 -0
  128. package/dist/list-projects/action.js.map +1 -0
  129. package/dist/list-projects/action.mjs +32 -0
  130. package/dist/list-projects/action.mjs.map +1 -0
  131. package/dist/list-projects/command.d.ts.map +1 -0
  132. package/dist/list-projects/command.js +13 -0
  133. package/dist/list-projects/command.js.map +1 -0
  134. package/dist/list-projects/command.mjs +11 -0
  135. package/dist/list-projects/command.mjs.map +1 -0
  136. package/dist/list-projects/index.d.ts.map +1 -0
  137. package/dist/list-projects/index.js +18 -0
  138. package/dist/list-projects/index.js.map +1 -0
  139. package/dist/list-projects/index.mjs +12 -0
  140. package/dist/list-projects/index.mjs.map +1 -0
  141. package/dist/login/action.d.ts +6 -0
  142. package/dist/login/action.d.ts.map +1 -0
  143. package/dist/login/action.js +194 -0
  144. package/dist/login/action.js.map +1 -0
  145. package/dist/login/action.mjs +189 -0
  146. package/dist/login/action.mjs.map +1 -0
  147. package/dist/login/command.d.ts.map +1 -0
  148. package/dist/login/command.js +14 -0
  149. package/dist/login/command.js.map +1 -0
  150. package/dist/login/command.mjs +12 -0
  151. package/dist/login/command.mjs.map +1 -0
  152. package/dist/login/index.d.ts.map +1 -0
  153. package/dist/login/index.js +18 -0
  154. package/dist/login/index.js.map +1 -0
  155. package/dist/login/index.mjs +12 -0
  156. package/dist/login/index.mjs.map +1 -0
  157. package/dist/logout/action.d.ts.map +1 -0
  158. package/dist/logout/action.js +46 -0
  159. package/dist/logout/action.js.map +1 -0
  160. package/dist/logout/action.mjs +44 -0
  161. package/dist/logout/action.mjs.map +1 -0
  162. package/dist/logout/command.d.ts.map +1 -0
  163. package/dist/logout/command.js +14 -0
  164. package/dist/logout/command.js.map +1 -0
  165. package/dist/logout/command.mjs +12 -0
  166. package/dist/logout/command.mjs.map +1 -0
  167. package/dist/logout/index.d.ts.map +1 -0
  168. package/dist/logout/index.js +18 -0
  169. package/dist/logout/index.js.map +1 -0
  170. package/dist/logout/index.mjs +12 -0
  171. package/dist/logout/index.mjs.map +1 -0
  172. package/dist/package.json.js +129 -0
  173. package/dist/package.json.js.map +1 -0
  174. package/dist/package.json.mjs +105 -0
  175. package/dist/package.json.mjs.map +1 -0
  176. package/dist/services/build-logs.d.ts.map +1 -0
  177. package/dist/services/build-logs.js +67 -0
  178. package/dist/services/build-logs.js.map +1 -0
  179. package/dist/services/build-logs.mjs +65 -0
  180. package/dist/services/build-logs.mjs.map +1 -0
  181. package/dist/{src/services → services}/cli-api.d.ts +7 -1
  182. package/dist/services/cli-api.d.ts.map +1 -0
  183. package/dist/services/cli-api.js +160 -0
  184. package/dist/services/cli-api.js.map +1 -0
  185. package/dist/services/cli-api.mjs +157 -0
  186. package/dist/services/cli-api.mjs.map +1 -0
  187. package/dist/services/index.d.ts.map +1 -0
  188. package/dist/services/index.js +14 -0
  189. package/dist/services/index.js.map +1 -0
  190. package/dist/services/index.mjs +6 -0
  191. package/dist/services/index.mjs.map +1 -0
  192. package/dist/services/logger.d.ts.map +1 -0
  193. package/dist/services/logger.js +128 -0
  194. package/dist/services/logger.js.map +1 -0
  195. package/dist/services/logger.mjs +107 -0
  196. package/dist/services/logger.mjs.map +1 -0
  197. package/dist/services/notification.d.ts.map +1 -0
  198. package/dist/services/notification.js +37 -0
  199. package/dist/services/notification.js.map +1 -0
  200. package/dist/services/notification.mjs +35 -0
  201. package/dist/services/notification.mjs.map +1 -0
  202. package/dist/services/strapi-info-save.d.ts.map +1 -0
  203. package/dist/services/strapi-info-save.js +53 -0
  204. package/dist/services/strapi-info-save.js.map +1 -0
  205. package/dist/services/strapi-info-save.mjs +47 -0
  206. package/dist/services/strapi-info-save.mjs.map +1 -0
  207. package/dist/services/token.d.ts.map +1 -0
  208. package/dist/services/token.js +126 -0
  209. package/dist/services/token.js.map +1 -0
  210. package/dist/services/token.mjs +124 -0
  211. package/dist/services/token.mjs.map +1 -0
  212. package/dist/{src/types.d.ts → types.d.ts} +8 -1
  213. package/dist/types.d.ts.map +1 -0
  214. package/dist/utils/analytics.d.ts.map +1 -0
  215. package/dist/utils/analytics.js +12 -0
  216. package/dist/utils/analytics.js.map +1 -0
  217. package/dist/utils/analytics.mjs +10 -0
  218. package/dist/utils/analytics.mjs.map +1 -0
  219. package/dist/utils/compress-files.d.ts.map +1 -0
  220. package/dist/utils/compress-files.js +102 -0
  221. package/dist/utils/compress-files.js.map +1 -0
  222. package/dist/utils/compress-files.mjs +78 -0
  223. package/dist/utils/compress-files.mjs.map +1 -0
  224. package/dist/utils/get-local-config.d.ts.map +1 -0
  225. package/dist/utils/get-local-config.js +37 -0
  226. package/dist/utils/get-local-config.js.map +1 -0
  227. package/dist/utils/get-local-config.mjs +34 -0
  228. package/dist/utils/get-local-config.mjs.map +1 -0
  229. package/dist/utils/helpers.d.ts.map +1 -0
  230. package/dist/utils/helpers.js +33 -0
  231. package/dist/utils/helpers.js.map +1 -0
  232. package/dist/utils/helpers.mjs +31 -0
  233. package/dist/utils/helpers.mjs.map +1 -0
  234. package/dist/utils/pkg.d.ts.map +1 -0
  235. package/dist/utils/pkg.js +65 -0
  236. package/dist/utils/pkg.js.map +1 -0
  237. package/dist/utils/pkg.mjs +43 -0
  238. package/dist/utils/pkg.mjs.map +1 -0
  239. package/dist/utils/tests/compress-files.test.d.ts.map +1 -0
  240. package/package.json +6 -6
  241. package/dist/chunks/index-BZ0dpHa6.js +0 -1896
  242. package/dist/chunks/index-BZ0dpHa6.js.map +0 -1
  243. package/dist/chunks/index-DGQHGTQ5.mjs +0 -1869
  244. package/dist/chunks/index-DGQHGTQ5.mjs.map +0 -1
  245. package/dist/src/bin.d.ts.map +0 -1
  246. package/dist/src/cloud/command.d.ts.map +0 -1
  247. package/dist/src/config/api.d.ts.map +0 -1
  248. package/dist/src/config/local.d.ts.map +0 -1
  249. package/dist/src/create-project/action.d.ts.map +0 -1
  250. package/dist/src/create-project/command.d.ts.map +0 -1
  251. package/dist/src/create-project/index.d.ts.map +0 -1
  252. package/dist/src/create-project/utils/get-project-name-from-pkg.d.ts.map +0 -1
  253. package/dist/src/create-project/utils/project-questions.utils.d.ts.map +0 -1
  254. package/dist/src/deploy-project/action.d.ts.map +0 -1
  255. package/dist/src/deploy-project/command.d.ts.map +0 -1
  256. package/dist/src/deploy-project/index.d.ts.map +0 -1
  257. package/dist/src/environment/command.d.ts.map +0 -1
  258. package/dist/src/environment/link/action.d.ts.map +0 -1
  259. package/dist/src/environment/link/command.d.ts.map +0 -1
  260. package/dist/src/environment/link/index.d.ts.map +0 -1
  261. package/dist/src/environment/list/action.d.ts.map +0 -1
  262. package/dist/src/environment/list/command.d.ts.map +0 -1
  263. package/dist/src/environment/list/index.d.ts.map +0 -1
  264. package/dist/src/index.d.ts.map +0 -1
  265. package/dist/src/link/action.d.ts.map +0 -1
  266. package/dist/src/link/command.d.ts.map +0 -1
  267. package/dist/src/link/index.d.ts.map +0 -1
  268. package/dist/src/list-projects/action.d.ts.map +0 -1
  269. package/dist/src/list-projects/command.d.ts.map +0 -1
  270. package/dist/src/list-projects/index.d.ts.map +0 -1
  271. package/dist/src/login/action.d.ts +0 -4
  272. package/dist/src/login/action.d.ts.map +0 -1
  273. package/dist/src/login/command.d.ts.map +0 -1
  274. package/dist/src/login/index.d.ts.map +0 -1
  275. package/dist/src/logout/action.d.ts.map +0 -1
  276. package/dist/src/logout/command.d.ts.map +0 -1
  277. package/dist/src/logout/index.d.ts.map +0 -1
  278. package/dist/src/services/build-logs.d.ts.map +0 -1
  279. package/dist/src/services/cli-api.d.ts.map +0 -1
  280. package/dist/src/services/index.d.ts.map +0 -1
  281. package/dist/src/services/logger.d.ts.map +0 -1
  282. package/dist/src/services/notification.d.ts.map +0 -1
  283. package/dist/src/services/strapi-info-save.d.ts.map +0 -1
  284. package/dist/src/services/token.d.ts.map +0 -1
  285. package/dist/src/types.d.ts.map +0 -1
  286. package/dist/src/utils/analytics.d.ts.map +0 -1
  287. package/dist/src/utils/compress-files.d.ts.map +0 -1
  288. package/dist/src/utils/get-local-config.d.ts.map +0 -1
  289. package/dist/src/utils/helpers.d.ts.map +0 -1
  290. package/dist/src/utils/pkg.d.ts.map +0 -1
  291. package/dist/src/utils/tests/compress-files.test.d.ts.map +0 -1
  292. /package/dist/{src/bin.d.ts → bin.d.ts} +0 -0
  293. /package/dist/{src/cloud → cloud}/command.d.ts +0 -0
  294. /package/dist/{src/config → config}/api.d.ts +0 -0
  295. /package/dist/{src/create-project → create-project}/action.d.ts +0 -0
  296. /package/dist/{src/create-project → create-project}/command.d.ts +0 -0
  297. /package/dist/{src/create-project → create-project}/index.d.ts +0 -0
  298. /package/dist/{src/create-project → create-project}/utils/get-project-name-from-pkg.d.ts +0 -0
  299. /package/dist/{src/create-project → create-project}/utils/project-questions.utils.d.ts +0 -0
  300. /package/dist/{src/deploy-project → deploy-project}/action.d.ts +0 -0
  301. /package/dist/{src/deploy-project → deploy-project}/command.d.ts +0 -0
  302. /package/dist/{src/deploy-project → deploy-project}/index.d.ts +0 -0
  303. /package/dist/{src/environment → environment}/command.d.ts +0 -0
  304. /package/dist/{src/environment → environment}/link/action.d.ts +0 -0
  305. /package/dist/{src/environment → environment}/link/command.d.ts +0 -0
  306. /package/dist/{src/environment → environment}/link/index.d.ts +0 -0
  307. /package/dist/{src/environment → environment}/list/action.d.ts +0 -0
  308. /package/dist/{src/environment → environment}/list/command.d.ts +0 -0
  309. /package/dist/{src/environment → environment}/list/index.d.ts +0 -0
  310. /package/dist/{src/link → link}/action.d.ts +0 -0
  311. /package/dist/{src/link → link}/command.d.ts +0 -0
  312. /package/dist/{src/link → link}/index.d.ts +0 -0
  313. /package/dist/{src/list-projects → list-projects}/action.d.ts +0 -0
  314. /package/dist/{src/list-projects → list-projects}/command.d.ts +0 -0
  315. /package/dist/{src/list-projects → list-projects}/index.d.ts +0 -0
  316. /package/dist/{src/login → login}/command.d.ts +0 -0
  317. /package/dist/{src/login → login}/index.d.ts +0 -0
  318. /package/dist/{src/logout → logout}/action.d.ts +0 -0
  319. /package/dist/{src/logout → logout}/command.d.ts +0 -0
  320. /package/dist/{src/logout → logout}/index.d.ts +0 -0
  321. /package/dist/{src/services → services}/build-logs.d.ts +0 -0
  322. /package/dist/{src/services → services}/index.d.ts +0 -0
  323. /package/dist/{src/services → services}/logger.d.ts +0 -0
  324. /package/dist/{src/services → services}/notification.d.ts +0 -0
  325. /package/dist/{src/services → services}/strapi-info-save.d.ts +0 -0
  326. /package/dist/{src/services → services}/token.d.ts +0 -0
  327. /package/dist/{src/utils → utils}/analytics.d.ts +0 -0
  328. /package/dist/{src/utils → utils}/compress-files.d.ts +0 -0
  329. /package/dist/{src/utils → utils}/get-local-config.d.ts +0 -0
  330. /package/dist/{src/utils → utils}/helpers.d.ts +0 -0
  331. /package/dist/{src/utils → utils}/pkg.d.ts +0 -0
  332. /package/dist/{src/utils → utils}/tests/compress-files.test.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.mjs","sources":["../../../src/environment/list/action.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { CLIContext } from '../../types';\nimport { cloudApiFactory, tokenServiceFactory } from '../../services';\nimport { promptLogin } from '../../login/action';\nimport { trackEvent } from '../../utils/analytics';\nimport { getLocalProject } from '../../utils/get-local-config';\n\nexport default async (ctx: CLIContext) => {\n const { getValidToken } = await tokenServiceFactory(ctx);\n const token = await getValidToken(ctx, promptLogin);\n const { logger } = ctx;\n\n if (!token) {\n return;\n }\n\n const project = await getLocalProject(ctx);\n if (!project) {\n ctx.logger.debug(`No valid local project configuration was found.`);\n return;\n }\n\n const cloudApiService = await cloudApiFactory(ctx, token);\n const spinner = logger.spinner('Fetching environments...').start();\n await trackEvent(ctx, cloudApiService, 'willListEnvironment', {\n projectInternalName: project.name,\n });\n\n try {\n const {\n data: { data: environmentsList },\n } = await cloudApiService.listEnvironments({ name: project.name });\n spinner.succeed();\n logger.log(environmentsList);\n await trackEvent(ctx, cloudApiService, 'didListEnvironment', {\n projectInternalName: project.name,\n });\n } catch (e: any) {\n if (e.response && e.response.status === 404) {\n spinner.succeed();\n logger.warn(\n `\\nThe project associated with this folder does not exist in Strapi Cloud. \\nPlease link your local project to an existing Strapi Cloud project using the ${chalk.cyan(\n 'link'\n )} command`\n );\n } else {\n spinner.fail('An error occurred while fetching environments data from Strapi Cloud.');\n logger.debug('Failed to list environments', e);\n }\n await trackEvent(ctx, cloudApiService, 'didNotListEnvironment', {\n projectInternalName: project.name,\n });\n }\n};\n"],"names":["ctx","getValidToken","tokenServiceFactory","token","promptLogin","logger","project","getLocalProject","debug","cloudApiService","cloudApiFactory","spinner","start","trackEvent","projectInternalName","name","data","environmentsList","listEnvironments","succeed","log","e","response","status","warn","chalk","cyan","fail"],"mappings":";;;;;;;;;;;;;AAOA,aAAe,CAAA,OAAOA,GAAAA,GAAAA;AACpB,IAAA,MAAM,EAAEC,aAAa,EAAE,GAAG,MAAMC,mBAAoBF,CAAAA,GAAAA,CAAAA;IACpD,MAAMG,KAAAA,GAAQ,MAAMF,aAAAA,CAAcD,GAAKI,EAAAA,WAAAA,CAAAA;IACvC,MAAM,EAAEC,MAAM,EAAE,GAAGL,GAAAA;AAEnB,IAAA,IAAI,CAACG,KAAO,EAAA;AACV,QAAA;AACF;IAEA,MAAMG,OAAAA,GAAU,MAAMC,eAAgBP,CAAAA,GAAAA,CAAAA;AACtC,IAAA,IAAI,CAACM,OAAS,EAAA;AACZN,QAAAA,GAAAA,CAAIK,MAAM,CAACG,KAAK,CAAC,CAAC,+CAA+C,CAAC,CAAA;AAClE,QAAA;AACF;IAEA,MAAMC,eAAAA,GAAkB,MAAMC,eAAAA,CAAgBV,GAAKG,EAAAA,KAAAA,CAAAA;AACnD,IAAA,MAAMQ,OAAUN,GAAAA,MAAAA,CAAOM,OAAO,CAAC,4BAA4BC,KAAK,EAAA;IAChE,MAAMC,UAAAA,CAAWb,GAAKS,EAAAA,eAAAA,EAAiB,qBAAuB,EAAA;AAC5DK,QAAAA,mBAAAA,EAAqBR,QAAQS;AAC/B,KAAA,CAAA;IAEA,IAAI;QACF,MAAM,EACJC,IAAM,EAAA,EAAEA,IAAMC,EAAAA,gBAAgB,EAAE,EACjC,GAAG,MAAMR,eAAgBS,CAAAA,gBAAgB,CAAC;AAAEH,YAAAA,IAAAA,EAAMT,QAAQS;AAAK,SAAA,CAAA;AAChEJ,QAAAA,OAAAA,CAAQQ,OAAO,EAAA;AACfd,QAAAA,MAAAA,CAAOe,GAAG,CAACH,gBAAAA,CAAAA;QACX,MAAMJ,UAAAA,CAAWb,GAAKS,EAAAA,eAAAA,EAAiB,oBAAsB,EAAA;AAC3DK,YAAAA,mBAAAA,EAAqBR,QAAQS;AAC/B,SAAA,CAAA;AACF,KAAA,CAAE,OAAOM,CAAQ,EAAA;QACf,IAAIA,CAAAA,CAAEC,QAAQ,IAAID,CAAAA,CAAEC,QAAQ,CAACC,MAAM,KAAK,GAAK,EAAA;AAC3CZ,YAAAA,OAAAA,CAAQQ,OAAO,EAAA;YACfd,MAAOmB,CAAAA,IAAI,CACT,CAAC,yJAAyJ,EAAEC,MAAMC,IAAI,CACpK,MACA,CAAA,CAAA,QAAQ,CAAC,CAAA;SAER,MAAA;AACLf,YAAAA,OAAAA,CAAQgB,IAAI,CAAC,uEAAA,CAAA;YACbtB,MAAOG,CAAAA,KAAK,CAAC,6BAA+Ba,EAAAA,CAAAA,CAAAA;AAC9C;QACA,MAAMR,UAAAA,CAAWb,GAAKS,EAAAA,eAAAA,EAAiB,uBAAyB,EAAA;AAC9DK,YAAAA,mBAAAA,EAAqBR,QAAQS;AAC/B,SAAA,CAAA;AACF;AACF,CAAA;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/environment/list/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD,QAAA,MAAM,OAAO,EAAE,kBASd,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var helpers = require('../../utils/helpers.js');
4
+ var action = require('./action.js');
5
+ var command$1 = require('../command.js');
6
+
7
+ const command = ({ command, ctx })=>{
8
+ const environmentCmd = command$1.initializeEnvironmentCommand(command, ctx);
9
+ environmentCmd.command('list').description('List Strapi Cloud project environments').option('-d, --debug', 'Enable debugging mode with verbose logs').option('-s, --silent', "Don't log anything").action(()=>helpers.runAction('list', action)(ctx));
10
+ };
11
+
12
+ module.exports = command;
13
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sources":["../../../src/environment/list/command.ts"],"sourcesContent":["import { type StrapiCloudCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport action from './action';\nimport { initializeEnvironmentCommand } from '../command';\n\nconst command: StrapiCloudCommand = ({ command, ctx }) => {\n const environmentCmd = initializeEnvironmentCommand(command, ctx);\n\n environmentCmd\n .command('list')\n .description('List Strapi Cloud project environments')\n .option('-d, --debug', 'Enable debugging mode with verbose logs')\n .option('-s, --silent', \"Don't log anything\")\n .action(() => runAction('list', action)(ctx));\n};\n\nexport default command;\n"],"names":["command","ctx","environmentCmd","initializeEnvironmentCommand","description","option","action","runAction"],"mappings":";;;;;;AAKA,MAAMA,UAA8B,CAAC,EAAEA,OAAO,EAAEC,GAAG,EAAE,GAAA;IACnD,MAAMC,cAAAA,GAAiBC,uCAA6BH,OAASC,EAAAA,GAAAA,CAAAA;AAE7DC,IAAAA,cAAAA,CACGF,OAAO,CAAC,MAAA,CAAA,CACRI,WAAW,CAAC,wCAAA,CAAA,CACZC,MAAM,CAAC,aAAA,EAAe,2CACtBA,MAAM,CAAC,gBAAgB,oBACvBC,CAAAA,CAAAA,MAAM,CAAC,IAAMC,iBAAAA,CAAU,QAAQD,MAAQL,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA;AAC5C;;;;"}
@@ -0,0 +1,11 @@
1
+ import { runAction } from '../../utils/helpers.mjs';
2
+ import action from './action.mjs';
3
+ import { initializeEnvironmentCommand } from '../command.mjs';
4
+
5
+ const command = ({ command, ctx })=>{
6
+ const environmentCmd = initializeEnvironmentCommand(command, ctx);
7
+ environmentCmd.command('list').description('List Strapi Cloud project environments').option('-d, --debug', 'Enable debugging mode with verbose logs').option('-s, --silent', "Don't log anything").action(()=>runAction('list', action)(ctx));
8
+ };
9
+
10
+ export { command as default };
11
+ //# sourceMappingURL=command.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.mjs","sources":["../../../src/environment/list/command.ts"],"sourcesContent":["import { type StrapiCloudCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport action from './action';\nimport { initializeEnvironmentCommand } from '../command';\n\nconst command: StrapiCloudCommand = ({ command, ctx }) => {\n const environmentCmd = initializeEnvironmentCommand(command, ctx);\n\n environmentCmd\n .command('list')\n .description('List Strapi Cloud project environments')\n .option('-d, --debug', 'Enable debugging mode with verbose logs')\n .option('-s, --silent', \"Don't log anything\")\n .action(() => runAction('list', action)(ctx));\n};\n\nexport default command;\n"],"names":["command","ctx","environmentCmd","initializeEnvironmentCommand","description","option","action","runAction"],"mappings":";;;;AAKA,MAAMA,UAA8B,CAAC,EAAEA,OAAO,EAAEC,GAAG,EAAE,GAAA;IACnD,MAAMC,cAAAA,GAAiBC,6BAA6BH,OAASC,EAAAA,GAAAA,CAAAA;AAE7DC,IAAAA,cAAAA,CACGF,OAAO,CAAC,MAAA,CAAA,CACRI,WAAW,CAAC,wCAAA,CAAA,CACZC,MAAM,CAAC,aAAA,EAAe,2CACtBA,MAAM,CAAC,gBAAgB,oBACvBC,CAAAA,CAAAA,MAAM,CAAC,IAAMC,SAAAA,CAAU,QAAQD,MAAQL,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA;AAC5C;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/environment/list/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;AAE3B,wBAK4B"}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var action = require('./action.js');
6
+ var command = require('./command.js');
7
+
8
+ var listEnvironments = {
9
+ name: 'list-environments',
10
+ description: 'List Strapi Cloud environments',
11
+ action,
12
+ command
13
+ };
14
+
15
+ exports.action = action;
16
+ exports.command = command;
17
+ exports.default = listEnvironments;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/environment/list/index.ts"],"sourcesContent":["import action from './action';\nimport command from './command';\nimport type { StrapiCloudCommandInfo } from '../../types';\n\nexport { action, command };\n\nexport default {\n name: 'list-environments',\n description: 'List Strapi Cloud environments',\n action,\n command,\n} as StrapiCloudCommandInfo;\n"],"names":["name","description","action","command"],"mappings":";;;;;;;AAMA,uBAAe;IACbA,IAAM,EAAA,mBAAA;IACNC,WAAa,EAAA,gCAAA;AACbC,IAAAA,MAAAA;AACAC,IAAAA;AACF,CAA4B;;;;;;"}
@@ -0,0 +1,12 @@
1
+ import action from './action.mjs';
2
+ import command from './command.mjs';
3
+
4
+ var listEnvironments = {
5
+ name: 'list-environments',
6
+ description: 'List Strapi Cloud environments',
7
+ action,
8
+ command
9
+ };
10
+
11
+ export { action, command, listEnvironments as default };
12
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/environment/list/index.ts"],"sourcesContent":["import action from './action';\nimport command from './command';\nimport type { StrapiCloudCommandInfo } from '../../types';\n\nexport { action, command };\n\nexport default {\n name: 'list-environments',\n description: 'List Strapi Cloud environments',\n action,\n command,\n} as StrapiCloudCommandInfo;\n"],"names":["name","description","action","command"],"mappings":";;;AAMA,uBAAe;IACbA,IAAM,EAAA,mBAAA;IACNC,WAAa,EAAA,gCAAA;AACbC,IAAAA,MAAAA;AACAC,IAAAA;AACF,CAA4B;;;;"}
@@ -1,4 +1,5 @@
1
1
  import { Command } from 'commander';
2
+ import { createGrowthSsoTrial } from './create-growth-sso-trial';
2
3
  import { CLIContext } from './types';
3
4
  export declare const cli: {
4
5
  deployProject: import("./types").StrapiCloudCommandInfo;
@@ -15,6 +16,7 @@ export declare const cli: {
15
16
  listProjects: import("./types").StrapiCloudCommandInfo;
16
17
  listEnvironments: import("./types").StrapiCloudCommandInfo;
17
18
  };
19
+ export { createGrowthSsoTrial };
18
20
  export declare function buildStrapiCloudCommands({ command, ctx, argv, }: {
19
21
  command: Command;
20
22
  ctx: CLIContext;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,eAAO,MAAM,GAAG;;;;;;;;;;;;;;CASf,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAsBhC,wBAAsB,wBAAwB,CAAC,EAC7C,OAAO,EACP,GAAG,EACH,IAAI,GACL,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,iBAeA;AAED,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,34 +1,66 @@
1
1
  'use strict';
2
2
 
3
- require('crypto');
4
- var index = require('./chunks/index-BZ0dpHa6.js');
5
- require('fs-extra');
6
- require('inquirer');
7
- require('boxen');
8
- require('path');
9
- require('chalk');
10
- require('axios');
11
- require('node:crypto');
12
- require('@strapi/utils');
13
- require('tar');
14
- require('minimatch');
15
- require('lodash/fp');
16
- require('os');
17
- require('xdg-app-paths');
18
- require('lodash');
19
- require('jwks-rsa');
20
- require('jsonwebtoken');
21
- require('fast-safe-stringify');
22
- require('ora');
23
- require('cli-progress');
24
- require('pkg-up');
25
- require('yup');
26
- require('eventsource');
27
- require('commander');
3
+ var crypto = require('crypto');
4
+ var index$1 = require('./deploy-project/index.js');
5
+ var index$2 = require('./link/index.js');
6
+ var index$3 = require('./login/index.js');
7
+ var index$4 = require('./logout/index.js');
8
+ var index$5 = require('./create-project/index.js');
9
+ var action = require('./create-growth-sso-trial/action.js');
10
+ var index$7 = require('./list-projects/index.js');
11
+ var index$8 = require('./environment/list/index.js');
12
+ var index$6 = require('./environment/link/index.js');
13
+ var local = require('./config/local.js');
14
+ var index = require('./services/index.js');
28
15
 
16
+ const cli = {
17
+ deployProject: index$1.default,
18
+ link: index$2.default,
19
+ login: index$3.default,
20
+ logout: index$4.default,
21
+ createProject: index$5.default,
22
+ linkEnvironment: index$6.default,
23
+ listProjects: index$7.default,
24
+ listEnvironments: index$8.default
25
+ };
26
+ const cloudCommands = [
27
+ index$1.default,
28
+ index$2.default,
29
+ index$3.default,
30
+ index$4.default,
31
+ index$6.default,
32
+ index$7.default,
33
+ index$8.default
34
+ ];
35
+ async function initCloudCLIConfig() {
36
+ const localConfig = await local.getLocalConfig();
37
+ if (!localConfig.installId) {
38
+ localConfig.installId = crypto.randomUUID();
39
+ }
40
+ await local.saveLocalConfig(localConfig);
41
+ }
42
+ async function buildStrapiCloudCommands({ command, ctx, argv }) {
43
+ await initCloudCLIConfig();
44
+ // Load all commands
45
+ for (const cloudCommand of cloudCommands){
46
+ try {
47
+ // Add this command to the Commander command object
48
+ const subCommand = await cloudCommand.command({
49
+ command,
50
+ ctx,
51
+ argv
52
+ });
53
+ if (subCommand) {
54
+ command.addCommand(subCommand);
55
+ }
56
+ } catch (e) {
57
+ console.error(`Failed to load command ${cloudCommand.name}`, e);
58
+ }
59
+ }
60
+ }
29
61
 
30
-
31
- exports.buildStrapiCloudCommands = index.buildStrapiCloudCommands;
32
- exports.cli = index.cli;
33
- exports.services = index.index;
62
+ exports.createGrowthSsoTrial = action;
63
+ exports.services = index;
64
+ exports.buildStrapiCloudCommands = buildStrapiCloudCommands;
65
+ exports.cli = cli;
34
66
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { Command } from 'commander';\nimport crypto from 'crypto';\nimport deployProject from './deploy-project';\nimport link from './link';\nimport login from './login';\nimport logout from './logout';\nimport createProject from './create-project';\nimport { createGrowthSsoTrial } from './create-growth-sso-trial';\nimport listProjects from './list-projects';\nimport listEnvironments from './environment/list';\nimport linkEnvironment from './environment/link';\nimport { CLIContext } from './types';\nimport { getLocalConfig, saveLocalConfig } from './config/local';\n\nexport const cli = {\n deployProject,\n link,\n login,\n logout,\n createProject,\n linkEnvironment,\n listProjects,\n listEnvironments,\n};\n\nexport { createGrowthSsoTrial };\n\nconst cloudCommands = [\n deployProject,\n link,\n login,\n logout,\n linkEnvironment,\n listProjects,\n listEnvironments,\n];\n\nasync function initCloudCLIConfig() {\n const localConfig = await getLocalConfig();\n\n if (!localConfig.installId) {\n localConfig.installId = crypto.randomUUID();\n }\n\n await saveLocalConfig(localConfig);\n}\n\nexport async function buildStrapiCloudCommands({\n command,\n ctx,\n argv,\n}: {\n command: Command;\n ctx: CLIContext;\n argv: string[];\n}) {\n await initCloudCLIConfig();\n // Load all commands\n for (const cloudCommand of cloudCommands) {\n try {\n // Add this command to the Commander command object\n const subCommand = await cloudCommand.command({ command, ctx, argv });\n\n if (subCommand) {\n command.addCommand(subCommand);\n }\n } catch (e) {\n console.error(`Failed to load command ${cloudCommand.name}`, e);\n }\n }\n}\n\nexport * as services from './services';\n\nexport * from './types';\n"],"names":["cli","deployProject","link","login","logout","createProject","linkEnvironment","listProjects","listEnvironments","cloudCommands","initCloudCLIConfig","localConfig","getLocalConfig","installId","crypto","randomUUID","saveLocalConfig","buildStrapiCloudCommands","command","ctx","argv","cloudCommand","subCommand","addCommand","e","console","error","name"],"mappings":";;;;;;;;;;;;;;;MAcaA,GAAM,GAAA;AACjBC,mBAAAA,eAAAA;AACAC,UAAAA,eAAAA;AACAC,WAAAA,eAAAA;AACAC,YAAAA,eAAAA;AACAC,mBAAAA,eAAAA;AACAC,qBAAAA,eAAAA;AACAC,kBAAAA,eAAAA;AACAC,sBAAAA;AACF;AAIA,MAAMC,aAAgB,GAAA;AACpBR,IAAAA,eAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA,eAAAA;AACAE,IAAAA,eAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA;AACD,CAAA;AAED,eAAeE,kBAAAA,GAAAA;AACb,IAAA,MAAMC,cAAc,MAAMC,oBAAAA,EAAAA;IAE1B,IAAI,CAACD,WAAYE,CAAAA,SAAS,EAAE;QAC1BF,WAAYE,CAAAA,SAAS,GAAGC,MAAAA,CAAOC,UAAU,EAAA;AAC3C;AAEA,IAAA,MAAMC,qBAAgBL,CAAAA,WAAAA,CAAAA;AACxB;AAEO,eAAeM,yBAAyB,EAC7CC,OAAO,EACPC,GAAG,EACHC,IAAI,EAKL,EAAA;IACC,MAAMV,kBAAAA,EAAAA;;IAEN,KAAK,MAAMW,gBAAgBZ,aAAe,CAAA;QACxC,IAAI;;AAEF,YAAA,MAAMa,UAAa,GAAA,MAAMD,YAAaH,CAAAA,OAAO,CAAC;AAAEA,gBAAAA,OAAAA;AAASC,gBAAAA,GAAAA;AAAKC,gBAAAA;AAAK,aAAA,CAAA;AAEnE,YAAA,IAAIE,UAAY,EAAA;AACdJ,gBAAAA,OAAAA,CAAQK,UAAU,CAACD,UAAAA,CAAAA;AACrB;AACF,SAAA,CAAE,OAAOE,CAAG,EAAA;YACVC,OAAQC,CAAAA,KAAK,CAAC,CAAC,uBAAuB,EAAEL,YAAaM,CAAAA,IAAI,CAAC,CAAC,EAAEH,CAAAA,CAAAA;AAC/D;AACF;AACF;;;;;;;"}
package/dist/index.mjs CHANGED
@@ -1,26 +1,62 @@
1
- import 'crypto';
2
- export { b as buildStrapiCloudCommands, a as cli, i as services } from './chunks/index-DGQHGTQ5.mjs';
3
- import 'fs-extra';
4
- import 'inquirer';
5
- import 'boxen';
6
- import 'path';
7
- import 'chalk';
8
- import 'axios';
9
- import 'node:crypto';
10
- import '@strapi/utils';
11
- import 'tar';
12
- import 'minimatch';
13
- import 'lodash/fp';
14
- import 'os';
15
- import 'xdg-app-paths';
16
- import 'lodash';
17
- import 'jwks-rsa';
18
- import 'jsonwebtoken';
19
- import 'fast-safe-stringify';
20
- import 'ora';
21
- import 'cli-progress';
22
- import 'pkg-up';
23
- import 'yup';
24
- import 'eventsource';
25
- import 'commander';
1
+ import crypto from 'crypto';
2
+ import deployProject from './deploy-project/index.mjs';
3
+ import link from './link/index.mjs';
4
+ import login from './login/index.mjs';
5
+ import logout from './logout/index.mjs';
6
+ import createProject from './create-project/index.mjs';
7
+ export { default as createGrowthSsoTrial } from './create-growth-sso-trial/action.mjs';
8
+ import listProjects from './list-projects/index.mjs';
9
+ import listEnvironments from './environment/list/index.mjs';
10
+ import linkEnvironment from './environment/link/index.mjs';
11
+ import { getLocalConfig, saveLocalConfig } from './config/local.mjs';
12
+ import * as index from './services/index.mjs';
13
+ export { index as services };
14
+
15
+ const cli = {
16
+ deployProject,
17
+ link,
18
+ login,
19
+ logout,
20
+ createProject,
21
+ linkEnvironment,
22
+ listProjects,
23
+ listEnvironments
24
+ };
25
+ const cloudCommands = [
26
+ deployProject,
27
+ link,
28
+ login,
29
+ logout,
30
+ linkEnvironment,
31
+ listProjects,
32
+ listEnvironments
33
+ ];
34
+ async function initCloudCLIConfig() {
35
+ const localConfig = await getLocalConfig();
36
+ if (!localConfig.installId) {
37
+ localConfig.installId = crypto.randomUUID();
38
+ }
39
+ await saveLocalConfig(localConfig);
40
+ }
41
+ async function buildStrapiCloudCommands({ command, ctx, argv }) {
42
+ await initCloudCLIConfig();
43
+ // Load all commands
44
+ for (const cloudCommand of cloudCommands){
45
+ try {
46
+ // Add this command to the Commander command object
47
+ const subCommand = await cloudCommand.command({
48
+ command,
49
+ ctx,
50
+ argv
51
+ });
52
+ if (subCommand) {
53
+ command.addCommand(subCommand);
54
+ }
55
+ } catch (e) {
56
+ console.error(`Failed to load command ${cloudCommand.name}`, e);
57
+ }
58
+ }
59
+ }
60
+
61
+ export { buildStrapiCloudCommands, cli };
26
62
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import { Command } from 'commander';\nimport crypto from 'crypto';\nimport deployProject from './deploy-project';\nimport link from './link';\nimport login from './login';\nimport logout from './logout';\nimport createProject from './create-project';\nimport { createGrowthSsoTrial } from './create-growth-sso-trial';\nimport listProjects from './list-projects';\nimport listEnvironments from './environment/list';\nimport linkEnvironment from './environment/link';\nimport { CLIContext } from './types';\nimport { getLocalConfig, saveLocalConfig } from './config/local';\n\nexport const cli = {\n deployProject,\n link,\n login,\n logout,\n createProject,\n linkEnvironment,\n listProjects,\n listEnvironments,\n};\n\nexport { createGrowthSsoTrial };\n\nconst cloudCommands = [\n deployProject,\n link,\n login,\n logout,\n linkEnvironment,\n listProjects,\n listEnvironments,\n];\n\nasync function initCloudCLIConfig() {\n const localConfig = await getLocalConfig();\n\n if (!localConfig.installId) {\n localConfig.installId = crypto.randomUUID();\n }\n\n await saveLocalConfig(localConfig);\n}\n\nexport async function buildStrapiCloudCommands({\n command,\n ctx,\n argv,\n}: {\n command: Command;\n ctx: CLIContext;\n argv: string[];\n}) {\n await initCloudCLIConfig();\n // Load all commands\n for (const cloudCommand of cloudCommands) {\n try {\n // Add this command to the Commander command object\n const subCommand = await cloudCommand.command({ command, ctx, argv });\n\n if (subCommand) {\n command.addCommand(subCommand);\n }\n } catch (e) {\n console.error(`Failed to load command ${cloudCommand.name}`, e);\n }\n }\n}\n\nexport * as services from './services';\n\nexport * from './types';\n"],"names":["cli","deployProject","link","login","logout","createProject","linkEnvironment","listProjects","listEnvironments","cloudCommands","initCloudCLIConfig","localConfig","getLocalConfig","installId","crypto","randomUUID","saveLocalConfig","buildStrapiCloudCommands","command","ctx","argv","cloudCommand","subCommand","addCommand","e","console","error","name"],"mappings":";;;;;;;;;;;;;;MAcaA,GAAM,GAAA;AACjBC,IAAAA,aAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,MAAAA;AACAC,IAAAA,aAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA,YAAAA;AACAC,IAAAA;AACF;AAIA,MAAMC,aAAgB,GAAA;AACpBR,IAAAA,aAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,MAAAA;AACAE,IAAAA,eAAAA;AACAC,IAAAA,YAAAA;AACAC,IAAAA;AACD,CAAA;AAED,eAAeE,kBAAAA,GAAAA;AACb,IAAA,MAAMC,cAAc,MAAMC,cAAAA,EAAAA;IAE1B,IAAI,CAACD,WAAYE,CAAAA,SAAS,EAAE;QAC1BF,WAAYE,CAAAA,SAAS,GAAGC,MAAAA,CAAOC,UAAU,EAAA;AAC3C;AAEA,IAAA,MAAMC,eAAgBL,CAAAA,WAAAA,CAAAA;AACxB;AAEO,eAAeM,yBAAyB,EAC7CC,OAAO,EACPC,GAAG,EACHC,IAAI,EAKL,EAAA;IACC,MAAMV,kBAAAA,EAAAA;;IAEN,KAAK,MAAMW,gBAAgBZ,aAAe,CAAA;QACxC,IAAI;;AAEF,YAAA,MAAMa,UAAa,GAAA,MAAMD,YAAaH,CAAAA,OAAO,CAAC;AAAEA,gBAAAA,OAAAA;AAASC,gBAAAA,GAAAA;AAAKC,gBAAAA;AAAK,aAAA,CAAA;AAEnE,YAAA,IAAIE,UAAY,EAAA;AACdJ,gBAAAA,OAAAA,CAAQK,UAAU,CAACD,UAAAA,CAAAA;AACrB;AACF,SAAA,CAAE,OAAOE,CAAG,EAAA;YACVC,OAAQC,CAAAA,KAAK,CAAC,CAAC,uBAAuB,EAAEL,YAAaM,CAAAA,IAAI,CAAC,CAAC,EAAEH,CAAAA,CAAAA;AAC/D;AACF;AACF;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/link/action.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;8BAuIhB,UAAU;AAArC,wBAoEE"}
@@ -0,0 +1,146 @@
1
+ 'use strict';
2
+
3
+ var inquirer = require('inquirer');
4
+ var chalk = require('chalk');
5
+ var cliApi = require('../services/cli-api.js');
6
+ var strapiInfoSave = require('../services/strapi-info-save.js');
7
+ var token = require('../services/token.js');
8
+ require('fast-safe-stringify');
9
+ require('ora');
10
+ require('cli-progress');
11
+ var action$1 = require('../login/action.js');
12
+ var analytics = require('../utils/analytics.js');
13
+ var getLocalConfig = require('../utils/get-local-config.js');
14
+
15
+ const QUIT_OPTION = 'Quit';
16
+ async function promptForRelink(ctx, cloudApiService, existingConfig) {
17
+ if (existingConfig && existingConfig.project) {
18
+ const { shouldRelink } = await inquirer.prompt([
19
+ {
20
+ type: 'confirm',
21
+ name: 'shouldRelink',
22
+ message: `A project named ${chalk.cyan(existingConfig.project.displayName ? existingConfig.project.displayName : existingConfig.project.name)} is already linked to this local folder. Do you want to update the link?`,
23
+ default: false
24
+ }
25
+ ]);
26
+ if (!shouldRelink) {
27
+ await analytics.trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
28
+ currentProjectName: existingConfig.project?.name
29
+ });
30
+ return false;
31
+ }
32
+ }
33
+ return true;
34
+ }
35
+ async function getProjectsList(ctx, cloudApiService, existingConfig) {
36
+ const spinner = ctx.logger.spinner('Fetching your projects...\n').start();
37
+ try {
38
+ const { data: { data: projectList } } = await cloudApiService.listLinkProjects();
39
+ spinner.succeed();
40
+ if (!Array.isArray(projectList)) {
41
+ ctx.logger.log("We couldn't find any projects available for linking in Strapi Cloud.");
42
+ return null;
43
+ }
44
+ const projects = projectList.filter((project)=>!(project.isMaintainer || project.name === existingConfig?.project?.name)).map((project)=>{
45
+ return {
46
+ name: project.displayName,
47
+ value: {
48
+ name: project.name,
49
+ displayName: project.displayName
50
+ }
51
+ };
52
+ });
53
+ if (projects.length === 0) {
54
+ ctx.logger.log("We couldn't find any projects available for linking in Strapi Cloud.");
55
+ return null;
56
+ }
57
+ return projects;
58
+ } catch (e) {
59
+ spinner.fail('An error occurred while fetching your projects from Strapi Cloud.');
60
+ ctx.logger.debug('Failed to list projects', e);
61
+ return null;
62
+ }
63
+ }
64
+ async function getUserSelection(ctx, projects) {
65
+ const { logger } = ctx;
66
+ try {
67
+ const answer = await inquirer.prompt([
68
+ {
69
+ type: 'list',
70
+ name: 'linkProject',
71
+ message: 'Which project do you want to link?',
72
+ choices: [
73
+ ...projects,
74
+ {
75
+ name: chalk.grey(`(${QUIT_OPTION})`),
76
+ value: null
77
+ }
78
+ ]
79
+ }
80
+ ]);
81
+ if (!answer.linkProject) {
82
+ return null;
83
+ }
84
+ return answer;
85
+ } catch (e) {
86
+ logger.debug('Failed to get user input', e);
87
+ logger.error('An error occurred while trying to get your input.');
88
+ return null;
89
+ }
90
+ }
91
+ var action = (async (ctx)=>{
92
+ const { getValidToken } = await token.tokenServiceFactory(ctx);
93
+ const token$1 = await getValidToken(ctx, action$1.promptLogin);
94
+ const { logger } = ctx;
95
+ if (!token$1) {
96
+ return;
97
+ }
98
+ const cloudApiService = await cliApi.cloudApiFactory(ctx, token$1);
99
+ const existingConfig = await getLocalConfig.getLocalConfig(ctx);
100
+ const shouldRelink = await promptForRelink(ctx, cloudApiService, existingConfig);
101
+ if (!shouldRelink) {
102
+ return;
103
+ }
104
+ await analytics.trackEvent(ctx, cloudApiService, 'willLinkProject', {});
105
+ const projects = await getProjectsList(ctx, cloudApiService, existingConfig);
106
+ if (!projects) {
107
+ return;
108
+ }
109
+ const answer = await getUserSelection(ctx, projects);
110
+ if (!answer) {
111
+ return;
112
+ }
113
+ try {
114
+ const { confirmAction } = await inquirer.prompt([
115
+ {
116
+ type: 'confirm',
117
+ name: 'confirmAction',
118
+ message: 'Warning: Once linked, deploying from CLI will replace the existing project and its data. Confirm to proceed:',
119
+ default: false
120
+ }
121
+ ]);
122
+ if (!confirmAction) {
123
+ await analytics.trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
124
+ cancelledProjectName: answer.linkProject.name,
125
+ currentProjectName: existingConfig ? existingConfig.project?.name : null
126
+ });
127
+ return;
128
+ }
129
+ await strapiInfoSave.save({
130
+ project: answer.linkProject
131
+ });
132
+ logger.log(` You have successfully linked your project to ${chalk.cyan(answer.linkProject.displayName)}. You are now able to deploy your project.`);
133
+ await analytics.trackEvent(ctx, cloudApiService, 'didLinkProject', {
134
+ projectInternalName: answer.linkProject
135
+ });
136
+ } catch (e) {
137
+ logger.debug('Failed to link project', e);
138
+ logger.error('An error occurred while linking the project.');
139
+ await analytics.trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
140
+ projectInternalName: answer.linkProject
141
+ });
142
+ }
143
+ });
144
+
145
+ module.exports = action;
146
+ //# sourceMappingURL=action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.js","sources":["../../src/link/action.ts"],"sourcesContent":["import inquirer from 'inquirer';\nimport chalk from 'chalk';\n\nimport type { Answers } from 'inquirer';\nimport type { CLIContext } from '../types';\nimport type { CloudApiService } from '../services/cli-api';\n\nimport { LocalSave } from '../services/strapi-info-save';\nimport { cloudApiFactory, tokenServiceFactory, local } from '../services';\nimport { promptLogin } from '../login/action';\nimport { trackEvent } from '../utils/analytics';\nimport { getLocalConfig } from '../utils/get-local-config';\n\nconst QUIT_OPTION = 'Quit';\n\ninterface LinkProjectValue {\n name: string;\n displayName: string;\n}\n\ninterface LinkProjectAnswer extends Answers {\n linkProject: LinkProjectValue;\n}\n\ninterface LinkProjectInput extends Answers {\n linkProject: LinkProjectValue | string;\n}\n\ntype ProjectsList = {\n name: string;\n value: {\n name: string;\n displayName: string;\n };\n}[];\n\ntype Project = {\n name: string;\n displayName: string;\n isMaintainer: boolean;\n};\n\nasync function promptForRelink(\n ctx: CLIContext,\n cloudApiService: CloudApiService,\n existingConfig: LocalSave | null\n) {\n if (existingConfig && existingConfig.project) {\n const { shouldRelink } = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'shouldRelink',\n message: `A project named ${chalk.cyan(\n existingConfig.project.displayName\n ? existingConfig.project.displayName\n : existingConfig.project.name\n )} is already linked to this local folder. Do you want to update the link?`,\n default: false,\n },\n ]);\n\n if (!shouldRelink) {\n await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {\n currentProjectName: existingConfig.project?.name,\n });\n return false;\n }\n }\n\n return true;\n}\n\nasync function getProjectsList(\n ctx: CLIContext,\n cloudApiService: CloudApiService,\n existingConfig: LocalSave | null\n) {\n const spinner = ctx.logger.spinner('Fetching your projects...\\n').start();\n\n try {\n const {\n data: { data: projectList },\n } = await cloudApiService.listLinkProjects();\n spinner.succeed();\n\n if (!Array.isArray(projectList)) {\n ctx.logger.log(\"We couldn't find any projects available for linking in Strapi Cloud.\");\n return null;\n }\n const projects: ProjectsList = (projectList as unknown as Project[])\n .filter(\n (project: Project) =>\n !(project.isMaintainer || project.name === existingConfig?.project?.name)\n )\n .map((project: Project) => {\n return {\n name: project.displayName,\n value: { name: project.name, displayName: project.displayName },\n };\n });\n if (projects.length === 0) {\n ctx.logger.log(\"We couldn't find any projects available for linking in Strapi Cloud.\");\n return null;\n }\n return projects;\n } catch (e) {\n spinner.fail('An error occurred while fetching your projects from Strapi Cloud.');\n ctx.logger.debug('Failed to list projects', e);\n return null;\n }\n}\n\nasync function getUserSelection(\n ctx: CLIContext,\n projects: ProjectsList\n): Promise<LinkProjectAnswer | null> {\n const { logger } = ctx;\n try {\n const answer: LinkProjectInput = await inquirer.prompt([\n {\n type: 'list',\n name: 'linkProject',\n message: 'Which project do you want to link?',\n choices: [...projects, { name: chalk.grey(`(${QUIT_OPTION})`), value: null }],\n },\n ]);\n\n if (!answer.linkProject) {\n return null;\n }\n\n return answer as LinkProjectAnswer;\n } catch (e) {\n logger.debug('Failed to get user input', e);\n logger.error('An error occurred while trying to get your input.');\n return null;\n }\n}\n\nexport default async (ctx: CLIContext) => {\n const { getValidToken } = await tokenServiceFactory(ctx);\n const token = await getValidToken(ctx, promptLogin);\n const { logger } = ctx;\n\n if (!token) {\n return;\n }\n\n const cloudApiService = await cloudApiFactory(ctx, token);\n\n const existingConfig: LocalSave | null = await getLocalConfig(ctx);\n const shouldRelink = await promptForRelink(ctx, cloudApiService, existingConfig);\n\n if (!shouldRelink) {\n return;\n }\n await trackEvent(ctx, cloudApiService, 'willLinkProject', {});\n\n const projects: ProjectsList | null | undefined = await getProjectsList(\n ctx,\n cloudApiService,\n existingConfig\n );\n\n if (!projects) {\n return;\n }\n\n const answer: LinkProjectAnswer | null = await getUserSelection(ctx, projects);\n\n if (!answer) {\n return;\n }\n\n try {\n const { confirmAction } = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'confirmAction',\n message:\n 'Warning: Once linked, deploying from CLI will replace the existing project and its data. Confirm to proceed:',\n default: false,\n },\n ]);\n\n if (!confirmAction) {\n await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {\n cancelledProjectName: answer.linkProject.name,\n currentProjectName: existingConfig ? existingConfig.project?.name : null,\n });\n return;\n }\n\n await local.save({ project: answer.linkProject });\n logger.log(\n ` You have successfully linked your project to ${chalk.cyan(answer.linkProject.displayName)}. You are now able to deploy your project.`\n );\n await trackEvent(ctx, cloudApiService, 'didLinkProject', {\n projectInternalName: answer.linkProject,\n });\n } catch (e) {\n logger.debug('Failed to link project', e);\n logger.error('An error occurred while linking the project.');\n await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {\n projectInternalName: answer.linkProject,\n });\n }\n};\n"],"names":["QUIT_OPTION","promptForRelink","ctx","cloudApiService","existingConfig","project","shouldRelink","inquirer","prompt","type","name","message","chalk","cyan","displayName","default","trackEvent","currentProjectName","getProjectsList","spinner","logger","start","data","projectList","listLinkProjects","succeed","Array","isArray","log","projects","filter","isMaintainer","map","value","length","e","fail","debug","getUserSelection","answer","choices","grey","linkProject","error","getValidToken","tokenServiceFactory","token","promptLogin","cloudApiFactory","getLocalConfig","confirmAction","cancelledProjectName","local","projectInternalName"],"mappings":";;;;;;;;;;;;;;AAaA,MAAMA,WAAc,GAAA,MAAA;AA6BpB,eAAeC,eACbC,CAAAA,GAAe,EACfC,eAAgC,EAChCC,cAAgC,EAAA;IAEhC,IAAIA,cAAAA,IAAkBA,cAAeC,CAAAA,OAAO,EAAE;AAC5C,QAAA,MAAM,EAAEC,YAAY,EAAE,GAAG,MAAMC,QAAAA,CAASC,MAAM,CAAC;AAC7C,YAAA;gBACEC,IAAM,EAAA,SAAA;gBACNC,IAAM,EAAA,cAAA;gBACNC,OAAS,EAAA,CAAC,gBAAgB,EAAEC,KAAAA,CAAMC,IAAI,CACpCT,cAAAA,CAAeC,OAAO,CAACS,WAAW,GAC9BV,eAAeC,OAAO,CAACS,WAAW,GAClCV,cAAAA,CAAeC,OAAO,CAACK,IAAI,CAC/B,CAAA,wEAAwE,CAAC;gBAC3EK,OAAS,EAAA;AACX;AACD,SAAA,CAAA;AAED,QAAA,IAAI,CAACT,YAAc,EAAA;YACjB,MAAMU,oBAAAA,CAAWd,GAAKC,EAAAA,eAAAA,EAAiB,mBAAqB,EAAA;gBAC1Dc,kBAAoBb,EAAAA,cAAAA,CAAeC,OAAO,EAAEK;AAC9C,aAAA,CAAA;YACA,OAAO,KAAA;AACT;AACF;IAEA,OAAO,IAAA;AACT;AAEA,eAAeQ,eACbhB,CAAAA,GAAe,EACfC,eAAgC,EAChCC,cAAgC,EAAA;AAEhC,IAAA,MAAMe,UAAUjB,GAAIkB,CAAAA,MAAM,CAACD,OAAO,CAAC,+BAA+BE,KAAK,EAAA;IAEvE,IAAI;QACF,MAAM,EACJC,IAAM,EAAA,EAAEA,IAAMC,EAAAA,WAAW,EAAE,EAC5B,GAAG,MAAMpB,eAAAA,CAAgBqB,gBAAgB,EAAA;AAC1CL,QAAAA,OAAAA,CAAQM,OAAO,EAAA;AAEf,QAAA,IAAI,CAACC,KAAAA,CAAMC,OAAO,CAACJ,WAAc,CAAA,EAAA;YAC/BrB,GAAIkB,CAAAA,MAAM,CAACQ,GAAG,CAAC,sEAAA,CAAA;YACf,OAAO,IAAA;AACT;QACA,MAAMC,QAAAA,GAAyB,WAC5BC,CAAAA,MAAM,CACL,CAACzB,OAAAA,GACC,EAAEA,OAAAA,CAAQ0B,YAAY,IAAI1B,OAAAA,CAAQK,IAAI,KAAKN,cAAAA,EAAgBC,SAASK,IAAG,CAAA,CAAA,CAE1EsB,GAAG,CAAC,CAAC3B,OAAAA,GAAAA;YACJ,OAAO;AACLK,gBAAAA,IAAAA,EAAML,QAAQS,WAAW;gBACzBmB,KAAO,EAAA;AAAEvB,oBAAAA,IAAAA,EAAML,QAAQK,IAAI;AAAEI,oBAAAA,WAAAA,EAAaT,QAAQS;AAAY;AAChE,aAAA;AACF,SAAA,CAAA;QACF,IAAIe,QAAAA,CAASK,MAAM,KAAK,CAAG,EAAA;YACzBhC,GAAIkB,CAAAA,MAAM,CAACQ,GAAG,CAAC,sEAAA,CAAA;YACf,OAAO,IAAA;AACT;QACA,OAAOC,QAAAA;AACT,KAAA,CAAE,OAAOM,CAAG,EAAA;AACVhB,QAAAA,OAAAA,CAAQiB,IAAI,CAAC,mEAAA,CAAA;AACblC,QAAAA,GAAAA,CAAIkB,MAAM,CAACiB,KAAK,CAAC,yBAA2BF,EAAAA,CAAAA,CAAAA;QAC5C,OAAO,IAAA;AACT;AACF;AAEA,eAAeG,gBAAAA,CACbpC,GAAe,EACf2B,QAAsB,EAAA;IAEtB,MAAM,EAAET,MAAM,EAAE,GAAGlB,GAAAA;IACnB,IAAI;AACF,QAAA,MAAMqC,MAA2B,GAAA,MAAMhC,QAASC,CAAAA,MAAM,CAAC;AACrD,YAAA;gBACEC,IAAM,EAAA,MAAA;gBACNC,IAAM,EAAA,aAAA;gBACNC,OAAS,EAAA,oCAAA;gBACT6B,OAAS,EAAA;AAAIX,oBAAAA,GAAAA,QAAAA;AAAU,oBAAA;wBAAEnB,IAAME,EAAAA,KAAAA,CAAM6B,IAAI,CAAC,CAAC,CAAC,EAAEzC,WAAAA,CAAY,CAAC,CAAC,CAAA;wBAAGiC,KAAO,EAAA;AAAK;AAAE;AAC/E;AACD,SAAA,CAAA;QAED,IAAI,CAACM,MAAOG,CAAAA,WAAW,EAAE;YACvB,OAAO,IAAA;AACT;QAEA,OAAOH,MAAAA;AACT,KAAA,CAAE,OAAOJ,CAAG,EAAA;QACVf,MAAOiB,CAAAA,KAAK,CAAC,0BAA4BF,EAAAA,CAAAA,CAAAA;AACzCf,QAAAA,MAAAA,CAAOuB,KAAK,CAAC,mDAAA,CAAA;QACb,OAAO,IAAA;AACT;AACF;AAEA,aAAe,CAAA,OAAOzC,GAAAA,GAAAA;AACpB,IAAA,MAAM,EAAE0C,aAAa,EAAE,GAAG,MAAMC,yBAAoB3C,CAAAA,GAAAA,CAAAA;IACpD,MAAM4C,OAAAA,GAAQ,MAAMF,aAAAA,CAAc1C,GAAK6C,EAAAA,oBAAAA,CAAAA;IACvC,MAAM,EAAE3B,MAAM,EAAE,GAAGlB,GAAAA;AAEnB,IAAA,IAAI,CAAC4C,OAAO,EAAA;AACV,QAAA;AACF;IAEA,MAAM3C,eAAAA,GAAkB,MAAM6C,sBAAAA,CAAgB9C,GAAK4C,EAAAA,OAAAA,CAAAA;IAEnD,MAAM1C,cAAAA,GAAmC,MAAM6C,6BAAe/C,CAAAA,GAAAA,CAAAA;AAC9D,IAAA,MAAMI,YAAe,GAAA,MAAML,eAAgBC,CAAAA,GAAAA,EAAKC,eAAiBC,EAAAA,cAAAA,CAAAA;AAEjE,IAAA,IAAI,CAACE,YAAc,EAAA;AACjB,QAAA;AACF;AACA,IAAA,MAAMU,oBAAWd,CAAAA,GAAAA,EAAKC,eAAiB,EAAA,iBAAA,EAAmB,EAAC,CAAA;AAE3D,IAAA,MAAM0B,QAA4C,GAAA,MAAMX,eACtDhB,CAAAA,GAAAA,EACAC,eACAC,EAAAA,cAAAA,CAAAA;AAGF,IAAA,IAAI,CAACyB,QAAU,EAAA;AACb,QAAA;AACF;IAEA,MAAMU,MAAAA,GAAmC,MAAMD,gBAAAA,CAAiBpC,GAAK2B,EAAAA,QAAAA,CAAAA;AAErE,IAAA,IAAI,CAACU,MAAQ,EAAA;AACX,QAAA;AACF;IAEA,IAAI;AACF,QAAA,MAAM,EAAEW,aAAa,EAAE,GAAG,MAAM3C,QAAAA,CAASC,MAAM,CAAC;AAC9C,YAAA;gBACEC,IAAM,EAAA,SAAA;gBACNC,IAAM,EAAA,eAAA;gBACNC,OACE,EAAA,8GAAA;gBACFI,OAAS,EAAA;AACX;AACD,SAAA,CAAA;AAED,QAAA,IAAI,CAACmC,aAAe,EAAA;YAClB,MAAMlC,oBAAAA,CAAWd,GAAKC,EAAAA,eAAAA,EAAiB,mBAAqB,EAAA;gBAC1DgD,oBAAsBZ,EAAAA,MAAAA,CAAOG,WAAW,CAAChC,IAAI;AAC7CO,gBAAAA,kBAAAA,EAAoBb,cAAiBA,GAAAA,cAAAA,CAAeC,OAAO,EAAEK,IAAO,GAAA;AACtE,aAAA,CAAA;AACA,YAAA;AACF;QAEA,MAAM0C,mBAAU,CAAC;AAAE/C,YAAAA,OAAAA,EAASkC,OAAOG;AAAY,SAAA,CAAA;AAC/CtB,QAAAA,MAAAA,CAAOQ,GAAG,CACR,CAAC,8CAA8C,EAAEhB,KAAMC,CAAAA,IAAI,CAAC0B,MAAAA,CAAOG,WAAW,CAAC5B,WAAW,CAAA,CAAE,0CAA0C,CAAC,CAAA;QAEzI,MAAME,oBAAAA,CAAWd,GAAKC,EAAAA,eAAAA,EAAiB,gBAAkB,EAAA;AACvDkD,YAAAA,mBAAAA,EAAqBd,OAAOG;AAC9B,SAAA,CAAA;AACF,KAAA,CAAE,OAAOP,CAAG,EAAA;QACVf,MAAOiB,CAAAA,KAAK,CAAC,wBAA0BF,EAAAA,CAAAA,CAAAA;AACvCf,QAAAA,MAAAA,CAAOuB,KAAK,CAAC,8CAAA,CAAA;QACb,MAAM3B,oBAAAA,CAAWd,GAAKC,EAAAA,eAAAA,EAAiB,mBAAqB,EAAA;AAC1DkD,YAAAA,mBAAAA,EAAqBd,OAAOG;AAC9B,SAAA,CAAA;AACF;AACF,CAAA;;;;"}
@@ -0,0 +1,144 @@
1
+ import inquirer from 'inquirer';
2
+ import chalk from 'chalk';
3
+ import { cloudApiFactory } from '../services/cli-api.mjs';
4
+ import { save } from '../services/strapi-info-save.mjs';
5
+ import { tokenServiceFactory } from '../services/token.mjs';
6
+ import 'fast-safe-stringify';
7
+ import 'ora';
8
+ import 'cli-progress';
9
+ import { promptLogin } from '../login/action.mjs';
10
+ import { trackEvent } from '../utils/analytics.mjs';
11
+ import { getLocalConfig } from '../utils/get-local-config.mjs';
12
+
13
+ const QUIT_OPTION = 'Quit';
14
+ async function promptForRelink(ctx, cloudApiService, existingConfig) {
15
+ if (existingConfig && existingConfig.project) {
16
+ const { shouldRelink } = await inquirer.prompt([
17
+ {
18
+ type: 'confirm',
19
+ name: 'shouldRelink',
20
+ message: `A project named ${chalk.cyan(existingConfig.project.displayName ? existingConfig.project.displayName : existingConfig.project.name)} is already linked to this local folder. Do you want to update the link?`,
21
+ default: false
22
+ }
23
+ ]);
24
+ if (!shouldRelink) {
25
+ await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
26
+ currentProjectName: existingConfig.project?.name
27
+ });
28
+ return false;
29
+ }
30
+ }
31
+ return true;
32
+ }
33
+ async function getProjectsList(ctx, cloudApiService, existingConfig) {
34
+ const spinner = ctx.logger.spinner('Fetching your projects...\n').start();
35
+ try {
36
+ const { data: { data: projectList } } = await cloudApiService.listLinkProjects();
37
+ spinner.succeed();
38
+ if (!Array.isArray(projectList)) {
39
+ ctx.logger.log("We couldn't find any projects available for linking in Strapi Cloud.");
40
+ return null;
41
+ }
42
+ const projects = projectList.filter((project)=>!(project.isMaintainer || project.name === existingConfig?.project?.name)).map((project)=>{
43
+ return {
44
+ name: project.displayName,
45
+ value: {
46
+ name: project.name,
47
+ displayName: project.displayName
48
+ }
49
+ };
50
+ });
51
+ if (projects.length === 0) {
52
+ ctx.logger.log("We couldn't find any projects available for linking in Strapi Cloud.");
53
+ return null;
54
+ }
55
+ return projects;
56
+ } catch (e) {
57
+ spinner.fail('An error occurred while fetching your projects from Strapi Cloud.');
58
+ ctx.logger.debug('Failed to list projects', e);
59
+ return null;
60
+ }
61
+ }
62
+ async function getUserSelection(ctx, projects) {
63
+ const { logger } = ctx;
64
+ try {
65
+ const answer = await inquirer.prompt([
66
+ {
67
+ type: 'list',
68
+ name: 'linkProject',
69
+ message: 'Which project do you want to link?',
70
+ choices: [
71
+ ...projects,
72
+ {
73
+ name: chalk.grey(`(${QUIT_OPTION})`),
74
+ value: null
75
+ }
76
+ ]
77
+ }
78
+ ]);
79
+ if (!answer.linkProject) {
80
+ return null;
81
+ }
82
+ return answer;
83
+ } catch (e) {
84
+ logger.debug('Failed to get user input', e);
85
+ logger.error('An error occurred while trying to get your input.');
86
+ return null;
87
+ }
88
+ }
89
+ var action = (async (ctx)=>{
90
+ const { getValidToken } = await tokenServiceFactory(ctx);
91
+ const token = await getValidToken(ctx, promptLogin);
92
+ const { logger } = ctx;
93
+ if (!token) {
94
+ return;
95
+ }
96
+ const cloudApiService = await cloudApiFactory(ctx, token);
97
+ const existingConfig = await getLocalConfig(ctx);
98
+ const shouldRelink = await promptForRelink(ctx, cloudApiService, existingConfig);
99
+ if (!shouldRelink) {
100
+ return;
101
+ }
102
+ await trackEvent(ctx, cloudApiService, 'willLinkProject', {});
103
+ const projects = await getProjectsList(ctx, cloudApiService, existingConfig);
104
+ if (!projects) {
105
+ return;
106
+ }
107
+ const answer = await getUserSelection(ctx, projects);
108
+ if (!answer) {
109
+ return;
110
+ }
111
+ try {
112
+ const { confirmAction } = await inquirer.prompt([
113
+ {
114
+ type: 'confirm',
115
+ name: 'confirmAction',
116
+ message: 'Warning: Once linked, deploying from CLI will replace the existing project and its data. Confirm to proceed:',
117
+ default: false
118
+ }
119
+ ]);
120
+ if (!confirmAction) {
121
+ await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
122
+ cancelledProjectName: answer.linkProject.name,
123
+ currentProjectName: existingConfig ? existingConfig.project?.name : null
124
+ });
125
+ return;
126
+ }
127
+ await save({
128
+ project: answer.linkProject
129
+ });
130
+ logger.log(` You have successfully linked your project to ${chalk.cyan(answer.linkProject.displayName)}. You are now able to deploy your project.`);
131
+ await trackEvent(ctx, cloudApiService, 'didLinkProject', {
132
+ projectInternalName: answer.linkProject
133
+ });
134
+ } catch (e) {
135
+ logger.debug('Failed to link project', e);
136
+ logger.error('An error occurred while linking the project.');
137
+ await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
138
+ projectInternalName: answer.linkProject
139
+ });
140
+ }
141
+ });
142
+
143
+ export { action as default };
144
+ //# sourceMappingURL=action.mjs.map