testcontainers 9.12.0 → 10.0.0-beta.6

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 (405) hide show
  1. package/{dist/src → build/common}/clock.js +1 -0
  2. package/build/common/clock.js.map +1 -0
  3. package/build/common/file-lock.js +58 -0
  4. package/build/common/file-lock.js.map +1 -0
  5. package/build/common/hash.d.ts +1 -0
  6. package/{dist/src → build/common}/hash.js +3 -2
  7. package/build/common/hash.js.map +1 -0
  8. package/build/common/index.d.ts +7 -0
  9. package/build/common/index.js +37 -0
  10. package/build/common/index.js.map +1 -0
  11. package/{dist/src → build/common}/logger.d.ts +5 -6
  12. package/{dist/src → build/common}/logger.js +5 -2
  13. package/build/common/logger.js.map +1 -0
  14. package/{dist/src/retry-strategy.d.ts → build/common/retry.d.ts} +3 -3
  15. package/build/common/retry.js +38 -0
  16. package/build/common/retry.js.map +1 -0
  17. package/build/common/streams.js +13 -0
  18. package/build/common/streams.js.map +1 -0
  19. package/{dist/src → build/common}/type-guards.js +1 -0
  20. package/build/common/type-guards.js.map +1 -0
  21. package/{dist/src → build/common}/uuid.js +1 -0
  22. package/build/common/uuid.js.map +1 -0
  23. package/build/container-runtime/auth/auths.d.ts +7 -0
  24. package/build/container-runtime/auth/auths.js +45 -0
  25. package/build/container-runtime/auth/auths.js.map +1 -0
  26. package/build/container-runtime/auth/cred-helpers.d.ts +6 -0
  27. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/cred-helpers.js +1 -0
  28. package/build/container-runtime/auth/cred-helpers.js.map +1 -0
  29. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/credential-provider.d.ts +3 -4
  30. package/build/container-runtime/auth/credential-provider.js +71 -0
  31. package/build/container-runtime/auth/credential-provider.js.map +1 -0
  32. package/build/container-runtime/auth/creds-store.d.ts +6 -0
  33. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/creds-store.js +1 -0
  34. package/build/container-runtime/auth/creds-store.js.map +1 -0
  35. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/get-auth-config.d.ts +1 -1
  36. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/get-auth-config.js +11 -19
  37. package/build/container-runtime/auth/get-auth-config.js.map +1 -0
  38. package/build/container-runtime/auth/registry-auth-locator.d.ts +5 -0
  39. package/build/container-runtime/auth/registry-auth-locator.js +3 -0
  40. package/build/container-runtime/auth/registry-auth-locator.js.map +1 -0
  41. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/registry-matches.js +1 -0
  42. package/build/container-runtime/auth/registry-matches.js.map +1 -0
  43. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/types.d.ts +13 -1
  44. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/types.js +1 -0
  45. package/build/container-runtime/auth/types.js.map +1 -0
  46. package/build/container-runtime/clients/client.d.ts +14 -0
  47. package/build/container-runtime/clients/client.js +105 -0
  48. package/build/container-runtime/clients/client.js.map +1 -0
  49. package/build/container-runtime/clients/compose/compose-client.d.ts +11 -0
  50. package/build/container-runtime/clients/compose/compose-client.js +238 -0
  51. package/build/container-runtime/clients/compose/compose-client.js.map +1 -0
  52. package/build/container-runtime/clients/compose/default-compose-options.d.ts +4 -0
  53. package/build/container-runtime/clients/compose/default-compose-options.js +31 -0
  54. package/build/container-runtime/clients/compose/default-compose-options.js.map +1 -0
  55. package/build/container-runtime/clients/compose/parse-compose-container-name.d.ts +1 -0
  56. package/{dist/src/docker-compose/container-name-resolver.js → build/container-runtime/clients/compose/parse-compose-container-name.js} +5 -4
  57. package/build/container-runtime/clients/compose/parse-compose-container-name.js.map +1 -0
  58. package/build/container-runtime/clients/compose/types.d.ts +15 -0
  59. package/{dist/src/docker → build/container-runtime/clients/compose}/types.js +1 -0
  60. package/build/container-runtime/clients/compose/types.js.map +1 -0
  61. package/build/container-runtime/clients/container/container-client.d.ts +32 -0
  62. package/build/container-runtime/clients/container/container-client.js +3 -0
  63. package/build/container-runtime/clients/container/container-client.js.map +1 -0
  64. package/build/container-runtime/clients/container/docker-container-client.d.ts +35 -0
  65. package/build/container-runtime/clients/container/docker-container-client.js +276 -0
  66. package/build/container-runtime/clients/container/docker-container-client.js.map +1 -0
  67. package/build/container-runtime/clients/container/podman-container-client.d.ts +8 -0
  68. package/build/container-runtime/clients/container/podman-container-client.js +43 -0
  69. package/build/container-runtime/clients/container/podman-container-client.js.map +1 -0
  70. package/build/container-runtime/clients/container/types.d.ts +4 -0
  71. package/{dist/src/docker/client/docker-client-types.js → build/container-runtime/clients/container/types.js} +1 -0
  72. package/build/container-runtime/clients/container/types.js.map +1 -0
  73. package/build/container-runtime/clients/image/docker-image-client.d.ts +16 -0
  74. package/build/container-runtime/clients/image/docker-image-client.js +119 -0
  75. package/build/container-runtime/clients/image/docker-image-client.js.map +1 -0
  76. package/build/container-runtime/clients/image/image-client.d.ts +9 -0
  77. package/build/container-runtime/clients/image/image-client.js +3 -0
  78. package/build/container-runtime/clients/image/image-client.js.map +1 -0
  79. package/build/container-runtime/clients/network/docker-network-client.d.ts +9 -0
  80. package/build/container-runtime/clients/network/docker-network-client.js +50 -0
  81. package/build/container-runtime/clients/network/docker-network-client.js.map +1 -0
  82. package/build/container-runtime/clients/network/network-client.d.ts +6 -0
  83. package/build/container-runtime/clients/network/network-client.js +3 -0
  84. package/build/container-runtime/clients/network/network-client.js.map +1 -0
  85. package/build/container-runtime/clients/types.d.ts +30 -0
  86. package/{dist/src/docker/client/strategy/docker-client-strategy.js → build/container-runtime/clients/types.js} +1 -0
  87. package/build/container-runtime/clients/types.js.map +1 -0
  88. package/build/container-runtime/image-name.d.ts +11 -0
  89. package/{dist/src/docker-image-name.js → build/container-runtime/image-name.js} +11 -17
  90. package/build/container-runtime/image-name.js.map +1 -0
  91. package/build/container-runtime/index.d.ts +6 -0
  92. package/build/container-runtime/index.js +13 -0
  93. package/build/container-runtime/index.js.map +1 -0
  94. package/build/container-runtime/strategies/configuration-strategy.d.ts +9 -0
  95. package/build/container-runtime/strategies/configuration-strategy.js +53 -0
  96. package/build/container-runtime/strategies/configuration-strategy.js.map +1 -0
  97. package/build/container-runtime/strategies/npipe-socket-strategy.d.ts +6 -0
  98. package/build/container-runtime/strategies/npipe-socket-strategy.js +21 -0
  99. package/build/container-runtime/strategies/npipe-socket-strategy.js.map +1 -0
  100. package/build/container-runtime/strategies/rootless-unix-socket-strategy.d.ts +14 -0
  101. package/build/container-runtime/strategies/rootless-unix-socket-strategy.js +63 -0
  102. package/build/container-runtime/strategies/rootless-unix-socket-strategy.js.map +1 -0
  103. package/build/container-runtime/strategies/strategy.d.ts +5 -0
  104. package/{dist/src/registry-auth-locator/registry-auth-locator.js → build/container-runtime/strategies/strategy.js} +1 -0
  105. package/build/container-runtime/strategies/strategy.js.map +1 -0
  106. package/build/container-runtime/strategies/testcontainers-host-strategy.d.ts +6 -0
  107. package/build/container-runtime/strategies/testcontainers-host-strategy.js +30 -0
  108. package/build/container-runtime/strategies/testcontainers-host-strategy.js.map +1 -0
  109. package/build/container-runtime/strategies/types.d.ts +8 -0
  110. package/build/container-runtime/strategies/types.js +3 -0
  111. package/build/container-runtime/strategies/types.js.map +1 -0
  112. package/build/container-runtime/strategies/unix-socket-strategy.d.ts +6 -0
  113. package/build/container-runtime/strategies/unix-socket-strategy.js +22 -0
  114. package/build/container-runtime/strategies/unix-socket-strategy.js.map +1 -0
  115. package/build/container-runtime/strategies/utils/config.d.ts +9 -0
  116. package/build/container-runtime/strategies/utils/config.js +75 -0
  117. package/build/container-runtime/strategies/utils/config.js.map +1 -0
  118. package/build/container-runtime/utils/attach-container.js +17 -0
  119. package/build/container-runtime/utils/attach-container.js.map +1 -0
  120. package/build/container-runtime/utils/demux-stream.d.ts +4 -0
  121. package/build/container-runtime/utils/demux-stream.js +24 -0
  122. package/build/container-runtime/utils/demux-stream.js.map +1 -0
  123. package/build/container-runtime/utils/image-exists.d.ts +3 -0
  124. package/build/container-runtime/utils/image-exists.js +29 -0
  125. package/build/container-runtime/utils/image-exists.js.map +1 -0
  126. package/build/container-runtime/utils/lookup-host-ips.d.ts +2 -0
  127. package/build/container-runtime/utils/lookup-host-ips.js +18 -0
  128. package/build/container-runtime/utils/lookup-host-ips.js.map +1 -0
  129. package/{dist/src/docker/functions/image → build/container-runtime/utils}/pull-image.d.ts +2 -2
  130. package/build/container-runtime/utils/pull-image.js +35 -0
  131. package/build/container-runtime/utils/pull-image.js.map +1 -0
  132. package/build/container-runtime/utils/remote-container-runtime-socket-path.d.ts +7 -0
  133. package/build/container-runtime/utils/remote-container-runtime-socket-path.js +23 -0
  134. package/build/container-runtime/utils/remote-container-runtime-socket-path.js.map +1 -0
  135. package/build/container-runtime/utils/resolve-host.d.ts +8 -0
  136. package/build/container-runtime/utils/resolve-host.js +54 -0
  137. package/build/container-runtime/utils/resolve-host.js.map +1 -0
  138. package/build/container-runtime/utils/run-in-container.js +30 -0
  139. package/build/container-runtime/utils/run-in-container.js.map +1 -0
  140. package/build/container-runtime/utils/start-container.js +15 -0
  141. package/build/container-runtime/utils/start-container.js.map +1 -0
  142. package/{dist/src → build}/docker-compose-environment/docker-compose-environment.d.ts +5 -5
  143. package/build/docker-compose-environment/docker-compose-environment.js +144 -0
  144. package/build/docker-compose-environment/docker-compose-environment.js.map +1 -0
  145. package/{dist/src → build}/docker-compose-environment/downed-docker-compose-environment.js +1 -0
  146. package/build/docker-compose-environment/downed-docker-compose-environment.js.map +1 -0
  147. package/{dist/src → build}/docker-compose-environment/started-docker-compose-environment.d.ts +3 -3
  148. package/build/docker-compose-environment/started-docker-compose-environment.js +37 -0
  149. package/build/docker-compose-environment/started-docker-compose-environment.js.map +1 -0
  150. package/build/docker-compose-environment/stopped-docker-compose-environment.d.ts +7 -0
  151. package/build/docker-compose-environment/stopped-docker-compose-environment.js +19 -0
  152. package/build/docker-compose-environment/stopped-docker-compose-environment.js.map +1 -0
  153. package/{dist/src/modules → build/generic-container}/abstract-started-container.d.ts +1 -1
  154. package/build/generic-container/abstract-started-container.js +69 -0
  155. package/build/generic-container/abstract-started-container.js.map +1 -0
  156. package/{dist/src/modules → build/generic-container}/abstract-stopped-container.js +2 -0
  157. package/build/generic-container/abstract-stopped-container.js.map +1 -0
  158. package/{dist/src → build}/generic-container/generic-container-builder.d.ts +4 -4
  159. package/build/generic-container/generic-container-builder.js +87 -0
  160. package/build/generic-container/generic-container-builder.js.map +1 -0
  161. package/{dist/src → build}/generic-container/generic-container.d.ts +18 -22
  162. package/build/generic-container/generic-container.js +350 -0
  163. package/build/generic-container/generic-container.js.map +1 -0
  164. package/{dist/src → build}/generic-container/started-generic-container.d.ts +6 -6
  165. package/build/generic-container/started-generic-container.js +161 -0
  166. package/build/generic-container/started-generic-container.js.map +1 -0
  167. package/build/generic-container/stopped-generic-container.js +23 -0
  168. package/build/generic-container/stopped-generic-container.js.map +1 -0
  169. package/build/index.d.ts +16 -0
  170. package/build/index.js +35 -0
  171. package/build/index.js.map +1 -0
  172. package/build/network/network.d.ts +19 -0
  173. package/build/network/network.js +61 -0
  174. package/build/network/network.js.map +1 -0
  175. package/{dist/src → build/port-forwarder}/port-forwarder.d.ts +2 -1
  176. package/build/port-forwarder/port-forwarder.js +73 -0
  177. package/build/port-forwarder/port-forwarder.js.map +1 -0
  178. package/build/reaper/reaper.d.ts +8 -0
  179. package/build/reaper/reaper.js +119 -0
  180. package/build/reaper/reaper.js.map +1 -0
  181. package/{dist/src → build}/test-container.d.ts +6 -6
  182. package/{dist/src → build}/test-container.js +1 -0
  183. package/build/test-container.js.map +1 -0
  184. package/build/test-containers.js +12 -0
  185. package/build/test-containers.js.map +1 -0
  186. package/{dist/src/docker → build}/types.d.ts +16 -0
  187. package/build/types.js +3 -0
  188. package/build/types.js.map +1 -0
  189. package/{dist/src → build/utils}/bound-ports.d.ts +4 -3
  190. package/{dist/src → build/utils}/bound-ports.js +22 -5
  191. package/build/utils/bound-ports.js.map +1 -0
  192. package/build/utils/dockerfile-parser.d.ts +3 -0
  193. package/build/utils/dockerfile-parser.js +28 -0
  194. package/build/utils/dockerfile-parser.js.map +1 -0
  195. package/{dist/src → build/utils}/labels.d.ts +1 -0
  196. package/build/utils/labels.js +18 -0
  197. package/build/utils/labels.js.map +1 -0
  198. package/build/utils/map-inspect-result.d.ts +3 -0
  199. package/build/utils/map-inspect-result.js +55 -0
  200. package/build/utils/map-inspect-result.js.map +1 -0
  201. package/build/utils/port-generator.js +43 -0
  202. package/build/utils/port-generator.js.map +1 -0
  203. package/{dist/src → build/utils}/port.d.ts +0 -3
  204. package/build/utils/port.js +10 -0
  205. package/build/utils/port.js.map +1 -0
  206. package/build/utils/pull-policy.d.ts +7 -0
  207. package/build/utils/pull-policy.js +23 -0
  208. package/build/utils/pull-policy.js.map +1 -0
  209. package/build/utils/test-helper.d.ts +19 -0
  210. package/build/utils/test-helper.js +107 -0
  211. package/build/utils/test-helper.js.map +1 -0
  212. package/build/version.d.ts +1 -0
  213. package/build/version.js +5 -0
  214. package/build/version.js.map +1 -0
  215. package/{dist/src/wait-strategy → build/wait-strategies}/composite-wait-strategy.d.ts +1 -1
  216. package/build/wait-strategies/composite-wait-strategy.js +49 -0
  217. package/build/wait-strategies/composite-wait-strategy.js.map +1 -0
  218. package/build/wait-strategies/health-check-wait-strategy.js +26 -0
  219. package/build/wait-strategies/health-check-wait-strategy.js.map +1 -0
  220. package/{dist/src/wait-strategy → build/wait-strategies}/host-port-wait-strategy.d.ts +1 -1
  221. package/build/wait-strategies/host-port-wait-strategy.js +42 -0
  222. package/build/wait-strategies/host-port-wait-strategy.js.map +1 -0
  223. package/{dist/src/wait-strategy → build/wait-strategies}/http-wait-strategy.d.ts +1 -1
  224. package/build/wait-strategies/http-wait-strategy.js +111 -0
  225. package/build/wait-strategies/http-wait-strategy.js.map +1 -0
  226. package/{dist/src/wait-strategy → build/wait-strategies}/log-wait-strategy.d.ts +1 -1
  227. package/build/wait-strategies/log-wait-strategy.js +62 -0
  228. package/build/wait-strategies/log-wait-strategy.js.map +1 -0
  229. package/build/wait-strategies/shell-wait-strategy.js +30 -0
  230. package/build/wait-strategies/shell-wait-strategy.js.map +1 -0
  231. package/{dist/src/wait-strategy → build/wait-strategies}/startup-check-strategy.d.ts +3 -0
  232. package/build/wait-strategies/startup-check-strategy.js +27 -0
  233. package/build/wait-strategies/startup-check-strategy.js.map +1 -0
  234. package/{dist/src → build/wait-strategies/utils}/port-check.d.ts +5 -6
  235. package/build/wait-strategies/utils/port-check.js +81 -0
  236. package/build/wait-strategies/utils/port-check.js.map +1 -0
  237. package/build/wait-strategies/wait-for-container.d.ts +5 -0
  238. package/build/wait-strategies/wait-for-container.js +24 -0
  239. package/build/wait-strategies/wait-for-container.js.map +1 -0
  240. package/{dist/src/wait-strategy → build/wait-strategies}/wait-strategy.d.ts +1 -1
  241. package/{dist/src/wait-strategy → build/wait-strategies}/wait-strategy.js +3 -4
  242. package/build/wait-strategies/wait-strategy.js.map +1 -0
  243. package/{dist/src/wait-strategy → build/wait-strategies}/wait.js +1 -0
  244. package/build/wait-strategies/wait.js.map +1 -0
  245. package/package.json +20 -65
  246. package/LICENSE +0 -21
  247. package/README.md +0 -27
  248. package/dist/package.json +0 -104
  249. package/dist/src/docker/client/docker-client-config.d.ts +0 -9
  250. package/dist/src/docker/client/docker-client-config.js +0 -82
  251. package/dist/src/docker/client/docker-client-types.d.ts +0 -23
  252. package/dist/src/docker/client/docker-client.d.ts +0 -2
  253. package/dist/src/docker/client/docker-client.js +0 -133
  254. package/dist/src/docker/client/strategy/configuration-strategy.d.ts +0 -11
  255. package/dist/src/docker/client/strategy/configuration-strategy.js +0 -66
  256. package/dist/src/docker/client/strategy/docker-client-strategy.d.ts +0 -7
  257. package/dist/src/docker/client/strategy/npipe-socket-strategy.d.ts +0 -7
  258. package/dist/src/docker/client/strategy/npipe-socket-strategy.js +0 -31
  259. package/dist/src/docker/client/strategy/rootless-unix-socket-strategy.d.ts +0 -18
  260. package/dist/src/docker/client/strategy/rootless-unix-socket-strategy.js +0 -77
  261. package/dist/src/docker/client/strategy/testcontainers-host-strategy.d.ts +0 -9
  262. package/dist/src/docker/client/strategy/testcontainers-host-strategy.js +0 -47
  263. package/dist/src/docker/client/strategy/unix-socket-strategy.d.ts +0 -7
  264. package/dist/src/docker/client/strategy/unix-socket-strategy.js +0 -32
  265. package/dist/src/docker/functions/container/attach-container.js +0 -25
  266. package/dist/src/docker/functions/container/container-logs.d.ts +0 -6
  267. package/dist/src/docker/functions/container/container-logs.js +0 -32
  268. package/dist/src/docker/functions/container/create-container.d.ts +0 -31
  269. package/dist/src/docker/functions/container/create-container.js +0 -117
  270. package/dist/src/docker/functions/container/exec-container.d.ts +0 -3
  271. package/dist/src/docker/functions/container/exec-container.js +0 -66
  272. package/dist/src/docker/functions/container/get-container-archive.d.ts +0 -11
  273. package/dist/src/docker/functions/container/get-container-archive.js +0 -23
  274. package/dist/src/docker/functions/container/get-container.d.ts +0 -3
  275. package/dist/src/docker/functions/container/get-container.js +0 -49
  276. package/dist/src/docker/functions/container/inspect-container.d.ts +0 -19
  277. package/dist/src/docker/functions/container/inspect-container.js +0 -67
  278. package/dist/src/docker/functions/container/list-containers.d.ts +0 -2
  279. package/dist/src/docker/functions/container/list-containers.js +0 -25
  280. package/dist/src/docker/functions/container/put-container-archive.d.ts +0 -9
  281. package/dist/src/docker/functions/container/put-container-archive.js +0 -26
  282. package/dist/src/docker/functions/container/remove-container.d.ts +0 -5
  283. package/dist/src/docker/functions/container/remove-container.js +0 -23
  284. package/dist/src/docker/functions/container/restart-container.d.ts +0 -5
  285. package/dist/src/docker/functions/container/restart-container.js +0 -23
  286. package/dist/src/docker/functions/container/start-container.js +0 -23
  287. package/dist/src/docker/functions/container/stop-container.d.ts +0 -5
  288. package/dist/src/docker/functions/container/stop-container.js +0 -29
  289. package/dist/src/docker/functions/create-labels.d.ts +0 -2
  290. package/dist/src/docker/functions/create-labels.js +0 -13
  291. package/dist/src/docker/functions/demux-stream.d.ts +0 -3
  292. package/dist/src/docker/functions/demux-stream.js +0 -32
  293. package/dist/src/docker/functions/get-info.d.ts +0 -11
  294. package/dist/src/docker/functions/get-info.js +0 -38
  295. package/dist/src/docker/functions/image/build-image.d.ts +0 -14
  296. package/dist/src/docker/functions/image/build-image.js +0 -81
  297. package/dist/src/docker/functions/image/image-exists.d.ts +0 -3
  298. package/dist/src/docker/functions/image/image-exists.js +0 -37
  299. package/dist/src/docker/functions/image/pull-image.js +0 -48
  300. package/dist/src/docker/functions/network/connect-network.d.ts +0 -6
  301. package/dist/src/docker/functions/network/connect-network.js +0 -28
  302. package/dist/src/docker/functions/network/create-network.d.ts +0 -16
  303. package/dist/src/docker/functions/network/create-network.js +0 -39
  304. package/dist/src/docker/functions/network/remove-network.d.ts +0 -1
  305. package/dist/src/docker/functions/network/remove-network.js +0 -31
  306. package/dist/src/docker/functions/run-in-container.js +0 -39
  307. package/dist/src/docker/lookup-host-ips.d.ts +0 -5
  308. package/dist/src/docker/lookup-host-ips.js +0 -26
  309. package/dist/src/docker/remote-docker-unix-socket-path.d.ts +0 -7
  310. package/dist/src/docker/remote-docker-unix-socket-path.js +0 -22
  311. package/dist/src/docker/resolve-host.d.ts +0 -8
  312. package/dist/src/docker/resolve-host.js +0 -63
  313. package/dist/src/docker-compose/container-name-resolver.d.ts +0 -1
  314. package/dist/src/docker-compose/docker-compose-client.d.ts +0 -9
  315. package/dist/src/docker-compose/docker-compose-client.js +0 -221
  316. package/dist/src/docker-compose/docker-compose-options.d.ts +0 -17
  317. package/dist/src/docker-compose/docker-compose-options.js +0 -51
  318. package/dist/src/docker-compose-environment/docker-compose-environment.js +0 -146
  319. package/dist/src/docker-compose-environment/started-docker-compose-environment.js +0 -47
  320. package/dist/src/docker-compose-environment/stopped-docker-compose-environment.d.ts +0 -7
  321. package/dist/src/docker-compose-environment/stopped-docker-compose-environment.js +0 -28
  322. package/dist/src/docker-image-name.d.ts +0 -15
  323. package/dist/src/dockerfile-parser.d.ts +0 -3
  324. package/dist/src/dockerfile-parser.js +0 -39
  325. package/dist/src/file-lock.js +0 -47
  326. package/dist/src/generic-container/create-container-options.d.ts +0 -3
  327. package/dist/src/generic-container/create-container-options.js +0 -18
  328. package/dist/src/generic-container/generic-container-builder.js +0 -97
  329. package/dist/src/generic-container/generic-container.js +0 -329
  330. package/dist/src/generic-container/started-generic-container.js +0 -168
  331. package/dist/src/generic-container/stopped-generic-container.js +0 -20
  332. package/dist/src/hash.d.ts +0 -1
  333. package/dist/src/images.d.ts +0 -2
  334. package/dist/src/images.js +0 -6
  335. package/dist/src/index.d.ts +0 -25
  336. package/dist/src/index.js +0 -66
  337. package/dist/src/labels.js +0 -8
  338. package/dist/src/modules/abstract-started-container.js +0 -86
  339. package/dist/src/modules/arangodb/arangodb-container.d.ts +0 -19
  340. package/dist/src/modules/arangodb/arangodb-container.js +0 -60
  341. package/dist/src/modules/elasticsearch/elasticsearch-container.d.ts +0 -12
  342. package/dist/src/modules/elasticsearch/elasticsearch-container.js +0 -49
  343. package/dist/src/modules/hivemq/hivemq-container.d.ts +0 -15
  344. package/dist/src/modules/hivemq/hivemq-container.js +0 -79
  345. package/dist/src/modules/kafka/kafka-container.d.ts +0 -45
  346. package/dist/src/modules/kafka/kafka-container.js +0 -177
  347. package/dist/src/modules/mongodb/mongodb-container.d.ts +0 -19
  348. package/dist/src/modules/mongodb/mongodb-container.js +0 -85
  349. package/dist/src/modules/mysql/mysql-container.d.ts +0 -30
  350. package/dist/src/modules/mysql/mysql-container.js +0 -111
  351. package/dist/src/modules/nats/nats-container.d.ts +0 -55
  352. package/dist/src/modules/nats/nats-container.js +0 -99
  353. package/dist/src/modules/neo4j/neo4j-container.d.ts +0 -23
  354. package/dist/src/modules/neo4j/neo4j-container.js +0 -82
  355. package/dist/src/modules/postgresql/postgresql-container.d.ts +0 -28
  356. package/dist/src/modules/postgresql/postgresql-container.js +0 -87
  357. package/dist/src/modules/selenium/selenium-container.d.ts +0 -38
  358. package/dist/src/modules/selenium/selenium-container.js +0 -161
  359. package/dist/src/network.d.ts +0 -18
  360. package/dist/src/network.js +0 -60
  361. package/dist/src/port-check.js +0 -90
  362. package/dist/src/port-forwarder.js +0 -83
  363. package/dist/src/port-generator.js +0 -51
  364. package/dist/src/port.js +0 -47
  365. package/dist/src/pull-policy.d.ts +0 -9
  366. package/dist/src/pull-policy.js +0 -15
  367. package/dist/src/reaper.d.ts +0 -5
  368. package/dist/src/reaper.js +0 -157
  369. package/dist/src/registry-auth-locator/auths.d.ts +0 -8
  370. package/dist/src/registry-auth-locator/auths.js +0 -56
  371. package/dist/src/registry-auth-locator/cred-helpers.d.ts +0 -6
  372. package/dist/src/registry-auth-locator/credential-provider.js +0 -81
  373. package/dist/src/registry-auth-locator/creds-store.d.ts +0 -6
  374. package/dist/src/registry-auth-locator/registry-auth-locator.d.ts +0 -6
  375. package/dist/src/retry-strategy.js +0 -46
  376. package/dist/src/stream-utils.js +0 -46
  377. package/dist/src/system-info.d.ts +0 -19
  378. package/dist/src/system-info.js +0 -80
  379. package/dist/src/test-containers.js +0 -22
  380. package/dist/src/wait-for-container.d.ts +0 -4
  381. package/dist/src/wait-for-container.js +0 -34
  382. package/dist/src/wait-strategy/composite-wait-strategy.js +0 -57
  383. package/dist/src/wait-strategy/health-check-wait-strategy.js +0 -36
  384. package/dist/src/wait-strategy/host-port-wait-strategy.js +0 -59
  385. package/dist/src/wait-strategy/http-wait-strategy.js +0 -120
  386. package/dist/src/wait-strategy/log-wait-strategy.js +0 -69
  387. package/dist/src/wait-strategy/shell-wait-strategy.js +0 -39
  388. package/dist/src/wait-strategy/startup-check-strategy.js +0 -35
  389. /package/{dist/src → build/common}/clock.d.ts +0 -0
  390. /package/{dist/src → build/common}/file-lock.d.ts +0 -0
  391. /package/{dist/src/stream-utils.d.ts → build/common/streams.d.ts} +0 -0
  392. /package/{dist/src → build/common}/type-guards.d.ts +0 -0
  393. /package/{dist/src → build/common}/uuid.d.ts +0 -0
  394. /package/{dist/src/registry-auth-locator → build/container-runtime/auth}/registry-matches.d.ts +0 -0
  395. /package/{dist/src/docker/functions/container → build/container-runtime/utils}/attach-container.d.ts +0 -0
  396. /package/{dist/src/docker/functions → build/container-runtime/utils}/run-in-container.d.ts +0 -0
  397. /package/{dist/src/docker/functions/container → build/container-runtime/utils}/start-container.d.ts +0 -0
  398. /package/{dist/src → build}/docker-compose-environment/downed-docker-compose-environment.d.ts +0 -0
  399. /package/{dist/src/modules → build/generic-container}/abstract-stopped-container.d.ts +0 -0
  400. /package/{dist/src → build}/generic-container/stopped-generic-container.d.ts +0 -0
  401. /package/{dist/src → build}/test-containers.d.ts +0 -0
  402. /package/{dist/src → build/utils}/port-generator.d.ts +0 -0
  403. /package/{dist/src/wait-strategy → build/wait-strategies}/health-check-wait-strategy.d.ts +0 -0
  404. /package/{dist/src/wait-strategy → build/wait-strategies}/shell-wait-strategy.d.ts +0 -0
  405. /package/{dist/src/wait-strategy → build/wait-strategies}/wait.d.ts +0 -0
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.createNetwork = void 0;
13
- const logger_1 = require("../../../logger");
14
- const docker_client_1 = require("../../client/docker-client");
15
- const create_labels_1 = require("../create-labels");
16
- const createNetwork = (sessionId, options) => __awaiter(void 0, void 0, void 0, function* () {
17
- try {
18
- logger_1.log.info(`Creating network "${options.name}"...`);
19
- const { dockerode } = yield (0, docker_client_1.getDockerClient)();
20
- const network = yield dockerode.createNetwork({
21
- Name: options.name,
22
- CheckDuplicate: options.checkDuplicate,
23
- Driver: options.driver,
24
- Internal: options.internal,
25
- Attachable: options.attachable,
26
- Ingress: options.ingress,
27
- EnableIPv6: options.enableIPv6,
28
- Options: options.options,
29
- Labels: Object.assign(Object.assign({}, options.labels), (0, create_labels_1.createLabels)(sessionId, false)),
30
- });
31
- logger_1.log.info(`Created network "${options.name}"`);
32
- return network.id;
33
- }
34
- catch (err) {
35
- logger_1.log.error(`Failed to create network: ${err}`);
36
- throw err;
37
- }
38
- });
39
- exports.createNetwork = createNetwork;
@@ -1 +0,0 @@
1
- export declare const removeNetwork: (id: string) => Promise<void>;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.removeNetwork = void 0;
13
- const logger_1 = require("../../../logger");
14
- const docker_client_1 = require("../../client/docker-client");
15
- const removeNetwork = (id) => __awaiter(void 0, void 0, void 0, function* () {
16
- try {
17
- logger_1.log.info(`Removing network "${id}"...`);
18
- const { dockerode } = yield (0, docker_client_1.getDockerClient)();
19
- const network = dockerode.getNetwork(id);
20
- const { message } = yield network.remove();
21
- if (message) {
22
- logger_1.log.warn(message);
23
- }
24
- logger_1.log.info(`Removed network "${id}"`);
25
- }
26
- catch (err) {
27
- logger_1.log.error(`Failed to remove network "${id}": ${err}`);
28
- throw err;
29
- }
30
- });
31
- exports.removeNetwork = removeNetwork;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.runInContainer = void 0;
13
- const logger_1 = require("../../logger");
14
- const docker_image_name_1 = require("../../docker-image-name");
15
- const pull_image_1 = require("./image/pull-image");
16
- const start_container_1 = require("./container/start-container");
17
- const attach_container_1 = require("./container/attach-container");
18
- const stream_utils_1 = require("../../stream-utils");
19
- const runInContainer = (dockerode, indexServerAddress, image, command) => __awaiter(void 0, void 0, void 0, function* () {
20
- try {
21
- yield (0, pull_image_1.pullImage)(dockerode, indexServerAddress, { imageName: docker_image_name_1.DockerImageName.fromString(image), force: false });
22
- logger_1.log.debug(`Creating container: ${image} with command "${command.join(" ")}"...`);
23
- const container = yield dockerode.createContainer({ Image: image, Cmd: command });
24
- logger_1.log.debug(`Attaching to container...`, { containerId: container.id });
25
- const stream = yield (0, attach_container_1.attachContainer)(dockerode, container);
26
- logger_1.log.debug(`Starting container...`, { containerId: container.id });
27
- yield (0, start_container_1.startContainer)(container);
28
- logger_1.log.debug(`Waiting for container output...`, { containerId: container.id });
29
- const output = yield (0, stream_utils_1.streamToString)(stream, { trim: true });
30
- logger_1.log.debug(`Removing container...`, { containerId: container.id });
31
- yield container.remove({ force: true, v: true });
32
- return output.length === 0 ? undefined : output;
33
- }
34
- catch (err) {
35
- logger_1.log.error(`Failed to run command "${command.join(" ")}" in container: "${err}"`);
36
- return undefined;
37
- }
38
- });
39
- exports.runInContainer = runInContainer;
@@ -1,5 +0,0 @@
1
- export type HostIps = Array<{
2
- address: string;
3
- family: number;
4
- }>;
5
- export declare const lookupHostIps: (host: string) => Promise<HostIps>;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.lookupHostIps = void 0;
16
- const net_1 = __importDefault(require("net"));
17
- const dns_1 = __importDefault(require("dns"));
18
- const lookupHostIps = (host) => __awaiter(void 0, void 0, void 0, function* () {
19
- if (net_1.default.isIP(host) === 0) {
20
- return yield dns_1.default.promises.lookup(host, { all: true });
21
- }
22
- else {
23
- return [{ address: host, family: net_1.default.isIP(host) }];
24
- }
25
- });
26
- exports.lookupHostIps = lookupHostIps;
@@ -1,7 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
- /// <reference types="node" />
5
- /// <reference types="node" />
6
- import { PartialDockerClient } from "./client/docker-client-types";
7
- export declare const getRemoteDockerUnixSocketPath: (dockerClient: PartialDockerClient, platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv) => string;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRemoteDockerUnixSocketPath = void 0;
4
- const getRemoteDockerUnixSocketPath = (dockerClient, platform = process.platform, env = process.env) => {
5
- if (dockerClient.allowUserOverrides) {
6
- if (env["TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE"] !== undefined) {
7
- return env["TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE"];
8
- }
9
- }
10
- let socketPath;
11
- if (dockerClient.info.dockerInfo.operatingSystem === "Docker Desktop") {
12
- socketPath = "/var/run/docker.sock";
13
- }
14
- else if (dockerClient.uri.startsWith("unix://")) {
15
- socketPath = dockerClient.uri.replace("unix://", "");
16
- }
17
- else {
18
- socketPath = "/var/run/docker.sock";
19
- }
20
- return platform === "win32" ? `/${socketPath}` : socketPath;
21
- };
22
- exports.getRemoteDockerUnixSocketPath = getRemoteDockerUnixSocketPath;
@@ -1,8 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
- /// <reference types="node" />
5
- /// <reference types="node" />
6
- import Dockerode from "dockerode";
7
- import { ContainerRuntime } from "./types";
8
- export declare const resolveHost: (dockerode: Dockerode, containerRuntime: ContainerRuntime, indexServerAddress: string, uri: string, allowUserOverrides: boolean, env?: NodeJS.ProcessEnv) => Promise<string>;
@@ -1,63 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.resolveHost = void 0;
13
- const url_1 = require("url");
14
- const logger_1 = require("../logger");
15
- const run_in_container_1 = require("./functions/run-in-container");
16
- const fs_1 = require("fs");
17
- const resolveHost = (dockerode, containerRuntime, indexServerAddress, uri, allowUserOverrides, env = process.env) => __awaiter(void 0, void 0, void 0, function* () {
18
- if (allowUserOverrides) {
19
- if (env.TESTCONTAINERS_HOST_OVERRIDE !== undefined) {
20
- return env.TESTCONTAINERS_HOST_OVERRIDE;
21
- }
22
- }
23
- const { protocol, hostname } = new url_1.URL(uri);
24
- switch (protocol) {
25
- case "http:":
26
- case "https:":
27
- case "tcp:":
28
- return hostname;
29
- case "unix:":
30
- case "npipe:": {
31
- if (isInContainer()) {
32
- const networkName = containerRuntime === "podman" ? "podman" : "bridge";
33
- const gateway = yield findGateway(dockerode, networkName);
34
- if (gateway !== undefined) {
35
- return gateway;
36
- }
37
- const defaultGateway = yield findDefaultGateway(dockerode, indexServerAddress);
38
- if (defaultGateway !== undefined) {
39
- return defaultGateway;
40
- }
41
- }
42
- return "localhost";
43
- }
44
- default:
45
- throw new Error(`Unsupported protocol: ${protocol}`);
46
- }
47
- });
48
- exports.resolveHost = resolveHost;
49
- const findGateway = (dockerode, networkName) => __awaiter(void 0, void 0, void 0, function* () {
50
- var _a, _b, _c;
51
- logger_1.log.debug(`Checking gateway for Docker host...`);
52
- const inspectResult = yield dockerode.getNetwork(networkName).inspect();
53
- return (_c = (_b = (_a = inspectResult === null || inspectResult === void 0 ? void 0 : inspectResult.IPAM) === null || _a === void 0 ? void 0 : _a.Config) === null || _b === void 0 ? void 0 : _b.find((config) => config.Gateway !== undefined)) === null || _c === void 0 ? void 0 : _c.Gateway;
54
- });
55
- const findDefaultGateway = (dockerode, indexServerAddress) => __awaiter(void 0, void 0, void 0, function* () {
56
- logger_1.log.debug(`Checking default gateway for Docker host...`);
57
- return (0, run_in_container_1.runInContainer)(dockerode, indexServerAddress, "alpine:3.14", [
58
- "sh",
59
- "-c",
60
- "ip route|awk '/default/ { print $3 }'",
61
- ]);
62
- });
63
- const isInContainer = () => (0, fs_1.existsSync)("/.dockerenv");
@@ -1 +0,0 @@
1
- export declare const resolveContainerName: (projectName: string, containerName: string) => string;
@@ -1,9 +0,0 @@
1
- import { DockerComposeDownOptions, DockerComposeOptions } from "./docker-compose-options";
2
- import { DockerComposeCompatibility } from "../system-info";
3
- export interface DockerComposeClient {
4
- up: (options: DockerComposeOptions, services?: Array<string>) => Promise<void>;
5
- pull: (options: DockerComposeOptions, services?: Array<string>) => Promise<void>;
6
- stop: (options: DockerComposeOptions) => Promise<void>;
7
- down: (options: DockerComposeOptions, downOptions: DockerComposeDownOptions) => Promise<void>;
8
- }
9
- export declare function getDockerComposeClient(compat?: DockerComposeCompatibility): DockerComposeClient;
@@ -1,221 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.getDockerComposeClient = void 0;
36
- const logger_1 = require("../logger");
37
- const docker_compose_1 = __importStar(require("docker-compose"));
38
- const docker_compose_options_1 = require("./docker-compose-options");
39
- function getDockerComposeClient(compat) {
40
- switch (compat) {
41
- case undefined:
42
- return new MissingDockerComposeClient();
43
- case "v1":
44
- return new DockerComposeV1Client();
45
- case "v2":
46
- return new DockerComposeV2Client();
47
- }
48
- }
49
- exports.getDockerComposeClient = getDockerComposeClient;
50
- class DockerComposeV1Client {
51
- up(options, services) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- try {
54
- if (services) {
55
- logger_1.log.info(`Upping DockerCompose environment services ${services.join(", ")}...`);
56
- yield docker_compose_1.default.upMany(services, yield (0, docker_compose_options_1.defaultDockerComposeOptions)(options));
57
- }
58
- else {
59
- logger_1.log.info(`Upping DockerCompose environment...`);
60
- yield docker_compose_1.default.upAll(yield (0, docker_compose_options_1.defaultDockerComposeOptions)(options));
61
- }
62
- logger_1.log.info(`Upped DockerCompose environment`);
63
- }
64
- catch (err) {
65
- yield handleAndRethrow(err, (error) => __awaiter(this, void 0, void 0, function* () {
66
- try {
67
- logger_1.log.error(`Failed to up DockerCompose environment: ${error.message}`);
68
- yield this.down(options, { removeVolumes: true, timeout: 0 });
69
- }
70
- catch (_a) {
71
- logger_1.log.error(`Failed to down DockerCompose environment after failed up`);
72
- }
73
- }));
74
- }
75
- });
76
- }
77
- pull(options, services) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- try {
80
- if (services) {
81
- logger_1.log.info(`Pulling DockerCompose environment images "${services.join('", "')}"...`);
82
- yield docker_compose_1.default.pullMany(services, yield (0, docker_compose_options_1.defaultDockerComposeOptions)(Object.assign(Object.assign({}, options), { logger: logger_1.pullLog })));
83
- }
84
- else {
85
- logger_1.log.info(`Pulling DockerCompose environment images...`);
86
- yield docker_compose_1.default.pullAll(yield (0, docker_compose_options_1.defaultDockerComposeOptions)(Object.assign(Object.assign({}, options), { logger: logger_1.pullLog })));
87
- }
88
- logger_1.log.info(`Pulled DockerCompose environment`);
89
- }
90
- catch (err) {
91
- yield handleAndRethrow(err, (error) => __awaiter(this, void 0, void 0, function* () { return logger_1.log.error(`Failed to pull DockerCompose environment images: ${error.message}`); }));
92
- }
93
- });
94
- }
95
- stop(options) {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- try {
98
- logger_1.log.info(`Stopping DockerCompose environment...`);
99
- yield docker_compose_1.default.stop(yield (0, docker_compose_options_1.defaultDockerComposeOptions)(options));
100
- logger_1.log.info(`Stopped DockerCompose environment`);
101
- }
102
- catch (err) {
103
- yield handleAndRethrow(err, (error) => __awaiter(this, void 0, void 0, function* () { return logger_1.log.error(`Failed to stop DockerCompose environment: ${error.message}`); }));
104
- }
105
- });
106
- }
107
- down(options, downOptions) {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- try {
110
- logger_1.log.info(`Downing DockerCompose environment...`);
111
- yield docker_compose_1.default.down(Object.assign(Object.assign({}, (yield (0, docker_compose_options_1.defaultDockerComposeOptions)(options))), { commandOptions: dockerComposeDownCommandOptions(downOptions) }));
112
- logger_1.log.info(`Downed DockerCompose environment`);
113
- }
114
- catch (err) {
115
- yield handleAndRethrow(err, (error) => __awaiter(this, void 0, void 0, function* () { return logger_1.log.error(`Failed to down DockerCompose environment: ${error.message}`); }));
116
- }
117
- });
118
- }
119
- }
120
- class DockerComposeV2Client {
121
- up(options, services) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- try {
124
- if (services) {
125
- logger_1.log.info(`Upping DockerCompose environment services ${services.join(", ")}...`);
126
- yield docker_compose_1.v2.upMany(services, yield (0, docker_compose_options_1.defaultDockerComposeOptions)(options));
127
- }
128
- else {
129
- logger_1.log.info(`Upping DockerCompose environment...`);
130
- yield docker_compose_1.v2.upAll(yield (0, docker_compose_options_1.defaultDockerComposeOptions)(options));
131
- }
132
- logger_1.log.info(`Upped DockerCompose environment`);
133
- }
134
- catch (err) {
135
- yield handleAndRethrow(err, (error) => __awaiter(this, void 0, void 0, function* () {
136
- try {
137
- logger_1.log.error(`Failed to up DockerCompose environment: ${error.message}`);
138
- yield this.down(options, { removeVolumes: true, timeout: 0 });
139
- }
140
- catch (_a) {
141
- logger_1.log.error(`Failed to down DockerCompose environment after failed up`);
142
- }
143
- }));
144
- }
145
- });
146
- }
147
- pull(options, services) {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- try {
150
- if (services) {
151
- logger_1.log.info(`Pulling DockerCompose environment images "${services.join('", "')}"...`);
152
- yield docker_compose_1.v2.pullMany(services, yield (0, docker_compose_options_1.defaultDockerComposeOptions)(Object.assign(Object.assign({}, options), { logger: logger_1.pullLog })));
153
- }
154
- else {
155
- logger_1.log.info(`Pulling DockerCompose environment images...`);
156
- yield docker_compose_1.v2.pullAll(yield (0, docker_compose_options_1.defaultDockerComposeOptions)(Object.assign(Object.assign({}, options), { logger: logger_1.pullLog })));
157
- }
158
- logger_1.log.info(`Pulled DockerCompose environment`);
159
- }
160
- catch (err) {
161
- yield handleAndRethrow(err, (error) => __awaiter(this, void 0, void 0, function* () { return logger_1.log.error(`Failed to pull DockerCompose environment images: ${error.message}`); }));
162
- }
163
- });
164
- }
165
- stop(options) {
166
- return __awaiter(this, void 0, void 0, function* () {
167
- try {
168
- logger_1.log.info(`Stopping DockerCompose environment...`);
169
- yield docker_compose_1.v2.stop(yield (0, docker_compose_options_1.defaultDockerComposeOptions)(options));
170
- logger_1.log.info(`Stopped DockerCompose environment`);
171
- }
172
- catch (err) {
173
- yield handleAndRethrow(err, (error) => __awaiter(this, void 0, void 0, function* () { return logger_1.log.error(`Failed to stop DockerCompose environment: ${error.message}`); }));
174
- }
175
- });
176
- }
177
- down(options, downOptions) {
178
- return __awaiter(this, void 0, void 0, function* () {
179
- try {
180
- logger_1.log.info(`Downing DockerCompose environment...`);
181
- yield docker_compose_1.v2.down(Object.assign(Object.assign({}, (yield (0, docker_compose_options_1.defaultDockerComposeOptions)(options))), { commandOptions: dockerComposeDownCommandOptions(downOptions) }));
182
- logger_1.log.info(`Downed DockerCompose environment`);
183
- }
184
- catch (err) {
185
- yield handleAndRethrow(err, (error) => __awaiter(this, void 0, void 0, function* () { return logger_1.log.error(`Failed to down DockerCompose environment: ${error.message}`); }));
186
- }
187
- });
188
- }
189
- }
190
- class MissingDockerComposeClient {
191
- up() {
192
- throw new Error("DockerCompose is not installed");
193
- }
194
- pull() {
195
- throw new Error("DockerCompose is not installed");
196
- }
197
- stop() {
198
- throw new Error("DockerCompose is not installed");
199
- }
200
- down() {
201
- throw new Error("DockerCompose is not installed");
202
- }
203
- }
204
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
205
- function handleAndRethrow(err, handle) {
206
- return __awaiter(this, void 0, void 0, function* () {
207
- const error = err instanceof Error ? err : new Error(err.err.trim());
208
- yield handle(error);
209
- throw error;
210
- });
211
- }
212
- function dockerComposeDownCommandOptions(options) {
213
- const result = [];
214
- if (options.removeVolumes) {
215
- result.push("-v");
216
- }
217
- if (options.timeout) {
218
- result.push("-t", `${options.timeout / 1000}`);
219
- }
220
- return result;
221
- }
@@ -1,17 +0,0 @@
1
- import { Environment } from "../docker/types";
2
- import { Logger } from "../logger";
3
- import { IDockerComposeOptions } from "docker-compose";
4
- export type DockerComposeOptions = {
5
- filePath: string;
6
- files: string | string[];
7
- projectName: string;
8
- commandOptions?: string[];
9
- composeOptions?: string[];
10
- environment?: Environment;
11
- logger?: Logger;
12
- };
13
- export declare const defaultDockerComposeOptions: ({ environment, ...options }: DockerComposeOptions) => Promise<Partial<IDockerComposeOptions>>;
14
- export type DockerComposeDownOptions = {
15
- timeout: number;
16
- removeVolumes: boolean;
17
- };
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __rest = (this && this.__rest) || function (s, e) {
12
- var t = {};
13
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
- t[p] = s[p];
15
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
- t[p[i]] = s[p[i]];
19
- }
20
- return t;
21
- };
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.defaultDockerComposeOptions = void 0;
24
- const logger_1 = require("../logger");
25
- const docker_client_1 = require("../docker/client/docker-client");
26
- const os_1 = require("os");
27
- const type_guards_1 = require("../type-guards");
28
- const defaultDockerComposeOptions = (_a) => __awaiter(void 0, void 0, void 0, function* () {
29
- var _b;
30
- var { environment = {} } = _a, options = __rest(_a, ["environment"]);
31
- const { composeEnvironment } = yield (0, docker_client_1.getDockerClient)();
32
- const log = (_b = options.logger) !== null && _b !== void 0 ? _b : logger_1.composeLog;
33
- return {
34
- log: false,
35
- callback: log.enabled()
36
- ? (chunk) => {
37
- chunk
38
- .toString()
39
- .split(os_1.EOL)
40
- .filter(type_guards_1.isNotEmptyString)
41
- .forEach((line) => log.trace(line.trim()));
42
- }
43
- : undefined,
44
- cwd: options.filePath,
45
- config: options.files,
46
- composeOptions: options.composeOptions,
47
- commandOptions: options.commandOptions,
48
- env: Object.assign(Object.assign(Object.assign(Object.assign({}, process.env), { COMPOSE_PROJECT_NAME: options.projectName }), composeEnvironment), environment),
49
- };
50
- });
51
- exports.defaultDockerComposeOptions = defaultDockerComposeOptions;