buncargo 1.0.29 → 3.2.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 (246) hide show
  1. package/dist/bin.d.ts +1 -12
  2. package/dist/bin.js +261 -253
  3. package/dist/cli/bin.d.ts +13 -0
  4. package/dist/cli/bin.js +317 -0
  5. package/dist/cli/commands/help.d.ts +1 -0
  6. package/dist/cli/commands/runtime.d.ts +5 -0
  7. package/dist/cli/commands/version.d.ts +1 -0
  8. package/dist/cli/index.d.ts +1 -0
  9. package/dist/cli/index.js +14 -0
  10. package/dist/cli/run-cli.d.ts +30 -0
  11. package/dist/cli.d.ts +1 -22
  12. package/dist/cli.js +5 -13
  13. package/dist/config/config.d.ts +1 -0
  14. package/dist/config/define-config.d.ts +13 -0
  15. package/dist/config/index.d.ts +3 -0
  16. package/dist/config/index.js +15 -0
  17. package/dist/config/merge-configs.d.ts +3 -0
  18. package/dist/config/validate-config.d.ts +3 -0
  19. package/dist/config.d.ts +1 -72
  20. package/dist/config.js +12 -12
  21. package/dist/core/docker.d.ts +1 -83
  22. package/dist/core/docker.js +35 -32
  23. package/dist/core/index.d.ts +1 -1
  24. package/dist/core/index.js +123 -118
  25. package/dist/core/network.js +2 -2
  26. package/dist/core/ports.js +1 -1
  27. package/dist/core/process.js +1 -1
  28. package/dist/core/quick-tunnel/cloudflared-process.d.ts +10 -0
  29. package/dist/core/quick-tunnel/constants.d.ts +9 -0
  30. package/dist/core/quick-tunnel/index.d.ts +17 -0
  31. package/dist/core/quick-tunnel/install.d.ts +1 -0
  32. package/dist/core/tunnel.d.ts +34 -0
  33. package/dist/core/utils.js +2 -2
  34. package/dist/core/watchdog-runner.js +45 -42
  35. package/dist/core/watchdog.d.ts +1 -0
  36. package/dist/core/watchdog.js +4 -2
  37. package/dist/docker/index.d.ts +1 -0
  38. package/dist/docker/index.js +38 -0
  39. package/dist/docker/runtime.d.ts +87 -0
  40. package/dist/docker/runtime.js +37 -0
  41. package/dist/docker-compose/compose.d.ts +1 -0
  42. package/dist/docker-compose/generated-file.d.ts +7 -0
  43. package/dist/docker-compose/index.d.ts +3 -0
  44. package/dist/docker-compose/index.js +15 -0
  45. package/dist/docker-compose/model.d.ts +6 -0
  46. package/dist/docker-compose/services/clickhouse.d.ts +16 -0
  47. package/dist/docker-compose/services/define-docker-service.d.ts +41 -0
  48. package/dist/docker-compose/services/index.d.ts +23 -0
  49. package/dist/docker-compose/services/index.js +17 -0
  50. package/dist/docker-compose/services/postgres.d.ts +12 -0
  51. package/dist/docker-compose/services/redis.d.ts +12 -0
  52. package/dist/docker-compose/services/shared.d.ts +7 -0
  53. package/dist/docker-compose/yaml.d.ts +2 -0
  54. package/dist/environment/create-dev-environment.d.ts +23 -0
  55. package/dist/environment/index.d.ts +1 -0
  56. package/dist/environment/index.js +15 -0
  57. package/dist/environment/logging.d.ts +17 -0
  58. package/dist/environment/only-apps.d.ts +10 -0
  59. package/dist/environment/seeding.d.ts +9 -0
  60. package/dist/environment.d.ts +1 -23
  61. package/dist/environment.js +12 -14
  62. package/dist/index-045jksh5.js +147 -0
  63. package/dist/index-08wa79cs.js +125 -117
  64. package/dist/index-0kxnae3z.js +335 -0
  65. package/dist/index-1mdrf7nz.js +51 -43
  66. package/dist/index-1yvbwj4k.js +262 -242
  67. package/dist/index-23ev345g.js +475 -0
  68. package/dist/index-2ckr49sf.js +228 -0
  69. package/dist/index-2f47khe5.js +376 -369
  70. package/dist/index-2fr3g85b.js +220 -183
  71. package/dist/index-38xnzpa6.js +450 -0
  72. package/dist/index-3eyrdxw9.js +577 -0
  73. package/dist/index-3h3dhtf2.js +51 -43
  74. package/dist/index-42x95209.js +51 -43
  75. package/dist/index-4gp0az1g.js +145 -0
  76. package/dist/index-4xrxh8yv.js +72 -0
  77. package/dist/index-5aq985p4.js +250 -0
  78. package/dist/index-5gmws6ah.js +181 -0
  79. package/dist/index-5hka0tff.js +78 -76
  80. package/dist/index-5rfqps4b.js +3 -0
  81. package/dist/index-5t9jxqm0.js +428 -0
  82. package/dist/index-6c1w1xk5.js +101 -0
  83. package/dist/index-6cmex7m5.js +72 -0
  84. package/dist/index-6d6x175r.js +572 -0
  85. package/dist/index-6fm7mvwj.js +118 -97
  86. package/dist/index-6srpc523.js +127 -128
  87. package/dist/index-731rzzfp.js +157 -142
  88. package/dist/index-75y4cg2z.js +51 -43
  89. package/dist/index-7ja4ywyj.js +126 -127
  90. package/dist/index-7v19es2e.js +666 -0
  91. package/dist/index-8bw1cmz4.js +531 -0
  92. package/dist/index-8hbbj1mp.js +120 -121
  93. package/dist/index-8xj2p5n5.js +118 -97
  94. package/dist/index-9wyhzw0h.js +574 -0
  95. package/dist/index-ag90ry8t.js +576 -0
  96. package/dist/index-bj79tw5w.js +0 -0
  97. package/dist/index-bnk6nr0g.js +73 -0
  98. package/dist/index-brbbzyks.js +72 -0
  99. package/dist/index-byeqyjrz.js +72 -0
  100. package/dist/index-c0dr6mcv.js +123 -0
  101. package/dist/index-cty0bcry.js +235 -218
  102. package/dist/index-d8tyv5se.js +228 -0
  103. package/dist/index-d9efy0n4.js +176 -150
  104. package/dist/index-enj4zdma.js +574 -0
  105. package/dist/index-etfmqjjf.js +427 -0
  106. package/dist/index-fb29934k.js +172 -0
  107. package/dist/index-g50jw1yf.js +72 -0
  108. package/dist/index-g6eb5wdw.js +118 -117
  109. package/dist/index-ggq3yryx.js +99 -95
  110. package/dist/index-h70tce00.js +177 -0
  111. package/dist/index-hkxtfqtc.js +333 -0
  112. package/dist/index-k370bech.js +72 -0
  113. package/dist/index-kf3dhser.js +146 -143
  114. package/dist/index-ma6tgdb2.js +500 -0
  115. package/dist/index-mam0bcyz.js +123 -0
  116. package/dist/index-mm412dkp.js +274 -0
  117. package/dist/index-n8v18aeb.js +0 -0
  118. package/dist/index-ndnmnsej.js +378 -371
  119. package/dist/index-p8wty0e2.js +389 -379
  120. package/dist/index-qa8akv6y.js +666 -0
  121. package/dist/index-qfphr2fd.js +78 -76
  122. package/dist/index-qqmms8rs.js +51 -43
  123. package/dist/index-qw4093g2.js +51 -43
  124. package/dist/index-qzwpzjbx.js +121 -122
  125. package/dist/index-segbnm0h.js +146 -143
  126. package/dist/index-t0fj6gg1.js +112 -0
  127. package/dist/index-thdkwnv7.js +122 -0
  128. package/dist/index-tjbx2r2t.js +270 -0
  129. package/dist/index-tjqw9vtj.js +62 -54
  130. package/dist/index-vbpb89jy.js +248 -0
  131. package/dist/index-vg55rq0y.js +250 -0
  132. package/dist/index-vhs88xhe.js +99 -95
  133. package/dist/index-vs81yaks.js +244 -0
  134. package/dist/index-w8zxnjka.js +249 -0
  135. package/dist/index-wk2na3t9.js +385 -375
  136. package/dist/index-wz9x8g7z.js +383 -373
  137. package/dist/index-x249gyde.js +388 -378
  138. package/dist/index-x54nbgs7.js +355 -0
  139. package/dist/index-xkvd0nsd.js +187 -0
  140. package/dist/index-yedqxm1z.js +80 -0
  141. package/dist/index-yz4jfz7z.js +338 -0
  142. package/dist/index-zfjzzjkf.js +240 -199
  143. package/dist/index.d.ts +12 -8
  144. package/dist/index.js +56 -34
  145. package/dist/lint.d.ts +1 -46
  146. package/dist/lint.js +3 -7
  147. package/dist/loader/cache.d.ts +4 -0
  148. package/dist/loader/find-config-file.d.ts +2 -0
  149. package/dist/loader/index.d.ts +5 -0
  150. package/dist/loader/index.js +24 -0
  151. package/dist/loader/load-dev-env.d.ts +5 -0
  152. package/dist/loader/loader.d.ts +1 -0
  153. package/dist/loader.d.ts +1 -45
  154. package/dist/loader.js +22 -20
  155. package/dist/prisma/index.d.ts +1 -0
  156. package/dist/prisma/prisma.d.ts +29 -0
  157. package/dist/prisma.d.ts +1 -29
  158. package/dist/prisma.js +6 -10
  159. package/dist/src/bin.js +309 -0
  160. package/dist/src/cli.js +5 -0
  161. package/dist/src/config.js +15 -0
  162. package/dist/src/core/docker.js +38 -0
  163. package/dist/src/core/index.js +130 -0
  164. package/dist/src/core/network.js +9 -0
  165. package/dist/src/core/ports.js +23 -0
  166. package/dist/src/core/process.js +31 -0
  167. package/dist/src/core/utils.js +11 -0
  168. package/dist/src/core/watchdog-runner.js +69 -0
  169. package/dist/src/core/watchdog.js +28 -0
  170. package/dist/src/docker/runtime.js +37 -0
  171. package/dist/src/docker-compose/index.js +16 -0
  172. package/dist/src/docker-compose/services/index.js +17 -0
  173. package/dist/src/environment.js +12 -0
  174. package/dist/src/index.js +122 -0
  175. package/dist/src/lint.js +3 -0
  176. package/dist/src/loader.js +25 -0
  177. package/dist/src/prisma.js +6 -0
  178. package/dist/src/types.js +0 -0
  179. package/dist/typecheck/index.d.ts +1 -0
  180. package/dist/typecheck/index.js +7 -0
  181. package/dist/typecheck/typecheck.d.ts +46 -0
  182. package/dist/types/all-types.d.ts +544 -0
  183. package/dist/types/cli.d.ts +1 -0
  184. package/dist/types/config.d.ts +6 -0
  185. package/dist/types/docker.d.ts +15 -0
  186. package/dist/types/environment.d.ts +8 -0
  187. package/dist/types/hooks.d.ts +9 -0
  188. package/dist/types/index.d.ts +1 -0
  189. package/dist/types/index.js +0 -0
  190. package/dist/types/prisma.d.ts +1 -0
  191. package/dist/types.d.ts +1 -399
  192. package/package.json +55 -48
  193. package/readme.md +365 -109
  194. package/src/cli/bin.ts +77 -0
  195. package/src/cli/commands/help.ts +39 -0
  196. package/src/cli/commands/runtime.ts +72 -0
  197. package/src/cli/commands/version.ts +4 -0
  198. package/src/cli/index.ts +1 -0
  199. package/{cli.ts → src/cli/run-cli.ts} +114 -10
  200. package/src/config/define-config.ts +30 -0
  201. package/src/config/index.ts +3 -0
  202. package/src/config/merge-configs.ts +33 -0
  203. package/src/config/validate-config.ts +136 -0
  204. package/{core → src/core}/index.ts +2 -2
  205. package/{core → src/core}/ports.ts +5 -2
  206. package/{core → src/core}/process.ts +6 -2
  207. package/src/core/quick-tunnel/cloudflared-process.ts +83 -0
  208. package/src/core/quick-tunnel/constants.ts +31 -0
  209. package/src/core/quick-tunnel/index.ts +96 -0
  210. package/src/core/quick-tunnel/install.ts +160 -0
  211. package/src/core/tunnel.ts +165 -0
  212. package/{core → src/core}/utils.ts +1 -0
  213. package/{core → src/core}/watchdog.ts +5 -1
  214. package/src/docker/index.ts +1 -0
  215. package/{core/docker.ts → src/docker/runtime.ts} +11 -4
  216. package/src/docker-compose/generated-file.ts +45 -0
  217. package/src/docker-compose/index.ts +7 -0
  218. package/src/docker-compose/model.ts +197 -0
  219. package/src/docker-compose/services/clickhouse.ts +79 -0
  220. package/src/docker-compose/services/define-docker-service.ts +109 -0
  221. package/src/docker-compose/services/index.ts +67 -0
  222. package/src/docker-compose/services/postgres.ts +60 -0
  223. package/src/docker-compose/services/redis.ts +48 -0
  224. package/src/docker-compose/services/shared.ts +79 -0
  225. package/src/docker-compose/yaml.ts +88 -0
  226. package/{environment.ts → src/environment/create-dev-environment.ts} +214 -141
  227. package/src/environment/index.ts +1 -0
  228. package/src/environment/logging.ts +115 -0
  229. package/src/environment/only-apps.ts +34 -0
  230. package/src/environment/seeding.ts +57 -0
  231. package/{index.ts → src/index.ts} +52 -20
  232. package/src/loader/cache.ts +23 -0
  233. package/src/loader/find-config-file.ts +29 -0
  234. package/src/loader/index.ts +17 -0
  235. package/src/loader/load-dev-env.ts +38 -0
  236. package/src/prisma/index.ts +1 -0
  237. package/{prisma.ts → src/prisma/prisma.ts} +4 -2
  238. package/src/typecheck/index.ts +1 -0
  239. package/{types.ts → src/types/all-types.ts} +186 -8
  240. package/src/types/index.ts +1 -0
  241. package/bin.ts +0 -192
  242. package/config.ts +0 -194
  243. package/loader.ts +0 -126
  244. /package/{core → src/core}/network.ts +0 -0
  245. /package/{core → src/core}/watchdog-runner.ts +0 -0
  246. /package/{lint.ts → src/typecheck/typecheck.ts} +0 -0
@@ -1,35 +1,38 @@
1
+ import "../index-n8v18aeb.js";
1
2
  import {
2
- DOCKER_NOT_RUNNING_MESSAGE,
3
- MAX_ATTEMPTS,
4
- POLL_INTERVAL,
5
- areContainersRunning,
6
- assertDockerRunning,
7
- createBuiltInHealthCheck,
8
- isContainerRunning,
9
- isDockerRunning,
10
- startContainers,
11
- startService,
12
- stopContainers,
13
- waitForAllServices,
14
- waitForService,
15
- waitForServiceByType
16
- } from "../index-zfjzzjkf.js";
17
- import"../index-8xj2p5n5.js";
18
- import"../index-731rzzfp.js";
19
- import"../index-qnx9j3qa.js";
3
+ areContainersRunning,
4
+ assertDockerRunning,
5
+ createBuiltInHealthCheck,
6
+ DOCKER_NOT_RUNNING_MESSAGE,
7
+ getComposeArg,
8
+ isContainerRunning,
9
+ isDockerRunning,
10
+ MAX_ATTEMPTS,
11
+ POLL_INTERVAL,
12
+ startContainers,
13
+ startService,
14
+ stopContainers,
15
+ waitForAllServices,
16
+ waitForService,
17
+ waitForServiceByType,
18
+ } from "../index-tjbx2r2t.js";
19
+ import "../index-4gp0az1g.js";
20
+ import "../index-xkvd0nsd.js";
21
+ import "../index-qnx9j3qa.js";
20
22
  export {
21
- waitForServiceByType,
22
- waitForService,
23
- waitForAllServices,
24
- stopContainers,
25
- startService,
26
- startContainers,
27
- isDockerRunning,
28
- isContainerRunning,
29
- createBuiltInHealthCheck,
30
- assertDockerRunning,
31
- areContainersRunning,
32
- POLL_INTERVAL,
33
- MAX_ATTEMPTS,
34
- DOCKER_NOT_RUNNING_MESSAGE
23
+ waitForServiceByType,
24
+ waitForService,
25
+ waitForAllServices,
26
+ stopContainers,
27
+ startService,
28
+ startContainers,
29
+ isDockerRunning,
30
+ isContainerRunning,
31
+ getComposeArg,
32
+ createBuiltInHealthCheck,
33
+ assertDockerRunning,
34
+ areContainersRunning,
35
+ POLL_INTERVAL,
36
+ MAX_ATTEMPTS,
37
+ DOCKER_NOT_RUNNING_MESSAGE,
35
38
  };
@@ -1,6 +1,6 @@
1
- export * from "./docker";
2
1
  export * from "./network";
3
2
  export * from "./ports";
4
3
  export * from "./process";
4
+ export * from "./tunnel";
5
5
  export * from "./utils";
6
6
  export * from "./watchdog";
@@ -1,125 +1,130 @@
1
+ import "../index-n8v18aeb.js";
1
2
  import {
2
- getHeartbeatFile,
3
- getWatchdogPid,
4
- getWatchdogPidFile,
5
- isWatchdogRunning,
6
- readHeartbeat,
7
- removeHeartbeatFile,
8
- spawnWatchdog,
9
- startHeartbeat,
10
- stopHeartbeat,
11
- stopWatchdog
12
- } from "../index-ggq3yryx.js";
3
+ getEnvVar,
4
+ getLocalIp,
5
+ isCI,
6
+ isPortAvailable,
7
+ logApiUrl,
8
+ logExpoApiUrl,
9
+ logFrontendPort,
10
+ sleep,
11
+ waitForDevServers,
12
+ waitForServer,
13
+ } from "../index-4gp0az1g.js";
13
14
  import {
14
- buildApps,
15
- exec,
16
- execAsync,
17
- getProcessOnPort,
18
- isPortInUse,
19
- isProcessAlive,
20
- killProcessOnPort,
21
- killProcessOnPortAndWait,
22
- killProcessesOnAppPorts,
23
- spawnDevServer,
24
- startDevServers,
25
- stopAllProcesses,
26
- stopProcess
27
- } from "../index-1yvbwj4k.js";
15
+ getHeartbeatFile,
16
+ getWatchdogComposeArg,
17
+ getWatchdogPid,
18
+ getWatchdogPidFile,
19
+ isWatchdogRunning,
20
+ readHeartbeat,
21
+ removeHeartbeatFile,
22
+ spawnWatchdog,
23
+ startHeartbeat,
24
+ stopHeartbeat,
25
+ stopWatchdog,
26
+ } from "../index-mam0bcyz.js";
28
27
  import {
29
- DOCKER_NOT_RUNNING_MESSAGE,
30
- MAX_ATTEMPTS,
31
- POLL_INTERVAL,
32
- areContainersRunning,
33
- assertDockerRunning,
34
- createBuiltInHealthCheck,
35
- isContainerRunning,
36
- isDockerRunning,
37
- startContainers,
38
- startService,
39
- stopContainers,
40
- waitForAllServices,
41
- waitForService,
42
- waitForServiceByType
43
- } from "../index-zfjzzjkf.js";
28
+ buildApps,
29
+ exec,
30
+ execAsync,
31
+ getProcessOnPort,
32
+ isPortInUse,
33
+ isProcessAlive,
34
+ killProcessesOnAppPorts,
35
+ killProcessOnPort,
36
+ killProcessOnPortAndWait,
37
+ spawnDevServer,
38
+ startDevServers,
39
+ stopAllProcesses,
40
+ stopProcess,
41
+ } from "../index-mm412dkp.js";
44
42
  import {
45
- getEnvVar,
46
- getLocalIp,
47
- isCI,
48
- isPortAvailable,
49
- logApiUrl,
50
- logExpoApiUrl,
51
- logFrontendPort,
52
- sleep,
53
- waitForDevServers,
54
- waitForServer
55
- } from "../index-8xj2p5n5.js";
43
+ areContainersRunning,
44
+ assertDockerRunning,
45
+ createBuiltInHealthCheck,
46
+ DOCKER_NOT_RUNNING_MESSAGE,
47
+ getComposeArg,
48
+ isContainerRunning,
49
+ isDockerRunning,
50
+ MAX_ATTEMPTS,
51
+ POLL_INTERVAL,
52
+ startContainers,
53
+ startService,
54
+ stopContainers,
55
+ waitForAllServices,
56
+ waitForService,
57
+ waitForServiceByType,
58
+ } from "../index-tjbx2r2t.js";
56
59
  import {
57
- calculatePortOffset,
58
- computeDevIdentity,
59
- computePorts,
60
- computeUrls,
61
- findMonorepoRoot,
62
- getProjectName,
63
- getWorktreeName,
64
- getWorktreeProjectSuffix,
65
- isWorktree
66
- } from "../index-731rzzfp.js";
67
- import"../index-qnx9j3qa.js";
60
+ calculatePortOffset,
61
+ computeDevIdentity,
62
+ computePorts,
63
+ computeUrls,
64
+ findMonorepoRoot,
65
+ getProjectName,
66
+ getWorktreeName,
67
+ getWorktreeProjectSuffix,
68
+ isWorktree,
69
+ } from "../index-xkvd0nsd.js";
70
+ import "../index-qnx9j3qa.js";
68
71
  export {
69
- waitForServiceByType,
70
- waitForService,
71
- waitForServer,
72
- waitForDevServers,
73
- waitForAllServices,
74
- stopWatchdog,
75
- stopProcess,
76
- stopHeartbeat,
77
- stopContainers,
78
- stopAllProcesses,
79
- startService,
80
- startHeartbeat,
81
- startDevServers,
82
- startContainers,
83
- spawnWatchdog,
84
- spawnDevServer,
85
- sleep,
86
- removeHeartbeatFile,
87
- readHeartbeat,
88
- logFrontendPort,
89
- logExpoApiUrl,
90
- logApiUrl,
91
- killProcessesOnAppPorts,
92
- killProcessOnPortAndWait,
93
- killProcessOnPort,
94
- isWorktree,
95
- isWatchdogRunning,
96
- isProcessAlive,
97
- isPortInUse,
98
- isPortAvailable,
99
- isDockerRunning,
100
- isContainerRunning,
101
- isCI,
102
- getWorktreeProjectSuffix,
103
- getWorktreeName,
104
- getWatchdogPidFile,
105
- getWatchdogPid,
106
- getProjectName,
107
- getProcessOnPort,
108
- getLocalIp,
109
- getHeartbeatFile,
110
- getEnvVar,
111
- findMonorepoRoot,
112
- execAsync,
113
- exec,
114
- createBuiltInHealthCheck,
115
- computeUrls,
116
- computePorts,
117
- computeDevIdentity,
118
- calculatePortOffset,
119
- buildApps,
120
- assertDockerRunning,
121
- areContainersRunning,
122
- POLL_INTERVAL,
123
- MAX_ATTEMPTS,
124
- DOCKER_NOT_RUNNING_MESSAGE
72
+ waitForServiceByType,
73
+ waitForService,
74
+ waitForServer,
75
+ waitForDevServers,
76
+ waitForAllServices,
77
+ stopWatchdog,
78
+ stopProcess,
79
+ stopHeartbeat,
80
+ stopContainers,
81
+ stopAllProcesses,
82
+ startService,
83
+ startHeartbeat,
84
+ startDevServers,
85
+ startContainers,
86
+ spawnWatchdog,
87
+ spawnDevServer,
88
+ sleep,
89
+ removeHeartbeatFile,
90
+ readHeartbeat,
91
+ logFrontendPort,
92
+ logExpoApiUrl,
93
+ logApiUrl,
94
+ killProcessesOnAppPorts,
95
+ killProcessOnPortAndWait,
96
+ killProcessOnPort,
97
+ isWorktree,
98
+ isWatchdogRunning,
99
+ isProcessAlive,
100
+ isPortInUse,
101
+ isPortAvailable,
102
+ isDockerRunning,
103
+ isContainerRunning,
104
+ isCI,
105
+ getWorktreeProjectSuffix,
106
+ getWorktreeName,
107
+ getWatchdogPidFile,
108
+ getWatchdogPid,
109
+ getWatchdogComposeArg,
110
+ getProjectName,
111
+ getProcessOnPort,
112
+ getLocalIp,
113
+ getHeartbeatFile,
114
+ getEnvVar,
115
+ getComposeArg,
116
+ findMonorepoRoot,
117
+ execAsync,
118
+ exec,
119
+ createBuiltInHealthCheck,
120
+ computeUrls,
121
+ computePorts,
122
+ computeDevIdentity,
123
+ calculatePortOffset,
124
+ buildApps,
125
+ assertDockerRunning,
126
+ areContainersRunning,
127
+ POLL_INTERVAL,
128
+ MAX_ATTEMPTS,
129
+ DOCKER_NOT_RUNNING_MESSAGE,
125
130
  };
@@ -3,8 +3,8 @@ import {
3
3
  isPortAvailable,
4
4
  waitForDevServers,
5
5
  waitForServer
6
- } from "../index-8xj2p5n5.js";
7
- import"../index-731rzzfp.js";
6
+ } from "../index-c0dr6mcv.js";
7
+ import"../index-fb29934k.js";
8
8
  import"../index-qnx9j3qa.js";
9
9
  export {
10
10
  waitForServer,
@@ -8,7 +8,7 @@ import {
8
8
  getWorktreeName,
9
9
  getWorktreeProjectSuffix,
10
10
  isWorktree
11
- } from "../index-731rzzfp.js";
11
+ } from "../index-fb29934k.js";
12
12
  import"../index-qnx9j3qa.js";
13
13
  export {
14
14
  isWorktree,
@@ -12,7 +12,7 @@ import {
12
12
  startDevServers,
13
13
  stopAllProcesses,
14
14
  stopProcess
15
- } from "../index-1yvbwj4k.js";
15
+ } from "../index-mm412dkp.js";
16
16
  import"../index-qnx9j3qa.js";
17
17
  export {
18
18
  stopProcess,
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Spawn cloudflared and parse the quick-tunnel public URL from output.
3
+ * Derived from unjs/untun (MIT), originally forked from node-cloudflared.
4
+ */
5
+ import { type ChildProcess } from "node:child_process";
6
+ export declare function startCloudflaredTunnel(options: Record<string, string | number | null>): {
7
+ url: Promise<string>;
8
+ child: ChildProcess;
9
+ stop: () => boolean;
10
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Paths and release metadata for the cloudflared binary.
3
+ * Derived from unjs/untun (MIT), originally forked from node-cloudflared.
4
+ */
5
+ export declare const CLOUDFLARED_VERSION: string;
6
+ export declare const RELEASE_BASE = "https://github.com/cloudflare/cloudflared/releases/";
7
+ /** Directory for buncargo-managed cloudflared (avoid clashing with untun's node-untun). */
8
+ export declare const cloudflaredBinPath: string;
9
+ export declare const cloudflaredNotice = "\n\uD83D\uDD25 Your installation of cloudflared software constitutes a symbol of your signature\n indicating that you accept the terms of the Cloudflare License, Terms and Privacy Policy.\n\n\u276F License: `https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/license/`\n\u276F Terms: `https://www.cloudflare.com/terms/`\n\u276F Privacy Policy: `https://www.cloudflare.com/privacypolicy/`\n";
@@ -0,0 +1,17 @@
1
+ export interface QuickTunnelOptions {
2
+ url?: string;
3
+ port?: number | string;
4
+ hostname?: string;
5
+ protocol?: "http" | "https";
6
+ verifyTLS?: boolean;
7
+ acceptCloudflareNotice?: boolean;
8
+ }
9
+ export interface QuickTunnel {
10
+ getURL: () => Promise<string>;
11
+ close: () => Promise<void>;
12
+ }
13
+ /**
14
+ * Start a Cloudflare quick tunnel to a local HTTP(S) URL.
15
+ * Returns undefined if the user declines the cloudflared install (when binary is missing).
16
+ */
17
+ export declare function startQuickTunnel(opts: QuickTunnelOptions): Promise<QuickTunnel | undefined>;
@@ -0,0 +1 @@
1
+ export declare function installCloudflared(to?: string, version?: string): Promise<string>;
@@ -0,0 +1,34 @@
1
+ import type { AppConfig, DevEnvironment, ServiceConfig } from "../types";
2
+ export interface PublicExposeTarget {
3
+ kind: "service" | "app";
4
+ name: string;
5
+ port: number;
6
+ }
7
+ export interface PublicTunnel {
8
+ kind: "service" | "app";
9
+ name: string;
10
+ localUrl: string;
11
+ publicUrl: string;
12
+ close: () => Promise<void>;
13
+ }
14
+ interface TunnelBackendResult {
15
+ getURL?: () => Promise<string>;
16
+ url?: string;
17
+ publicUrl?: string;
18
+ tunnelUrl?: string;
19
+ close?: () => void | Promise<void>;
20
+ stop?: () => void | Promise<void>;
21
+ destroy?: () => void | Promise<void>;
22
+ }
23
+ export declare function resolveExposeTargets<TServices extends Record<string, ServiceConfig>, TApps extends Record<string, AppConfig>>(env: DevEnvironment<TServices, TApps>, exposeValue?: string): {
24
+ targets: PublicExposeTarget[];
25
+ unknownNames: string[];
26
+ notEnabledNames: string[];
27
+ };
28
+ export declare function startPublicTunnels(targets: PublicExposeTarget[], options?: {
29
+ start?: (input: {
30
+ url: string;
31
+ }) => Promise<TunnelBackendResult | undefined>;
32
+ }): Promise<PublicTunnel[]>;
33
+ export declare function stopPublicTunnels(tunnels: PublicTunnel[]): Promise<void>;
34
+ export {};
@@ -5,8 +5,8 @@ import {
5
5
  logExpoApiUrl,
6
6
  logFrontendPort,
7
7
  sleep
8
- } from "../index-8xj2p5n5.js";
9
- import"../index-731rzzfp.js";
8
+ } from "../index-c0dr6mcv.js";
9
+ import"../index-fb29934k.js";
10
10
  import"../index-qnx9j3qa.js";
11
11
  export {
12
12
  sleep,
@@ -1,6 +1,7 @@
1
- // core/watchdog-runner.ts
1
+ // src/core/watchdog-runner.ts
2
2
  import { execSync } from "node:child_process";
3
3
  import { existsSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
4
+
4
5
  var PROJECT_NAME = process.env.WATCHDOG_PROJECT_NAME ?? "";
5
6
  var HEARTBEAT_FILE = process.env.WATCHDOG_HEARTBEAT_FILE ?? "";
6
7
  var PID_FILE = process.env.WATCHDOG_PID_FILE ?? "";
@@ -8,59 +9,61 @@ var IDLE_TIMEOUT = parseInt(process.env.WATCHDOG_TIMEOUT_MS ?? "600000", 10);
8
9
  var COMPOSE_ARG = process.env.WATCHDOG_COMPOSE_ARG ?? "";
9
10
  var CHECK_INTERVAL = 60000;
10
11
  if (!PROJECT_NAME || !HEARTBEAT_FILE || !PID_FILE) {
11
- console.error("[watchdog] Missing required environment variables");
12
- process.exit(1);
12
+ console.error("[watchdog] Missing required environment variables");
13
+ process.exit(1);
13
14
  }
14
15
  var heartbeatFile = HEARTBEAT_FILE;
15
16
  var pidFile = PID_FILE;
16
17
  writeFileSync(pidFile, process.pid.toString());
17
18
  function cleanup() {
18
- try {
19
- unlinkSync(pidFile);
20
- } catch {}
21
- try {
22
- unlinkSync(heartbeatFile);
23
- } catch {}
19
+ try {
20
+ unlinkSync(pidFile);
21
+ } catch {}
22
+ try {
23
+ unlinkSync(heartbeatFile);
24
+ } catch {}
24
25
  }
25
26
  process.on("SIGTERM", () => {
26
- cleanup();
27
- process.exit(0);
27
+ cleanup();
28
+ process.exit(0);
28
29
  });
29
30
  process.on("SIGINT", () => {
30
- cleanup();
31
- process.exit(0);
31
+ cleanup();
32
+ process.exit(0);
32
33
  });
33
34
  console.log(`[watchdog] Started for ${PROJECT_NAME} (PID: ${process.pid})`);
34
35
  console.log(`[watchdog] Idle timeout: ${IDLE_TIMEOUT / 60000} minutes`);
35
36
  async function watchdog() {
36
- while (true) {
37
- await new Promise((r) => setTimeout(r, CHECK_INTERVAL));
38
- if (!existsSync(heartbeatFile)) {
39
- continue;
40
- }
41
- let lastBeat;
42
- try {
43
- const content = readFileSync(heartbeatFile, "utf-8");
44
- lastBeat = parseInt(content, 10);
45
- } catch {
46
- continue;
47
- }
48
- if (Number.isNaN(lastBeat)) {
49
- continue;
50
- }
51
- const elapsed = Date.now() - lastBeat;
52
- if (elapsed > IDLE_TIMEOUT) {
53
- console.log(`[watchdog] No heartbeat for ${Math.ceil(elapsed / 60000)} minutes, shutting down...`);
54
- try {
55
- execSync(`docker compose ${COMPOSE_ARG} down`.trim(), {
56
- env: { ...process.env, COMPOSE_PROJECT_NAME: PROJECT_NAME },
57
- stdio: "ignore"
58
- });
59
- } catch {}
60
- console.log("[watchdog] Containers stopped");
61
- cleanup();
62
- process.exit(0);
63
- }
64
- }
37
+ while (true) {
38
+ await new Promise((r) => setTimeout(r, CHECK_INTERVAL));
39
+ if (!existsSync(heartbeatFile)) {
40
+ continue;
41
+ }
42
+ let lastBeat;
43
+ try {
44
+ const content = readFileSync(heartbeatFile, "utf-8");
45
+ lastBeat = parseInt(content, 10);
46
+ } catch {
47
+ continue;
48
+ }
49
+ if (Number.isNaN(lastBeat)) {
50
+ continue;
51
+ }
52
+ const elapsed = Date.now() - lastBeat;
53
+ if (elapsed > IDLE_TIMEOUT) {
54
+ console.log(
55
+ `[watchdog] No heartbeat for ${Math.ceil(elapsed / 60000)} minutes, shutting down...`,
56
+ );
57
+ try {
58
+ execSync(`docker compose ${COMPOSE_ARG} down`.trim(), {
59
+ env: { ...process.env, COMPOSE_PROJECT_NAME: PROJECT_NAME },
60
+ stdio: "ignore",
61
+ });
62
+ } catch {}
63
+ console.log("[watchdog] Containers stopped");
64
+ cleanup();
65
+ process.exit(0);
66
+ }
67
+ }
65
68
  }
66
69
  watchdog();
@@ -35,6 +35,7 @@ export declare function getWatchdogPid(projectName: string): number | null;
35
35
  * Spawn watchdog as a detached process.
36
36
  * The watchdog monitors the heartbeat file and shuts down containers after idle timeout.
37
37
  */
38
+ export declare function getWatchdogComposeArg(composeFile?: string): string;
38
39
  export declare function spawnWatchdog(projectName: string, root: string, options?: {
39
40
  timeoutMinutes?: number;
40
41
  verbose?: boolean;
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  getHeartbeatFile,
3
+ getWatchdogComposeArg,
3
4
  getWatchdogPid,
4
5
  getWatchdogPidFile,
5
6
  isWatchdogRunning,
@@ -9,8 +10,8 @@ import {
9
10
  startHeartbeat,
10
11
  stopHeartbeat,
11
12
  stopWatchdog
12
- } from "../index-ggq3yryx.js";
13
- import"../index-1yvbwj4k.js";
13
+ } from "../index-mam0bcyz.js";
14
+ import"../index-mm412dkp.js";
14
15
  import"../index-qnx9j3qa.js";
15
16
  export {
16
17
  stopWatchdog,
@@ -22,5 +23,6 @@ export {
22
23
  isWatchdogRunning,
23
24
  getWatchdogPidFile,
24
25
  getWatchdogPid,
26
+ getWatchdogComposeArg,
25
27
  getHeartbeatFile
26
28
  };
@@ -0,0 +1 @@
1
+ export * from "./runtime";
@@ -0,0 +1,38 @@
1
+ import"../index-bj79tw5w.js";
2
+ import {
3
+ DOCKER_NOT_RUNNING_MESSAGE,
4
+ MAX_ATTEMPTS,
5
+ POLL_INTERVAL,
6
+ areContainersRunning,
7
+ assertDockerRunning,
8
+ createBuiltInHealthCheck,
9
+ getComposeArg,
10
+ isContainerRunning,
11
+ isDockerRunning,
12
+ startContainers,
13
+ startService,
14
+ stopContainers,
15
+ waitForAllServices,
16
+ waitForService,
17
+ waitForServiceByType
18
+ } from "../index-d8tyv5se.js";
19
+ import"../index-c0dr6mcv.js";
20
+ import"../index-fb29934k.js";
21
+ import"../index-qnx9j3qa.js";
22
+ export {
23
+ waitForServiceByType,
24
+ waitForService,
25
+ waitForAllServices,
26
+ stopContainers,
27
+ startService,
28
+ startContainers,
29
+ isDockerRunning,
30
+ isContainerRunning,
31
+ getComposeArg,
32
+ createBuiltInHealthCheck,
33
+ assertDockerRunning,
34
+ areContainersRunning,
35
+ POLL_INTERVAL,
36
+ MAX_ATTEMPTS,
37
+ DOCKER_NOT_RUNNING_MESSAGE
38
+ };