@jahia/jahia-cli 0.1.4 → 0.3.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 (348) hide show
  1. package/README.md +271 -56
  2. package/bin/dev.js +5 -1
  3. package/dist/commands/config/init.d.ts +12 -0
  4. package/dist/commands/config/init.d.ts.map +1 -0
  5. package/dist/commands/config/init.js +76 -0
  6. package/dist/commands/config/init.js.map +1 -0
  7. package/dist/commands/environment/create.d.ts +27 -0
  8. package/dist/commands/environment/create.d.ts.map +1 -0
  9. package/dist/commands/environment/create.js +192 -0
  10. package/dist/commands/environment/create.js.map +1 -0
  11. package/dist/commands/environment/delete.d.ts +12 -0
  12. package/dist/commands/environment/delete.d.ts.map +1 -0
  13. package/dist/commands/environment/delete.js +69 -0
  14. package/dist/commands/environment/delete.js.map +1 -0
  15. package/dist/commands/environment/doctor.d.ts +13 -0
  16. package/dist/commands/environment/doctor.d.ts.map +1 -0
  17. package/dist/commands/environment/doctor.js +63 -0
  18. package/dist/commands/environment/doctor.js.map +1 -0
  19. package/dist/commands/environment/export.d.ts +35 -0
  20. package/dist/commands/environment/export.d.ts.map +1 -0
  21. package/dist/commands/environment/export.js +127 -0
  22. package/dist/commands/environment/export.js.map +1 -0
  23. package/dist/commands/environment/list.d.ts +11 -0
  24. package/dist/commands/environment/list.d.ts.map +1 -0
  25. package/dist/commands/environment/list.js +70 -0
  26. package/dist/commands/environment/list.js.map +1 -0
  27. package/dist/commands/environment/logs.d.ts +13 -0
  28. package/dist/commands/environment/logs.d.ts.map +1 -0
  29. package/dist/commands/environment/logs.js +77 -0
  30. package/dist/commands/environment/logs.js.map +1 -0
  31. package/dist/commands/environment/start.d.ts +12 -0
  32. package/dist/commands/environment/start.d.ts.map +1 -0
  33. package/dist/commands/environment/start.js +71 -0
  34. package/dist/commands/environment/start.js.map +1 -0
  35. package/dist/commands/environment/stop.d.ts +12 -0
  36. package/dist/commands/environment/stop.d.ts.map +1 -0
  37. package/dist/commands/environment/stop.js +71 -0
  38. package/dist/commands/environment/stop.js.map +1 -0
  39. package/dist/commands/init.d.ts +39 -0
  40. package/dist/commands/init.d.ts.map +1 -0
  41. package/dist/commands/init.js +178 -0
  42. package/dist/commands/init.js.map +1 -0
  43. package/dist/commands/jahia/alive.d.ts +18 -0
  44. package/dist/commands/jahia/alive.d.ts.map +1 -0
  45. package/dist/commands/jahia/alive.js +118 -0
  46. package/dist/commands/jahia/alive.js.map +1 -0
  47. package/dist/commands/jahia/provision.d.ts +68 -0
  48. package/dist/commands/jahia/provision.d.ts.map +1 -0
  49. package/dist/commands/jahia/provision.js +352 -0
  50. package/dist/commands/jahia/provision.js.map +1 -0
  51. package/dist/commands/tests/artifacts.d.ts +25 -0
  52. package/dist/commands/tests/artifacts.d.ts.map +1 -0
  53. package/dist/commands/tests/artifacts.js +112 -0
  54. package/dist/commands/tests/artifacts.js.map +1 -0
  55. package/dist/commands/tests/build.d.ts +30 -0
  56. package/dist/commands/tests/build.d.ts.map +1 -0
  57. package/dist/commands/tests/build.js +90 -0
  58. package/dist/commands/tests/build.js.map +1 -0
  59. package/dist/commands/tests/init.d.ts +56 -0
  60. package/dist/commands/tests/init.d.ts.map +1 -0
  61. package/dist/commands/tests/init.js +195 -0
  62. package/dist/commands/tests/init.js.map +1 -0
  63. package/dist/commands/tests/run.d.ts +28 -0
  64. package/dist/commands/tests/run.d.ts.map +1 -0
  65. package/dist/commands/tests/run.js +166 -0
  66. package/dist/commands/tests/run.js.map +1 -0
  67. package/dist/commands/workflow/init.d.ts +21 -0
  68. package/dist/commands/workflow/init.d.ts.map +1 -0
  69. package/dist/commands/workflow/init.js +84 -0
  70. package/dist/commands/workflow/init.js.map +1 -0
  71. package/dist/commands/workflow/run.d.ts +22 -0
  72. package/dist/commands/workflow/run.d.ts.map +1 -0
  73. package/dist/commands/workflow/run.js +111 -0
  74. package/dist/commands/workflow/run.js.map +1 -0
  75. package/dist/lib/artifacts/collect-all.d.ts +17 -0
  76. package/dist/lib/artifacts/collect-all.d.ts.map +1 -0
  77. package/dist/lib/artifacts/collect-all.js +107 -0
  78. package/dist/lib/artifacts/collect-all.js.map +1 -0
  79. package/dist/lib/artifacts/copy-container-artifacts.d.ts +13 -0
  80. package/dist/lib/artifacts/copy-container-artifacts.d.ts.map +1 -0
  81. package/dist/lib/artifacts/copy-container-artifacts.js +48 -0
  82. package/dist/lib/artifacts/copy-container-artifacts.js.map +1 -0
  83. package/dist/lib/artifacts/fetch-container-logs.d.ts +17 -0
  84. package/dist/lib/artifacts/fetch-container-logs.d.ts.map +1 -0
  85. package/dist/lib/artifacts/fetch-container-logs.js +36 -0
  86. package/dist/lib/artifacts/fetch-container-logs.js.map +1 -0
  87. package/dist/lib/artifacts/index.d.ts +6 -0
  88. package/dist/lib/artifacts/index.d.ts.map +1 -0
  89. package/dist/lib/artifacts/index.js +5 -0
  90. package/dist/lib/artifacts/index.js.map +1 -0
  91. package/dist/lib/artifacts/query-vlogs.d.ts +14 -0
  92. package/dist/lib/artifacts/query-vlogs.d.ts.map +1 -0
  93. package/dist/lib/artifacts/query-vlogs.js +33 -0
  94. package/dist/lib/artifacts/query-vlogs.js.map +1 -0
  95. package/dist/lib/artifacts/types.d.ts +28 -0
  96. package/dist/lib/artifacts/types.d.ts.map +1 -0
  97. package/dist/lib/artifacts/types.js +2 -0
  98. package/dist/lib/artifacts/types.js.map +1 -0
  99. package/dist/lib/components/cypress.d.ts +16 -0
  100. package/dist/lib/components/cypress.d.ts.map +1 -0
  101. package/dist/lib/components/cypress.js +35 -0
  102. package/dist/lib/components/cypress.js.map +1 -0
  103. package/dist/lib/components/index.d.ts +59 -0
  104. package/dist/lib/components/index.d.ts.map +1 -0
  105. package/dist/lib/components/index.js +114 -0
  106. package/dist/lib/components/index.js.map +1 -0
  107. package/dist/lib/components/jahia.d.ts +3 -0
  108. package/dist/lib/components/jahia.d.ts.map +1 -0
  109. package/dist/lib/components/jahia.js +38 -0
  110. package/dist/lib/components/jahia.js.map +1 -0
  111. package/dist/lib/components/smtp-server.d.ts +3 -0
  112. package/dist/lib/components/smtp-server.d.ts.map +1 -0
  113. package/dist/lib/components/smtp-server.js +30 -0
  114. package/dist/lib/components/smtp-server.js.map +1 -0
  115. package/dist/lib/components/types.d.ts +101 -0
  116. package/dist/lib/components/types.d.ts.map +1 -0
  117. package/dist/lib/components/types.js +2 -0
  118. package/dist/lib/components/types.js.map +1 -0
  119. package/dist/lib/components/victorialogs.d.ts +3 -0
  120. package/dist/lib/components/victorialogs.d.ts.map +1 -0
  121. package/dist/lib/components/victorialogs.js +29 -0
  122. package/dist/lib/components/victorialogs.js.map +1 -0
  123. package/dist/lib/config/build-blank-config.d.ts +6 -0
  124. package/dist/lib/config/build-blank-config.d.ts.map +1 -0
  125. package/dist/lib/config/build-blank-config.js +19 -0
  126. package/dist/lib/config/build-blank-config.js.map +1 -0
  127. package/dist/lib/config/config-to-yaml-with-comments.d.ts +11 -0
  128. package/dist/lib/config/config-to-yaml-with-comments.d.ts.map +1 -0
  129. package/dist/lib/config/config-to-yaml-with-comments.js +87 -0
  130. package/dist/lib/config/config-to-yaml-with-comments.js.map +1 -0
  131. package/dist/lib/config/config-to-yaml.d.ts +7 -0
  132. package/dist/lib/config/config-to-yaml.d.ts.map +1 -0
  133. package/dist/lib/config/config-to-yaml.js +37 -0
  134. package/dist/lib/config/config-to-yaml.js.map +1 -0
  135. package/dist/lib/config/defaults.d.ts +15 -0
  136. package/dist/lib/config/defaults.d.ts.map +1 -0
  137. package/dist/lib/config/defaults.js +19 -0
  138. package/dist/lib/config/defaults.js.map +1 -0
  139. package/dist/lib/config/export-config.d.ts +15 -0
  140. package/dist/lib/config/export-config.d.ts.map +1 -0
  141. package/dist/lib/config/export-config.js +27 -0
  142. package/dist/lib/config/export-config.js.map +1 -0
  143. package/dist/lib/config/initialize-config-file.d.ts +12 -0
  144. package/dist/lib/config/initialize-config-file.d.ts.map +1 -0
  145. package/dist/lib/config/initialize-config-file.js +16 -0
  146. package/dist/lib/config/initialize-config-file.js.map +1 -0
  147. package/dist/lib/config/parser.d.ts +59 -0
  148. package/dist/lib/config/parser.d.ts.map +1 -0
  149. package/dist/lib/config/parser.js +281 -0
  150. package/dist/lib/config/parser.js.map +1 -0
  151. package/dist/lib/config/resolve-env-vars.d.ts +29 -0
  152. package/dist/lib/config/resolve-env-vars.d.ts.map +1 -0
  153. package/dist/lib/config/resolve-env-vars.js +47 -0
  154. package/dist/lib/config/resolve-env-vars.js.map +1 -0
  155. package/dist/lib/config/types.d.ts +120 -0
  156. package/dist/lib/config/types.d.ts.map +1 -0
  157. package/dist/lib/config/types.js +2 -0
  158. package/dist/lib/config/types.js.map +1 -0
  159. package/dist/lib/config/with-tests-version.d.ts +6 -0
  160. package/dist/lib/config/with-tests-version.d.ts.map +1 -0
  161. package/dist/lib/config/with-tests-version.js +11 -0
  162. package/dist/lib/config/with-tests-version.js.map +1 -0
  163. package/dist/lib/output/formatter.d.ts +38 -0
  164. package/dist/lib/output/formatter.d.ts.map +1 -0
  165. package/dist/lib/output/formatter.js +172 -0
  166. package/dist/lib/output/formatter.js.map +1 -0
  167. package/dist/lib/providers/docker/container.d.ts +63 -0
  168. package/dist/lib/providers/docker/container.d.ts.map +1 -0
  169. package/dist/lib/providers/docker/container.js +105 -0
  170. package/dist/lib/providers/docker/container.js.map +1 -0
  171. package/dist/lib/providers/docker/get-container-logs.d.ts +5 -0
  172. package/dist/lib/providers/docker/get-container-logs.d.ts.map +1 -0
  173. package/dist/lib/providers/docker/get-container-logs.js +17 -0
  174. package/dist/lib/providers/docker/get-container-logs.js.map +1 -0
  175. package/dist/lib/providers/docker/index.d.ts +8 -0
  176. package/dist/lib/providers/docker/index.d.ts.map +1 -0
  177. package/dist/lib/providers/docker/index.js +424 -0
  178. package/dist/lib/providers/docker/index.js.map +1 -0
  179. package/dist/lib/providers/docker/network.d.ts +17 -0
  180. package/dist/lib/providers/docker/network.d.ts.map +1 -0
  181. package/dist/lib/providers/docker/network.js +36 -0
  182. package/dist/lib/providers/docker/network.js.map +1 -0
  183. package/dist/lib/providers/docker/start-container.d.ts +5 -0
  184. package/dist/lib/providers/docker/start-container.d.ts.map +1 -0
  185. package/dist/lib/providers/docker/start-container.js +10 -0
  186. package/dist/lib/providers/docker/start-container.js.map +1 -0
  187. package/dist/lib/providers/docker/stop-container.d.ts +5 -0
  188. package/dist/lib/providers/docker/stop-container.d.ts.map +1 -0
  189. package/dist/lib/providers/docker/stop-container.js +10 -0
  190. package/dist/lib/providers/docker/stop-container.js.map +1 -0
  191. package/dist/lib/providers/docker/volume.d.ts +13 -0
  192. package/dist/lib/providers/docker/volume.d.ts.map +1 -0
  193. package/dist/lib/providers/docker/volume.js +23 -0
  194. package/dist/lib/providers/docker/volume.js.map +1 -0
  195. package/dist/lib/providers/index.d.ts +13 -0
  196. package/dist/lib/providers/index.d.ts.map +1 -0
  197. package/dist/lib/providers/index.js +22 -0
  198. package/dist/lib/providers/index.js.map +1 -0
  199. package/dist/lib/providers/jahiacloudv1/index.d.ts +7 -0
  200. package/dist/lib/providers/jahiacloudv1/index.d.ts.map +1 -0
  201. package/dist/lib/providers/jahiacloudv1/index.js +16 -0
  202. package/dist/lib/providers/jahiacloudv1/index.js.map +1 -0
  203. package/dist/lib/providers/types.d.ts +84 -0
  204. package/dist/lib/providers/types.d.ts.map +1 -0
  205. package/dist/lib/providers/types.js +2 -0
  206. package/dist/lib/providers/types.js.map +1 -0
  207. package/dist/lib/provisioning/detect-manifest-source.d.ts +7 -0
  208. package/dist/lib/provisioning/detect-manifest-source.d.ts.map +1 -0
  209. package/dist/lib/provisioning/detect-manifest-source.js +6 -0
  210. package/dist/lib/provisioning/detect-manifest-source.js.map +1 -0
  211. package/dist/lib/provisioning/fetch-manifest.d.ts +9 -0
  212. package/dist/lib/provisioning/fetch-manifest.d.ts.map +1 -0
  213. package/dist/lib/provisioning/fetch-manifest.js +17 -0
  214. package/dist/lib/provisioning/fetch-manifest.js.map +1 -0
  215. package/dist/lib/provisioning/filter-files.d.ts +7 -0
  216. package/dist/lib/provisioning/filter-files.d.ts.map +1 -0
  217. package/dist/lib/provisioning/filter-files.js +14 -0
  218. package/dist/lib/provisioning/filter-files.js.map +1 -0
  219. package/dist/lib/provisioning/read-manifest.d.ts +9 -0
  220. package/dist/lib/provisioning/read-manifest.d.ts.map +1 -0
  221. package/dist/lib/provisioning/read-manifest.js +12 -0
  222. package/dist/lib/provisioning/read-manifest.js.map +1 -0
  223. package/dist/lib/provisioning/resolve-asset-paths.d.ts +7 -0
  224. package/dist/lib/provisioning/resolve-asset-paths.d.ts.map +1 -0
  225. package/dist/lib/provisioning/resolve-asset-paths.js +22 -0
  226. package/dist/lib/provisioning/resolve-asset-paths.js.map +1 -0
  227. package/dist/lib/provisioning/submit-file-action.d.ts +29 -0
  228. package/dist/lib/provisioning/submit-file-action.d.ts.map +1 -0
  229. package/dist/lib/provisioning/submit-file-action.js +75 -0
  230. package/dist/lib/provisioning/submit-file-action.js.map +1 -0
  231. package/dist/lib/provisioning/submit-provisioning.d.ts +12 -0
  232. package/dist/lib/provisioning/submit-provisioning.d.ts.map +1 -0
  233. package/dist/lib/provisioning/submit-provisioning.js +70 -0
  234. package/dist/lib/provisioning/submit-provisioning.js.map +1 -0
  235. package/dist/lib/provisioning/types.d.ts +45 -0
  236. package/dist/lib/provisioning/types.d.ts.map +1 -0
  237. package/dist/lib/provisioning/types.js +2 -0
  238. package/dist/lib/provisioning/types.js.map +1 -0
  239. package/dist/lib/sam/index.d.ts +4 -0
  240. package/dist/lib/sam/index.d.ts.map +1 -0
  241. package/dist/lib/sam/index.js +3 -0
  242. package/dist/lib/sam/index.js.map +1 -0
  243. package/dist/lib/sam/query-sam-status.d.ts +6 -0
  244. package/dist/lib/sam/query-sam-status.d.ts.map +1 -0
  245. package/dist/lib/sam/query-sam-status.js +54 -0
  246. package/dist/lib/sam/query-sam-status.js.map +1 -0
  247. package/dist/lib/sam/types.d.ts +41 -0
  248. package/dist/lib/sam/types.d.ts.map +1 -0
  249. package/dist/lib/sam/types.js +2 -0
  250. package/dist/lib/sam/types.js.map +1 -0
  251. package/dist/lib/sam/wait-for-sam.d.ts +7 -0
  252. package/dist/lib/sam/wait-for-sam.d.ts.map +1 -0
  253. package/dist/lib/sam/wait-for-sam.js +31 -0
  254. package/dist/lib/sam/wait-for-sam.js.map +1 -0
  255. package/dist/lib/state/delete-state.d.ts +6 -0
  256. package/dist/lib/state/delete-state.d.ts.map +1 -0
  257. package/dist/lib/state/delete-state.js +16 -0
  258. package/dist/lib/state/delete-state.js.map +1 -0
  259. package/dist/lib/state/get-active-environment.d.ts +6 -0
  260. package/dist/lib/state/get-active-environment.d.ts.map +1 -0
  261. package/dist/lib/state/get-active-environment.js +9 -0
  262. package/dist/lib/state/get-active-environment.js.map +1 -0
  263. package/dist/lib/state/get-jahia-connection-defaults.d.ts +16 -0
  264. package/dist/lib/state/get-jahia-connection-defaults.d.ts.map +1 -0
  265. package/dist/lib/state/get-jahia-connection-defaults.js +28 -0
  266. package/dist/lib/state/get-jahia-connection-defaults.js.map +1 -0
  267. package/dist/lib/state/has-active-environment.d.ts +5 -0
  268. package/dist/lib/state/has-active-environment.d.ts.map +1 -0
  269. package/dist/lib/state/has-active-environment.js +9 -0
  270. package/dist/lib/state/has-active-environment.js.map +1 -0
  271. package/dist/lib/state/index.d.ts +11 -0
  272. package/dist/lib/state/index.d.ts.map +1 -0
  273. package/dist/lib/state/index.js +9 -0
  274. package/dist/lib/state/index.js.map +1 -0
  275. package/dist/lib/state/load-state.d.ts +7 -0
  276. package/dist/lib/state/load-state.d.ts.map +1 -0
  277. package/dist/lib/state/load-state.js +17 -0
  278. package/dist/lib/state/load-state.js.map +1 -0
  279. package/dist/lib/state/reconcile-with-docker.d.ts +19 -0
  280. package/dist/lib/state/reconcile-with-docker.d.ts.map +1 -0
  281. package/dist/lib/state/reconcile-with-docker.js +36 -0
  282. package/dist/lib/state/reconcile-with-docker.js.map +1 -0
  283. package/dist/lib/state/save-state.d.ts +7 -0
  284. package/dist/lib/state/save-state.d.ts.map +1 -0
  285. package/dist/lib/state/save-state.js +13 -0
  286. package/dist/lib/state/save-state.js.map +1 -0
  287. package/dist/lib/state/state-file-path.d.ts +8 -0
  288. package/dist/lib/state/state-file-path.d.ts.map +1 -0
  289. package/dist/lib/state/state-file-path.js +14 -0
  290. package/dist/lib/state/state-file-path.js.map +1 -0
  291. package/dist/lib/state/state-flag.d.ts +6 -0
  292. package/dist/lib/state/state-flag.d.ts.map +1 -0
  293. package/dist/lib/state/state-flag.js +12 -0
  294. package/dist/lib/state/state-flag.js.map +1 -0
  295. package/dist/lib/state/types.d.ts +30 -0
  296. package/dist/lib/state/types.d.ts.map +1 -0
  297. package/dist/lib/state/types.js +2 -0
  298. package/dist/lib/state/types.js.map +1 -0
  299. package/dist/lib/tests/build-image.d.ts +33 -0
  300. package/dist/lib/tests/build-image.d.ts.map +1 -0
  301. package/dist/lib/tests/build-image.js +59 -0
  302. package/dist/lib/tests/build-image.js.map +1 -0
  303. package/dist/lib/tests/clone-scaffolding.d.ts +16 -0
  304. package/dist/lib/tests/clone-scaffolding.d.ts.map +1 -0
  305. package/dist/lib/tests/clone-scaffolding.js +64 -0
  306. package/dist/lib/tests/clone-scaffolding.js.map +1 -0
  307. package/dist/lib/tests/exclusion-list.d.ts +11 -0
  308. package/dist/lib/tests/exclusion-list.d.ts.map +1 -0
  309. package/dist/lib/tests/exclusion-list.js +19 -0
  310. package/dist/lib/tests/exclusion-list.js.map +1 -0
  311. package/dist/lib/tests/gitignore-manager.d.ts +21 -0
  312. package/dist/lib/tests/gitignore-manager.d.ts.map +1 -0
  313. package/dist/lib/tests/gitignore-manager.js +47 -0
  314. package/dist/lib/tests/gitignore-manager.js.map +1 -0
  315. package/dist/lib/tests/index.d.ts +6 -0
  316. package/dist/lib/tests/index.d.ts.map +1 -0
  317. package/dist/lib/tests/index.js +5 -0
  318. package/dist/lib/tests/index.js.map +1 -0
  319. package/dist/lib/tests/sync-missing-files.d.ts +3 -0
  320. package/dist/lib/tests/sync-missing-files.d.ts.map +1 -0
  321. package/dist/lib/tests/sync-missing-files.js +65 -0
  322. package/dist/lib/tests/sync-missing-files.js.map +1 -0
  323. package/dist/lib/tests/types.d.ts +26 -0
  324. package/dist/lib/tests/types.d.ts.map +1 -0
  325. package/dist/lib/tests/types.js +2 -0
  326. package/dist/lib/tests/types.js.map +1 -0
  327. package/dist/lib/workflow/build-sample-workflow.d.ts +8 -0
  328. package/dist/lib/workflow/build-sample-workflow.d.ts.map +1 -0
  329. package/dist/lib/workflow/build-sample-workflow.js +39 -0
  330. package/dist/lib/workflow/build-sample-workflow.js.map +1 -0
  331. package/dist/lib/workflow/executor.d.ts +23 -0
  332. package/dist/lib/workflow/executor.d.ts.map +1 -0
  333. package/dist/lib/workflow/executor.js +129 -0
  334. package/dist/lib/workflow/executor.js.map +1 -0
  335. package/dist/lib/workflow/merge-workflow-into-config.d.ts +7 -0
  336. package/dist/lib/workflow/merge-workflow-into-config.d.ts.map +1 -0
  337. package/dist/lib/workflow/merge-workflow-into-config.js +9 -0
  338. package/dist/lib/workflow/merge-workflow-into-config.js.map +1 -0
  339. package/dist/lib/workflow/resolve-workflow.d.ts +20 -0
  340. package/dist/lib/workflow/resolve-workflow.d.ts.map +1 -0
  341. package/dist/lib/workflow/resolve-workflow.js +38 -0
  342. package/dist/lib/workflow/resolve-workflow.js.map +1 -0
  343. package/dist/lib/workflow/types.d.ts +30 -0
  344. package/dist/lib/workflow/types.d.ts.map +1 -0
  345. package/dist/lib/workflow/types.js +25 -0
  346. package/dist/lib/workflow/types.js.map +1 -0
  347. package/oclif.manifest.json +1057 -1
  348. package/package.json +11 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-container-artifacts.js","sourceRoot":"","sources":["../../../src/lib/artifacts/copy-container-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,MAK5C,EAA0C,EAAE;IAC3C,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAC/C,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,iFAAiF;YACjF,0EAA0E;YAC1E,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM,aAAa,CAAC,QAAQ,EAAE;oBAC5B,IAAI;oBACJ,GAAG,MAAM,CAAC,WAAW,IAAI,YAAY,IAAI;oBACzC,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,aAAa,CAAC,QAAQ,EAAE;oBAC5B,IAAI;oBACJ,GAAG,MAAM,CAAC,WAAW,IAAI,YAAY,EAAE;oBACvC,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;YACD,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,EACD,OAAO,CAAC,OAAO,CAAC,EAAmC,CAAC,CACrD,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Collects logs for a container, trying VictoriaLogs first with `docker logs` fallback.
3
+ *
4
+ * Note: containers started with the syslog log driver will NOT have local Docker logs,
5
+ * so the `docker logs` fallback only works for infrastructure containers (e.g. VictoriaLogs
6
+ * itself) that use the default json-file driver.
7
+ */
8
+ export declare const fetchContainerLogs: (params: {
9
+ readonly containerId: string;
10
+ readonly componentName: string;
11
+ readonly envName: string;
12
+ readonly vlogsBaseUrl: string | undefined;
13
+ }) => Promise<{
14
+ readonly content: string;
15
+ readonly source: "victorialogs" | "docker";
16
+ }>;
17
+ //# sourceMappingURL=fetch-container-logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-container-logs.d.ts","sourceRoot":"","sources":["../../../src/lib/artifacts/fetch-container-logs.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAU,QAAQ;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C,KAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,QAAQ,CAAA;CAAE,CAuBnF,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { promisify } from 'node:util';
3
+ import { queryVictoriaLogs } from './query-vlogs.js';
4
+ const execFileAsync = promisify(execFile);
5
+ /**
6
+ * Collects logs for a container, trying VictoriaLogs first with `docker logs` fallback.
7
+ *
8
+ * Note: containers started with the syslog log driver will NOT have local Docker logs,
9
+ * so the `docker logs` fallback only works for infrastructure containers (e.g. VictoriaLogs
10
+ * itself) that use the default json-file driver.
11
+ */
12
+ export const fetchContainerLogs = async (params) => {
13
+ // Try VictoriaLogs first
14
+ if (params.vlogsBaseUrl !== undefined) {
15
+ try {
16
+ const content = await queryVictoriaLogs({
17
+ vlogsBaseUrl: params.vlogsBaseUrl,
18
+ envName: params.envName,
19
+ componentName: params.componentName,
20
+ });
21
+ return { content, source: 'victorialogs' };
22
+ }
23
+ catch {
24
+ // VictoriaLogs unavailable — try docker logs fallback
25
+ }
26
+ }
27
+ // Fallback to docker logs (works for containers with default log driver)
28
+ const { stdout, stderr } = await execFileAsync('docker', [
29
+ 'logs',
30
+ '--tail',
31
+ '10000',
32
+ params.containerId,
33
+ ]);
34
+ return { content: stdout + stderr, source: 'docker' };
35
+ };
36
+ //# sourceMappingURL=fetch-container-logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-container-logs.js","sourceRoot":"","sources":["../../../src/lib/artifacts/fetch-container-logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAKxC,EAAqF,EAAE;IACtF,yBAAyB;IACzB,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;gBACtC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE;QACvD,MAAM;QACN,QAAQ;QACR,OAAO;QACP,MAAM,CAAC,WAAW;KACnB,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACxD,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { collectAllArtifacts, resolveVlogsUrl } from './collect-all.js';
2
+ export { copyContainerArtifacts } from './copy-container-artifacts.js';
3
+ export { fetchContainerLogs } from './fetch-container-logs.js';
4
+ export { queryVictoriaLogs } from './query-vlogs.js';
5
+ export type { ArtifactCopyResult, CollectionResult, ComponentCollectionResult } from './types.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/artifacts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { collectAllArtifacts, resolveVlogsUrl } from './collect-all.js';
2
+ export { copyContainerArtifacts } from './copy-container-artifacts.js';
3
+ export { fetchContainerLogs } from './fetch-container-logs.js';
4
+ export { queryVictoriaLogs } from './query-vlogs.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/artifacts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Queries VictoriaLogs for container logs using the syslog tag.
3
+ *
4
+ * The Docker syslog driver sets the tag to `jahia-cli-{envName}-{{.Name}}`
5
+ * where `{{.Name}}` is the Docker container name `jahia-cli-{envName}-{componentName}`.
6
+ * VictoriaLogs stores this in the `app_name` field (rfc5424 APP-NAME).
7
+ */
8
+ export declare const queryVictoriaLogs: (params: {
9
+ readonly vlogsBaseUrl: string;
10
+ readonly envName: string;
11
+ readonly componentName: string;
12
+ readonly limit?: number | undefined;
13
+ }) => Promise<string>;
14
+ //# sourceMappingURL=query-vlogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-vlogs.d.ts","sourceRoot":"","sources":["../../../src/lib/artifacts/query-vlogs.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAU,QAAQ;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,KAAG,OAAO,CAAC,MAAM,CAwBjB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { promisify } from 'node:util';
3
+ const execFileAsync = promisify(execFile);
4
+ /**
5
+ * Queries VictoriaLogs for container logs using the syslog tag.
6
+ *
7
+ * The Docker syslog driver sets the tag to `jahia-cli-{envName}-{{.Name}}`
8
+ * where `{{.Name}}` is the Docker container name `jahia-cli-{envName}-{componentName}`.
9
+ * VictoriaLogs stores this in the `app_name` field (rfc5424 APP-NAME).
10
+ */
11
+ export const queryVictoriaLogs = async (params) => {
12
+ const containerDockerName = `jahia-cli-${params.envName}-${params.componentName}`;
13
+ const syslogTag = `jahia-cli-${params.envName}-${containerDockerName}`;
14
+ const limit = params.limit ?? 10000;
15
+ const query = `app_name:${syslogTag}`;
16
+ const url = `${params.vlogsBaseUrl}/select/logsql/query?query=${encodeURIComponent(query)}&limit=${String(limit)}`;
17
+ const { stdout } = await execFileAsync('curl', ['-sf', url], {
18
+ maxBuffer: 50 * 1024 * 1024,
19
+ });
20
+ // Extract just the _msg field from each JSON line for readable log output
21
+ const lines = stdout.trim().split('\n').filter((line) => line.length > 0);
22
+ const messages = lines.map((line) => {
23
+ try {
24
+ const parsed = JSON.parse(line);
25
+ return typeof parsed['_msg'] === 'string' ? parsed['_msg'] : line;
26
+ }
27
+ catch {
28
+ return line;
29
+ }
30
+ });
31
+ return messages.join('\n');
32
+ };
33
+ //# sourceMappingURL=query-vlogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-vlogs.js","sourceRoot":"","sources":["../../../src/lib/artifacts/query-vlogs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,MAKvC,EAAmB,EAAE;IACpB,MAAM,mBAAmB,GAAG,aAAa,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;IAClF,MAAM,SAAS,GAAG,aAAa,MAAM,CAAC,OAAO,IAAI,mBAAmB,EAAE,CAAC;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;IAEpC,MAAM,KAAK,GAAG,YAAY,SAAS,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,YAAY,8BAA8B,kBAAkB,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAEnH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;QAC3D,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;KAC5B,CAAC,CAAC;IAEH,0EAA0E;IAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;YAC3D,OAAO,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Result of copying a single artifact path from a container.
3
+ */
4
+ export interface ArtifactCopyResult {
5
+ readonly path: string;
6
+ readonly success: boolean;
7
+ readonly error?: string | undefined;
8
+ }
9
+ /**
10
+ * Outcome of collecting all artifacts for a single component.
11
+ */
12
+ export interface ComponentCollectionResult {
13
+ readonly componentName: string;
14
+ readonly containerId: string;
15
+ readonly logFile: string | undefined;
16
+ readonly logSource: 'victorialogs' | 'docker' | undefined;
17
+ readonly logError?: string | undefined;
18
+ readonly artifacts: readonly ArtifactCopyResult[];
19
+ }
20
+ /**
21
+ * Overall result of collecting artifacts for the entire environment.
22
+ */
23
+ export interface CollectionResult {
24
+ readonly envName: string;
25
+ readonly outputDir: string;
26
+ readonly components: readonly ComponentCollectionResult[];
27
+ }
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/artifacts/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC3D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/artifacts/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { ComponentDefinition } from './types.js';
2
+ /**
3
+ * Cypress test runner component.
4
+ *
5
+ * This component runs Cypress end-to-end tests against a Jahia environment.
6
+ * Unlike long-lived services, the test container runs to completion then exits.
7
+ * The container is NOT auto-removed — it's kept for post-run debugging/inspection.
8
+ *
9
+ * The image is typically built locally via `tests build` and not pulled from a registry.
10
+ * Override `image` in config to use a custom test image.
11
+ *
12
+ * Environment variables use in-network Docker aliases (e.g. `http://jahia:8080`)
13
+ * since the test container shares the environment's Docker network.
14
+ */
15
+ export declare const cypress: ComponentDefinition;
16
+ //# sourceMappingURL=cypress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cypress.d.ts","sourceRoot":"","sources":["../../../src/lib/components/cypress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,EAAE,mBAoBrB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Cypress test runner component.
3
+ *
4
+ * This component runs Cypress end-to-end tests against a Jahia environment.
5
+ * Unlike long-lived services, the test container runs to completion then exits.
6
+ * The container is NOT auto-removed — it's kept for post-run debugging/inspection.
7
+ *
8
+ * The image is typically built locally via `tests build` and not pulled from a registry.
9
+ * Override `image` in config to use a custom test image.
10
+ *
11
+ * Environment variables use in-network Docker aliases (e.g. `http://jahia:8080`)
12
+ * since the test container shares the environment's Docker network.
13
+ */
14
+ export const cypress = {
15
+ name: 'cypress',
16
+ description: 'Cypress end-to-end test runner',
17
+ image: 'jahia-tests',
18
+ defaultTag: 'latest',
19
+ ports: [],
20
+ env: {
21
+ JAHIA_URL: 'http://jahia:8080',
22
+ SUPER_USER_PASSWORD: '${SUPER_USER_PASSWORD:-root1234}',
23
+ NEXUS_USERNAME: '${NEXUS_USERNAME:-}',
24
+ NEXUS_PASSWORD: '${NEXUS_PASSWORD:-}',
25
+ MANIFEST: '${MANIFEST:-}',
26
+ },
27
+ volumes: [],
28
+ dependsOn: ['jahia'],
29
+ networkAliases: ['cypress'],
30
+ category: 'application',
31
+ isTransparent: false,
32
+ multiInstance: false,
33
+ providerSupport: ['docker'],
34
+ };
35
+ //# sourceMappingURL=cypress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cypress.js","sourceRoot":"","sources":["../../../src/lib/components/cypress.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,OAAO,GAAwB;IAC1C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,gCAAgC;IAC7C,KAAK,EAAE,aAAa;IACpB,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,EAAE;IACT,GAAG,EAAE;QACH,SAAS,EAAE,mBAAmB;QAC9B,mBAAmB,EAAE,kCAAkC;QACvD,cAAc,EAAE,qBAAqB;QACrC,cAAc,EAAE,qBAAqB;QACrC,QAAQ,EAAE,eAAe;KAC1B;IACD,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,CAAC,OAAO,CAAC;IACpB,cAAc,EAAE,CAAC,SAAS,CAAC;IAC3B,QAAQ,EAAE,aAAa;IACvB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,CAAC,QAAQ,CAAC;CAC5B,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type { ComponentCategory, ComponentDefinition, ComponentOverrides, ResolvedComponent } from './types.js';
2
+ /**
3
+ * Registry of all available components.
4
+ * To add a new component: create a file, define the ComponentDefinition, import and add here.
5
+ */
6
+ export declare const COMPONENT_REGISTRY: Readonly<Record<string, ComponentDefinition>>;
7
+ /**
8
+ * Returns all registered component names.
9
+ */
10
+ export declare const listComponentNames: () => readonly string[];
11
+ /**
12
+ * Returns all registered component definitions.
13
+ */
14
+ export declare const listComponents: () => readonly ComponentDefinition[];
15
+ /**
16
+ * Returns components that are user-selectable (not transparent infrastructure).
17
+ */
18
+ export declare const listUserSelectableComponents: () => readonly ComponentDefinition[];
19
+ /**
20
+ * Returns transparent infrastructure components (auto-deployed).
21
+ */
22
+ export declare const listTransparentComponents: () => readonly ComponentDefinition[];
23
+ /**
24
+ * Returns components matching a specific category.
25
+ */
26
+ export declare const listComponentsByCategory: (category: ComponentCategory) => readonly ComponentDefinition[];
27
+ /**
28
+ * Retrieves a component definition by name.
29
+ * Returns undefined if the component is not found.
30
+ */
31
+ export declare const getComponent: (name: string) => ComponentDefinition | undefined;
32
+ /**
33
+ * Parses a Docker image reference that may include a tag (e.g. "jahia/jahia-ee:8.3.0.0").
34
+ * Returns the image name and optional embedded tag separately.
35
+ */
36
+ export declare const parseImageReference: (ref: string) => {
37
+ readonly image: string;
38
+ readonly tag: string | undefined;
39
+ };
40
+ /**
41
+ * Resolves a component by merging its definition with user-provided overrides.
42
+ *
43
+ * The `image` override accepts the full `image:tag` format (e.g. "jahia/jahia-ee:8.3.0.0").
44
+ * When it contains a tag, that tag is used unless a separate `tag` override is also provided.
45
+ *
46
+ * Environment variables in both definition and override values support `${VAR}` and
47
+ * `${VAR:-default}` substitution from `process.env`, consistent with the workflow engine.
48
+ * This allows component definitions to reference host environment variables
49
+ * (e.g. `JAHIA_LICENSE: '${JAHIA_LICENSE:-}'`) that are resolved at container creation time.
50
+ */
51
+ export declare const resolveComponent: (definition: ComponentDefinition, overrides?: ComponentOverrides) => ResolvedComponent;
52
+ /**
53
+ * Applies envInjections from all selected components to their target components.
54
+ * Returns a new array of ResolvedComponents with injected env vars merged in.
55
+ * Dependencies are an implementation detail — callers just pass all selected components.
56
+ */
57
+ export declare const applyEnvInjections: (components: readonly ResolvedComponent[]) => readonly ResolvedComponent[];
58
+ export type { ComponentCategory, ComponentDefinition, ComponentOverrides, ResolvedComponent } from './types.js';
59
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAOhH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAK5E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,SAAS,MAAM,EAAqC,CAAC;AAE3F;;GAEG;AACH,eAAO,MAAM,cAAc,QAAO,SAAS,mBAAmB,EAC3B,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAO,SAAS,mBAAmB,EACT,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAO,SAAS,mBAAmB,EACP,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,UAAU,iBAAiB,KAAG,SAAS,mBAAmB,EACzB,CAAC;AAE3E;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,mBAAmB,GAAG,SACxC,CAAC;AAE3B;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,KACV;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAgB5D,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAC3B,YAAY,mBAAmB,EAC/B,YAAW,kBAAuB,KACjC,iBAgBF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,YAAY,SAAS,iBAAiB,EAAE,KACvC,SAAS,iBAAiB,EAsB5B,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,114 @@
1
+ import { resolveEnvVarsInRecord } from '../config/resolve-env-vars.js';
2
+ import { cypress } from './cypress.js';
3
+ import { jahia } from './jahia.js';
4
+ import { smtpServer } from './smtp-server.js';
5
+ import { victorialogs } from './victorialogs.js';
6
+ /**
7
+ * Registry of all available components.
8
+ * To add a new component: create a file, define the ComponentDefinition, import and add here.
9
+ */
10
+ export const COMPONENT_REGISTRY = {
11
+ cypress,
12
+ jahia,
13
+ 'smtp-server': smtpServer,
14
+ victorialogs,
15
+ };
16
+ /**
17
+ * Returns all registered component names.
18
+ */
19
+ export const listComponentNames = () => Object.keys(COMPONENT_REGISTRY);
20
+ /**
21
+ * Returns all registered component definitions.
22
+ */
23
+ export const listComponents = () => Object.values(COMPONENT_REGISTRY);
24
+ /**
25
+ * Returns components that are user-selectable (not transparent infrastructure).
26
+ */
27
+ export const listUserSelectableComponents = () => Object.values(COMPONENT_REGISTRY).filter((c) => !c.isTransparent);
28
+ /**
29
+ * Returns transparent infrastructure components (auto-deployed).
30
+ */
31
+ export const listTransparentComponents = () => Object.values(COMPONENT_REGISTRY).filter((c) => c.isTransparent);
32
+ /**
33
+ * Returns components matching a specific category.
34
+ */
35
+ export const listComponentsByCategory = (category) => Object.values(COMPONENT_REGISTRY).filter((c) => c.category === category);
36
+ /**
37
+ * Retrieves a component definition by name.
38
+ * Returns undefined if the component is not found.
39
+ */
40
+ export const getComponent = (name) => COMPONENT_REGISTRY[name];
41
+ /**
42
+ * Parses a Docker image reference that may include a tag (e.g. "jahia/jahia-ee:8.3.0.0").
43
+ * Returns the image name and optional embedded tag separately.
44
+ */
45
+ export const parseImageReference = (ref) => {
46
+ // A colon after a slash-separated path segment indicates a tag.
47
+ // We split on the *last* colon that isn't part of a registry port (registry:port/repo).
48
+ // Simple heuristic: if the part after the last colon contains '/' it's not a tag.
49
+ const lastColon = ref.lastIndexOf(':');
50
+ if (lastColon === -1) {
51
+ return { image: ref, tag: undefined };
52
+ }
53
+ const afterColon = ref.slice(lastColon + 1);
54
+ // If afterColon contains '/' it's likely a registry:port/repo pattern, not a tag
55
+ if (afterColon.includes('/')) {
56
+ return { image: ref, tag: undefined };
57
+ }
58
+ return { image: ref.slice(0, lastColon), tag: afterColon };
59
+ };
60
+ /**
61
+ * Resolves a component by merging its definition with user-provided overrides.
62
+ *
63
+ * The `image` override accepts the full `image:tag` format (e.g. "jahia/jahia-ee:8.3.0.0").
64
+ * When it contains a tag, that tag is used unless a separate `tag` override is also provided.
65
+ *
66
+ * Environment variables in both definition and override values support `${VAR}` and
67
+ * `${VAR:-default}` substitution from `process.env`, consistent with the workflow engine.
68
+ * This allows component definitions to reference host environment variables
69
+ * (e.g. `JAHIA_LICENSE: '${JAHIA_LICENSE:-}'`) that are resolved at container creation time.
70
+ */
71
+ export const resolveComponent = (definition, overrides = {}) => {
72
+ const parsed = overrides.image !== undefined
73
+ ? parseImageReference(overrides.image)
74
+ : undefined;
75
+ const mergedEnv = { ...definition.env, ...overrides.env };
76
+ return {
77
+ definition,
78
+ overrides,
79
+ effectiveImage: parsed?.image ?? definition.image,
80
+ effectiveTag: overrides.tag ?? parsed?.tag ?? definition.defaultTag,
81
+ effectiveEnv: resolveEnvVarsInRecord(mergedEnv),
82
+ effectivePorts: overrides.ports ?? definition.ports,
83
+ effectiveArtifacts: [...(definition.artifacts ?? []), ...(overrides.artifacts ?? [])],
84
+ };
85
+ };
86
+ /**
87
+ * Applies envInjections from all selected components to their target components.
88
+ * Returns a new array of ResolvedComponents with injected env vars merged in.
89
+ * Dependencies are an implementation detail — callers just pass all selected components.
90
+ */
91
+ export const applyEnvInjections = (components) => {
92
+ const injections = new Map();
93
+ // Collect all injections from selected components
94
+ components.forEach((c) => {
95
+ const envInjections = c.definition.envInjections;
96
+ if (envInjections === undefined)
97
+ return;
98
+ Object.entries(envInjections).forEach(([targetName, vars]) => {
99
+ const existing = injections.get(targetName) ?? {};
100
+ injections.set(targetName, { ...existing, ...vars });
101
+ });
102
+ });
103
+ // Apply injections to target components
104
+ return components.map((c) => {
105
+ const extra = injections.get(c.definition.name);
106
+ if (extra === undefined)
107
+ return c;
108
+ return {
109
+ ...c,
110
+ effectiveEnv: resolveEnvVarsInRecord({ ...c.effectiveEnv, ...extra }),
111
+ };
112
+ });
113
+ };
114
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ComponentDefinition } from './types.js';
2
+ export declare const jahia: ComponentDefinition;
3
+ //# sourceMappingURL=jahia.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jahia.d.ts","sourceRoot":"","sources":["../../../src/lib/components/jahia.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,eAAO,MAAM,KAAK,EAAE,mBAoCnB,CAAC"}
@@ -0,0 +1,38 @@
1
+ export const jahia = {
2
+ name: 'jahia',
3
+ description: 'Jahia DXM (Digital Experience Manager) processing server',
4
+ image: 'jahia/jahia-ee',
5
+ defaultTag: '8.2.1.0',
6
+ ports: [
7
+ { container: 8080, host: 8080 },
8
+ { container: 8101, host: 8101 },
9
+ ],
10
+ env: {
11
+ SUPER_USER_PASSWORD: '${SUPER_USER_PASSWORD:-root1234}',
12
+ MAX_RAM_PERCENTAGE: '${MAX_RAM_PERCENTAGE:-80}',
13
+ PROCESSING_SERVER: 'true',
14
+ JAHIA_LICENSE: '${JAHIA_LICENSE:-}',
15
+ JPDA: '${JPDA:-}',
16
+ },
17
+ volumes: [
18
+ { name: 'jahia-data', containerPath: '/var/jahia/repository' },
19
+ ],
20
+ healthcheck: {
21
+ command: [
22
+ 'CMD-SHELL',
23
+ 'curl -f http://localhost:8080/modules/healthcheck || exit 1',
24
+ ],
25
+ intervalSeconds: 30,
26
+ timeoutSeconds: 10,
27
+ retries: 10,
28
+ startPeriodSeconds: 120,
29
+ },
30
+ dependsOn: [],
31
+ networkAliases: ['jahia'],
32
+ category: 'core',
33
+ isTransparent: false,
34
+ multiInstance: false,
35
+ providerSupport: ['docker', 'jahiacloudv1'],
36
+ artifacts: ['/var/log/jahia'],
37
+ };
38
+ //# sourceMappingURL=jahia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jahia.js","sourceRoot":"","sources":["../../../src/lib/components/jahia.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAwB;IACxC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,0DAA0D;IACvE,KAAK,EAAE,gBAAgB;IACvB,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE;QACL,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QAC/B,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;KAChC;IACD,GAAG,EAAE;QACH,mBAAmB,EAAE,kCAAkC;QACvD,kBAAkB,EAAE,2BAA2B;QAC/C,iBAAiB,EAAE,MAAM;QACzB,aAAa,EAAE,oBAAoB;QACnC,IAAI,EAAE,WAAW;KAClB;IACD,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE;KAC/D;IACD,WAAW,EAAE;QACX,OAAO,EAAE;YACP,WAAW;YACX,6DAA6D;SAC9D;QACD,eAAe,EAAE,EAAE;QACnB,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,EAAE;QACX,kBAAkB,EAAE,GAAG;KACxB;IACD,SAAS,EAAE,EAAE;IACb,cAAc,EAAE,CAAC,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC3C,SAAS,EAAE,CAAC,gBAAgB,CAAC;CAC9B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ComponentDefinition } from './types.js';
2
+ export declare const smtpServer: ComponentDefinition;
3
+ //# sourceMappingURL=smtp-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smtp-server.d.ts","sourceRoot":"","sources":["../../../src/lib/components/smtp-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,eAAO,MAAM,UAAU,EAAE,mBA4BxB,CAAC"}
@@ -0,0 +1,30 @@
1
+ export const smtpServer = {
2
+ name: 'smtp-server',
3
+ description: 'Mailpit SMTP server for email testing',
4
+ image: 'axllent/mailpit',
5
+ defaultTag: 'v1.27',
6
+ ports: [
7
+ { container: 1025, host: 1025 },
8
+ { container: 8025, host: 8025 },
9
+ ],
10
+ env: {},
11
+ volumes: [],
12
+ healthcheck: {
13
+ command: ['CMD-SHELL', 'wget -qO- http://localhost:8025/api/v1/info || exit 1'],
14
+ intervalSeconds: 10,
15
+ timeoutSeconds: 3,
16
+ retries: 3,
17
+ startPeriodSeconds: 5,
18
+ },
19
+ dependsOn: [],
20
+ networkAliases: ['smtp-server'],
21
+ category: 'utility',
22
+ isTransparent: false,
23
+ multiInstance: false,
24
+ providerSupport: ['docker'],
25
+ envInjections: {
26
+ cypress: { MAILPIT_URL: '${MAILPIT_URL:-http://smtp-server:8025}' },
27
+ jahia: { SMTP_SERVER_URL: '${SMTP_SERVER_URL:-smtp://smtp-server:1025}' },
28
+ },
29
+ };
30
+ //# sourceMappingURL=smtp-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smtp-server.js","sourceRoot":"","sources":["../../../src/lib/components/smtp-server.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,uCAAuC;IACpD,KAAK,EAAE,iBAAiB;IACxB,UAAU,EAAE,OAAO;IACnB,KAAK,EAAE;QACL,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QAC/B,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;KAChC;IACD,GAAG,EAAE,EAAE;IACP,OAAO,EAAE,EAAE;IACX,WAAW,EAAE;QACX,OAAO,EAAE,CAAC,WAAW,EAAE,uDAAuD,CAAC;QAC/E,eAAe,EAAE,EAAE;QACnB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;QACV,kBAAkB,EAAE,CAAC;KACtB;IACD,SAAS,EAAE,EAAE;IACb,cAAc,EAAE,CAAC,aAAa,CAAC;IAC/B,QAAQ,EAAE,SAAS;IACnB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,CAAC,QAAQ,CAAC;IAC3B,aAAa,EAAE;QACb,OAAO,EAAE,EAAE,WAAW,EAAE,yCAAyC,EAAE;QACnE,KAAK,EAAE,EAAE,eAAe,EAAE,6CAA6C,EAAE;KAC1E;CACF,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Defines a port mapping from container port to host port.
3
+ */
4
+ export interface PortMapping {
5
+ readonly container: number;
6
+ readonly host: number;
7
+ readonly protocol?: 'tcp' | 'udp' | undefined;
8
+ }
9
+ /**
10
+ * Defines a named volume mount.
11
+ */
12
+ export interface VolumeMount {
13
+ readonly name: string;
14
+ readonly containerPath: string;
15
+ }
16
+ /**
17
+ * Defines a container healthcheck configuration.
18
+ */
19
+ export interface HealthcheckConfig {
20
+ readonly command: readonly string[];
21
+ readonly intervalSeconds: number;
22
+ readonly timeoutSeconds: number;
23
+ readonly retries: number;
24
+ readonly startPeriodSeconds: number;
25
+ }
26
+ /**
27
+ * Component categories for organizing the registry.
28
+ */
29
+ export type ComponentCategory = 'core' | 'infrastructure' | 'database' | 'search' | 'application' | 'utility' | 'custom';
30
+ /**
31
+ * Full definition of a component in the library.
32
+ * Contains all the information needed to start and manage a container.
33
+ */
34
+ export interface ComponentDefinition {
35
+ readonly name: string;
36
+ readonly description: string;
37
+ readonly image: string;
38
+ readonly defaultTag: string;
39
+ readonly ports: readonly PortMapping[];
40
+ readonly env: Readonly<Record<string, string>>;
41
+ readonly volumes: readonly VolumeMount[];
42
+ readonly healthcheck?: HealthcheckConfig | undefined;
43
+ readonly dependsOn: readonly string[];
44
+ readonly networkAliases: readonly string[];
45
+ readonly category: ComponentCategory;
46
+ readonly isTransparent: boolean;
47
+ readonly multiInstance: boolean;
48
+ readonly providerSupport: readonly ('docker' | 'jahiacloudv1')[];
49
+ readonly args?: readonly string[] | undefined;
50
+ /**
51
+ * Environment variables to inject into other components when this component is present.
52
+ * Keys are target component names, values are env var maps to merge into those components.
53
+ */
54
+ readonly envInjections?: Readonly<Record<string, Readonly<Record<string, string>>>> | undefined;
55
+ /**
56
+ * Container paths to collect as test artifacts (logs, diagnostic files, directories).
57
+ * These are copied from the container via `docker cp` during artifact collection.
58
+ * Example: ['/var/log/jahia']
59
+ */
60
+ readonly artifacts?: readonly string[] | undefined;
61
+ }
62
+ /**
63
+ * User-provided overrides for a component.
64
+ * Only the fields that differ from defaults need to be specified.
65
+ *
66
+ * The `image` field accepts the full Docker reference including tag
67
+ * (e.g. "jahia/jahia-ee:8.3.0.0" or "my-registry.example.com/jahia/jahia-ee:8.3.0.0").
68
+ * When `image` contains a tag, that tag is used unless a separate `tag` override
69
+ * is also provided — the explicit `tag` override always takes precedence.
70
+ *
71
+ * Both `image` and `tag` support environment variable substitution:
72
+ * - `${VAR}` — resolves from process.env; errors if not set
73
+ * - `${VAR:-default}` — resolves from process.env with a fallback
74
+ *
75
+ * Example:
76
+ * image: "${JAHIA_IMAGE:-jahia/jahia-ee:8.2.1.0}"
77
+ */
78
+ export interface ComponentOverrides {
79
+ readonly image?: string | undefined;
80
+ readonly tag?: string | undefined;
81
+ readonly env?: Readonly<Record<string, string>> | undefined;
82
+ readonly ports?: readonly PortMapping[] | undefined;
83
+ /**
84
+ * Additional container paths to collect as test artifacts.
85
+ * These are merged with the component definition's artifacts during resolution.
86
+ */
87
+ readonly artifacts?: readonly string[] | undefined;
88
+ }
89
+ /**
90
+ * A component with its overrides applied, ready for deployment.
91
+ */
92
+ export interface ResolvedComponent {
93
+ readonly definition: ComponentDefinition;
94
+ readonly overrides: ComponentOverrides;
95
+ readonly effectiveImage: string;
96
+ readonly effectiveTag: string;
97
+ readonly effectiveEnv: Readonly<Record<string, string>>;
98
+ readonly effectivePorts: readonly PortMapping[];
99
+ readonly effectiveArtifacts: readonly string[];
100
+ }
101
+ //# sourceMappingURL=types.d.ts.map