buncargo 1.0.29 → 3.0.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 (221) 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 +315 -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 +22 -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/tunnel.d.ts +33 -0
  29. package/dist/core/utils.js +2 -2
  30. package/dist/core/watchdog-runner.js +45 -42
  31. package/dist/core/watchdog.d.ts +1 -0
  32. package/dist/core/watchdog.js +4 -2
  33. package/dist/docker/index.d.ts +1 -0
  34. package/dist/docker/index.js +38 -0
  35. package/dist/docker/runtime.d.ts +87 -0
  36. package/dist/docker/runtime.js +37 -0
  37. package/dist/docker-compose/compose.d.ts +1 -0
  38. package/dist/docker-compose/generated-file.d.ts +7 -0
  39. package/dist/docker-compose/index.d.ts +3 -0
  40. package/dist/docker-compose/index.js +15 -0
  41. package/dist/docker-compose/model.d.ts +6 -0
  42. package/dist/docker-compose/services/clickhouse.d.ts +16 -0
  43. package/dist/docker-compose/services/define-docker-service.d.ts +41 -0
  44. package/dist/docker-compose/services/index.d.ts +23 -0
  45. package/dist/docker-compose/services/index.js +17 -0
  46. package/dist/docker-compose/services/postgres.d.ts +12 -0
  47. package/dist/docker-compose/services/redis.d.ts +12 -0
  48. package/dist/docker-compose/services/shared.d.ts +7 -0
  49. package/dist/docker-compose/yaml.d.ts +2 -0
  50. package/dist/environment/create-dev-environment.d.ts +23 -0
  51. package/dist/environment/index.d.ts +1 -0
  52. package/dist/environment/index.js +15 -0
  53. package/dist/environment/logging.d.ts +17 -0
  54. package/dist/environment/seeding.d.ts +9 -0
  55. package/dist/environment.d.ts +1 -23
  56. package/dist/environment.js +12 -14
  57. package/dist/index-045jksh5.js +147 -0
  58. package/dist/index-08wa79cs.js +125 -117
  59. package/dist/index-0kxnae3z.js +335 -0
  60. package/dist/index-1mdrf7nz.js +51 -43
  61. package/dist/index-1yvbwj4k.js +262 -242
  62. package/dist/index-23ev345g.js +475 -0
  63. package/dist/index-2ckr49sf.js +228 -0
  64. package/dist/index-2f47khe5.js +376 -369
  65. package/dist/index-2fr3g85b.js +220 -183
  66. package/dist/index-38xnzpa6.js +450 -0
  67. package/dist/index-3h3dhtf2.js +51 -43
  68. package/dist/index-42x95209.js +51 -43
  69. package/dist/index-4gp0az1g.js +145 -0
  70. package/dist/index-4xrxh8yv.js +72 -0
  71. package/dist/index-5gmws6ah.js +181 -0
  72. package/dist/index-5hka0tff.js +78 -76
  73. package/dist/index-5rfqps4b.js +3 -0
  74. package/dist/index-5t9jxqm0.js +428 -0
  75. package/dist/index-6c1w1xk5.js +101 -0
  76. package/dist/index-6fm7mvwj.js +118 -97
  77. package/dist/index-6srpc523.js +127 -128
  78. package/dist/index-731rzzfp.js +157 -142
  79. package/dist/index-75y4cg2z.js +51 -43
  80. package/dist/index-7ja4ywyj.js +126 -127
  81. package/dist/index-8bw1cmz4.js +531 -0
  82. package/dist/index-8hbbj1mp.js +120 -121
  83. package/dist/index-8xj2p5n5.js +118 -97
  84. package/dist/index-bj79tw5w.js +0 -0
  85. package/dist/index-bnk6nr0g.js +73 -0
  86. package/dist/index-brbbzyks.js +72 -0
  87. package/dist/index-c0dr6mcv.js +123 -0
  88. package/dist/index-cty0bcry.js +235 -218
  89. package/dist/index-d8tyv5se.js +228 -0
  90. package/dist/index-d9efy0n4.js +176 -150
  91. package/dist/index-etfmqjjf.js +427 -0
  92. package/dist/index-fb29934k.js +172 -0
  93. package/dist/index-g50jw1yf.js +72 -0
  94. package/dist/index-g6eb5wdw.js +118 -117
  95. package/dist/index-ggq3yryx.js +99 -95
  96. package/dist/index-h70tce00.js +177 -0
  97. package/dist/index-hkxtfqtc.js +333 -0
  98. package/dist/index-kf3dhser.js +146 -143
  99. package/dist/index-ma6tgdb2.js +500 -0
  100. package/dist/index-mam0bcyz.js +123 -0
  101. package/dist/index-mm412dkp.js +274 -0
  102. package/dist/index-n8v18aeb.js +0 -0
  103. package/dist/index-ndnmnsej.js +378 -371
  104. package/dist/index-p8wty0e2.js +389 -379
  105. package/dist/index-qfphr2fd.js +78 -76
  106. package/dist/index-qqmms8rs.js +51 -43
  107. package/dist/index-qw4093g2.js +51 -43
  108. package/dist/index-qzwpzjbx.js +121 -122
  109. package/dist/index-segbnm0h.js +146 -143
  110. package/dist/index-t0fj6gg1.js +112 -0
  111. package/dist/index-thdkwnv7.js +122 -0
  112. package/dist/index-tjbx2r2t.js +270 -0
  113. package/dist/index-tjqw9vtj.js +62 -54
  114. package/dist/index-vbpb89jy.js +248 -0
  115. package/dist/index-vhs88xhe.js +99 -95
  116. package/dist/index-w8zxnjka.js +249 -0
  117. package/dist/index-wk2na3t9.js +385 -375
  118. package/dist/index-wz9x8g7z.js +383 -373
  119. package/dist/index-x249gyde.js +388 -378
  120. package/dist/index-xkvd0nsd.js +187 -0
  121. package/dist/index-yedqxm1z.js +80 -0
  122. package/dist/index-zfjzzjkf.js +240 -199
  123. package/dist/index.d.ts +12 -8
  124. package/dist/index.js +56 -35
  125. package/dist/lint.d.ts +1 -46
  126. package/dist/lint.js +3 -7
  127. package/dist/loader/cache.d.ts +4 -0
  128. package/dist/loader/find-config-file.d.ts +2 -0
  129. package/dist/loader/index.d.ts +5 -0
  130. package/dist/loader/index.js +24 -0
  131. package/dist/loader/load-dev-env.d.ts +5 -0
  132. package/dist/loader/loader.d.ts +1 -0
  133. package/dist/loader.d.ts +1 -45
  134. package/dist/loader.js +22 -20
  135. package/dist/prisma/index.d.ts +1 -0
  136. package/dist/prisma/prisma.d.ts +29 -0
  137. package/dist/prisma.d.ts +1 -29
  138. package/dist/prisma.js +6 -10
  139. package/dist/src/bin.js +309 -0
  140. package/dist/src/cli.js +5 -0
  141. package/dist/src/config.js +15 -0
  142. package/dist/src/core/docker.js +38 -0
  143. package/dist/src/core/index.js +130 -0
  144. package/dist/src/core/network.js +9 -0
  145. package/dist/src/core/ports.js +23 -0
  146. package/dist/src/core/process.js +31 -0
  147. package/dist/src/core/utils.js +11 -0
  148. package/dist/src/core/watchdog-runner.js +69 -0
  149. package/dist/src/core/watchdog.js +28 -0
  150. package/dist/src/docker/runtime.js +37 -0
  151. package/dist/src/docker-compose/index.js +16 -0
  152. package/dist/src/docker-compose/services/index.js +17 -0
  153. package/dist/src/environment.js +12 -0
  154. package/dist/src/index.js +122 -0
  155. package/dist/src/lint.js +3 -0
  156. package/dist/src/loader.js +25 -0
  157. package/dist/src/prisma.js +6 -0
  158. package/dist/src/types.js +0 -0
  159. package/dist/typecheck/index.d.ts +1 -0
  160. package/dist/typecheck/index.js +7 -0
  161. package/dist/typecheck/typecheck.d.ts +46 -0
  162. package/dist/types/all-types.d.ts +501 -0
  163. package/dist/types/cli.d.ts +1 -0
  164. package/dist/types/config.d.ts +6 -0
  165. package/dist/types/docker.d.ts +15 -0
  166. package/dist/types/environment.d.ts +8 -0
  167. package/dist/types/hooks.d.ts +9 -0
  168. package/dist/types/index.d.ts +1 -0
  169. package/dist/types/index.js +0 -0
  170. package/dist/types/prisma.d.ts +1 -0
  171. package/dist/types.d.ts +1 -399
  172. package/package.json +145 -140
  173. package/readme.md +349 -109
  174. package/src/cli/bin.ts +77 -0
  175. package/src/cli/commands/help.ts +39 -0
  176. package/src/cli/commands/runtime.ts +72 -0
  177. package/src/cli/commands/version.ts +4 -0
  178. package/src/cli/index.ts +1 -0
  179. package/{cli.ts → src/cli/run-cli.ts} +95 -6
  180. package/src/config/define-config.ts +30 -0
  181. package/src/config/index.ts +3 -0
  182. package/src/config/merge-configs.ts +33 -0
  183. package/src/config/validate-config.ts +136 -0
  184. package/{core → src/core}/index.ts +2 -2
  185. package/{core → src/core}/ports.ts +5 -2
  186. package/{core → src/core}/process.ts +6 -2
  187. package/src/core/tunnel.ts +151 -0
  188. package/{core → src/core}/utils.ts +1 -0
  189. package/{core → src/core}/watchdog.ts +5 -1
  190. package/src/docker/index.ts +1 -0
  191. package/{core/docker.ts → src/docker/runtime.ts} +11 -4
  192. package/src/docker-compose/generated-file.ts +45 -0
  193. package/src/docker-compose/index.ts +7 -0
  194. package/src/docker-compose/model.ts +197 -0
  195. package/src/docker-compose/services/clickhouse.ts +79 -0
  196. package/src/docker-compose/services/define-docker-service.ts +109 -0
  197. package/src/docker-compose/services/index.ts +67 -0
  198. package/src/docker-compose/services/postgres.ts +60 -0
  199. package/src/docker-compose/services/redis.ts +48 -0
  200. package/src/docker-compose/services/shared.ts +79 -0
  201. package/src/docker-compose/yaml.ts +88 -0
  202. package/{environment.ts → src/environment/create-dev-environment.ts} +93 -130
  203. package/src/environment/index.ts +1 -0
  204. package/src/environment/logging.ts +101 -0
  205. package/src/environment/seeding.ts +57 -0
  206. package/{index.ts → src/index.ts} +49 -20
  207. package/src/loader/cache.ts +23 -0
  208. package/src/loader/find-config-file.ts +29 -0
  209. package/src/loader/index.ts +17 -0
  210. package/src/loader/load-dev-env.ts +38 -0
  211. package/src/prisma/index.ts +1 -0
  212. package/{prisma.ts → src/prisma/prisma.ts} +4 -2
  213. package/src/typecheck/index.ts +1 -0
  214. package/{types.ts → src/types/all-types.ts} +130 -5
  215. package/src/types/index.ts +1 -0
  216. package/bin.ts +0 -192
  217. package/config.ts +0 -194
  218. package/loader.ts +0 -126
  219. /package/{core → src/core}/network.ts +0 -0
  220. /package/{core → src/core}/watchdog-runner.ts +0 -0
  221. /package/{lint.ts → src/typecheck/typecheck.ts} +0 -0
package/dist/bin.d.ts CHANGED
@@ -1,13 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- /**
3
- * CLI Entry Point for buncargo
4
- *
5
- * Usage:
6
- * bunx buncargo dev # Start containers + dev servers
7
- * bunx buncargo dev --down # Stop containers
8
- * bunx buncargo dev --reset # Stop + remove volumes
9
- * bunx buncargo typecheck # Run TypeScript typecheck
10
- * bunx buncargo prisma ... # Run prisma commands
11
- * bunx buncargo help # Show help
12
- */
13
- export {};
2
+ import "./cli/bin";
package/dist/bin.js CHANGED
@@ -1,228 +1,163 @@
1
1
  #!/usr/bin/env bun
2
- import {
3
- runCli
4
- } from "./index-segbnm0h.js";
5
- import {
6
- loadDevEnv
7
- } from "./index-1mdrf7nz.js";
8
- import"./index-wk2na3t9.js";
9
- import"./index-ggq3yryx.js";
10
- import"./index-1yvbwj4k.js";
11
- import"./index-tjqw9vtj.js";
12
- import"./index-qfphr2fd.js";
13
- import"./index-zfjzzjkf.js";
14
- import"./index-8xj2p5n5.js";
15
- import"./index-731rzzfp.js";
16
- import {
17
- __commonJS,
18
- __require
19
- } from "./index-qnx9j3qa.js";
2
+ import { runCli } from "./index-5gmws6ah.js";
3
+ import { loadDevEnv } from "./index-yedqxm1z.js";
4
+ import "./index-38xnzpa6.js";
5
+ import "./index-vbpb89jy.js";
6
+ import "./index-w8zxnjka.js";
7
+ import "./index-mam0bcyz.js";
8
+ import "./index-mm412dkp.js";
9
+ import "./index-045jksh5.js";
10
+ import "./index-6c1w1xk5.js";
11
+ import "./index-tjbx2r2t.js";
12
+ import "./index-4gp0az1g.js";
13
+ import "./index-xkvd0nsd.js";
14
+ import { __commonJS, __require } from "./index-qnx9j3qa.js";
20
15
 
21
16
  // package.json
22
17
  var require_package = __commonJS((exports, module) => {
23
- module.exports = {
24
- name: "buncargo",
25
- version: "1.0.29",
26
- description: "A Bun-powered development environment CLI for managing Docker Compose services, dev servers, and environment variables",
27
- type: "module",
28
- module: "./dist/index.js",
29
- main: "./dist/index.js",
30
- types: "./dist/index.d.ts",
31
- license: "MIT",
32
- repository: {
33
- type: "git",
34
- url: "git+https://github.com/HansKristoffer/buncargo.git"
35
- },
36
- author: "Kristoffer Hansen",
37
- keywords: [
38
- "bun",
39
- "dev-tools",
40
- "docker",
41
- "docker-compose",
42
- "development",
43
- "cli",
44
- "monorepo",
45
- "dev-server",
46
- "environment"
47
- ],
48
- engines: {
49
- bun: ">=1.0.0"
50
- },
51
- files: [
52
- "*.ts",
53
- "core/*.ts",
54
- "dist",
55
- "!*.test.ts",
56
- "!core/*.test.ts"
57
- ],
58
- bin: {
59
- "dev-tools": "./dist/bin.js",
60
- buncargo: "./dist/bin.js"
61
- },
62
- exports: {
63
- ".": {
64
- types: "./dist/index.d.ts",
65
- bun: "./index.ts",
66
- import: "./dist/index.js",
67
- default: "./dist/index.js"
68
- },
69
- "./types": {
70
- types: "./dist/types.d.ts",
71
- bun: "./types.ts",
72
- import: "./dist/types.js",
73
- default: "./dist/types.js"
74
- },
75
- "./config": {
76
- types: "./dist/config.d.ts",
77
- bun: "./config.ts",
78
- import: "./dist/config.js",
79
- default: "./dist/config.js"
80
- },
81
- "./environment": {
82
- types: "./dist/environment.d.ts",
83
- bun: "./environment.ts",
84
- import: "./dist/environment.js",
85
- default: "./dist/environment.js"
86
- },
87
- "./core/ports": {
88
- types: "./dist/core/ports.d.ts",
89
- bun: "./core/ports.ts",
90
- import: "./dist/core/ports.js",
91
- default: "./dist/core/ports.js"
92
- },
93
- "./core/docker": {
94
- types: "./dist/core/docker.d.ts",
95
- bun: "./core/docker.ts",
96
- import: "./dist/core/docker.js",
97
- default: "./dist/core/docker.js"
98
- },
99
- "./core/network": {
100
- types: "./dist/core/network.d.ts",
101
- bun: "./core/network.ts",
102
- import: "./dist/core/network.js",
103
- default: "./dist/core/network.js"
104
- },
105
- "./core/process": {
106
- types: "./dist/core/process.d.ts",
107
- bun: "./core/process.ts",
108
- import: "./dist/core/process.js",
109
- default: "./dist/core/process.js"
110
- },
111
- "./core/watchdog": {
112
- types: "./dist/core/watchdog.d.ts",
113
- bun: "./core/watchdog.ts",
114
- import: "./dist/core/watchdog.js",
115
- default: "./dist/core/watchdog.js"
116
- },
117
- "./core/utils": {
118
- types: "./dist/core/utils.d.ts",
119
- bun: "./core/utils.ts",
120
- import: "./dist/core/utils.js",
121
- default: "./dist/core/utils.js"
122
- },
123
- "./cli": {
124
- types: "./dist/cli.d.ts",
125
- bun: "./cli.ts",
126
- import: "./dist/cli.js",
127
- default: "./dist/cli.js"
128
- },
129
- "./lint": {
130
- types: "./dist/lint.d.ts",
131
- bun: "./lint.ts",
132
- import: "./dist/lint.js",
133
- default: "./dist/lint.js"
134
- },
135
- "./loader": {
136
- types: "./dist/loader.d.ts",
137
- bun: "./loader.ts",
138
- import: "./dist/loader.js",
139
- default: "./dist/loader.js"
140
- }
141
- },
142
- scripts: {
143
- build: "bun run build:js && bun run build:types",
144
- "build:js": "bun build ./index.ts ./bin.ts ./cli.ts ./config.ts ./environment.ts ./lint.ts ./loader.ts ./prisma.ts ./types.ts ./core/docker.ts ./core/index.ts ./core/network.ts ./core/ports.ts ./core/process.ts ./core/utils.ts ./core/watchdog.ts ./core/watchdog-runner.ts --outdir ./dist --target node --packages external --splitting",
145
- "build:types": "tsc -p tsconfig.build.json",
146
- prepublishOnly: "bun run build",
147
- "publish:patch": "npm version patch && npm publish",
148
- "publish:minor": "npm version minor && npm publish",
149
- "publish:major": "npm version major && npm publish",
150
- lint: "bun run typecheck && biome check",
151
- "lint:write": "bun run typecheck && biome check --fix && biome format",
152
- typecheck: "tsgo --incremental"
153
- },
154
- devDependencies: {
155
- "@types/bun": "1.3.2",
156
- "@biomejs/biome": "2.3.4",
157
- "@typescript/native-preview": "7.0.0-dev.20260127.1",
158
- typescript: "^5.7.0"
159
- },
160
- dependencies: {
161
- "fast-glob": "^3.3.3",
162
- picocolors: "^1.1.1"
163
- }
164
- };
18
+ module.exports = {
19
+ name: "buncargo",
20
+ version: "1.0.31",
21
+ description:
22
+ "A Bun-powered development environment CLI for managing Docker Compose services, dev servers, and environment variables",
23
+ type: "module",
24
+ module: "./dist/index.js",
25
+ main: "./dist/index.js",
26
+ types: "./dist/index.d.ts",
27
+ license: "MIT",
28
+ repository: {
29
+ type: "git",
30
+ url: "git+https://github.com/HansKristoffer/buncargo.git",
31
+ },
32
+ author: "Kristoffer Hansen",
33
+ keywords: [
34
+ "bun",
35
+ "dev-tools",
36
+ "docker",
37
+ "docker-compose",
38
+ "development",
39
+ "cli",
40
+ "monorepo",
41
+ "dev-server",
42
+ "environment",
43
+ ],
44
+ engines: {
45
+ bun: ">=1.0.0",
46
+ },
47
+ files: ["src/**/*.ts", "dist", "!src/**/*.test.ts"],
48
+ bin: {
49
+ "dev-tools": "./dist/bin.js",
50
+ buncargo: "./dist/bin.js",
51
+ },
52
+ exports: {
53
+ ".": {
54
+ types: "./dist/index.d.ts",
55
+ bun: "./src/index.ts",
56
+ import: "./dist/index.js",
57
+ default: "./dist/index.js",
58
+ },
59
+ "./types": {
60
+ types: "./dist/types.d.ts",
61
+ bun: "./src/types.ts",
62
+ import: "./dist/types.js",
63
+ default: "./dist/types.js",
64
+ },
65
+ "./config": {
66
+ types: "./dist/config.d.ts",
67
+ bun: "./src/config.ts",
68
+ import: "./dist/config.js",
69
+ default: "./dist/config.js",
70
+ },
71
+ "./environment": {
72
+ types: "./dist/environment.d.ts",
73
+ bun: "./src/environment.ts",
74
+ import: "./dist/environment.js",
75
+ default: "./dist/environment.js",
76
+ },
77
+ "./core/ports": {
78
+ types: "./dist/core/ports.d.ts",
79
+ bun: "./src/core/ports.ts",
80
+ import: "./dist/core/ports.js",
81
+ default: "./dist/core/ports.js",
82
+ },
83
+ "./core/docker": {
84
+ types: "./dist/core/docker.d.ts",
85
+ bun: "./src/core/docker.ts",
86
+ import: "./dist/core/docker.js",
87
+ default: "./dist/core/docker.js",
88
+ },
89
+ "./core/network": {
90
+ types: "./dist/core/network.d.ts",
91
+ bun: "./src/core/network.ts",
92
+ import: "./dist/core/network.js",
93
+ default: "./dist/core/network.js",
94
+ },
95
+ "./core/process": {
96
+ types: "./dist/core/process.d.ts",
97
+ bun: "./src/core/process.ts",
98
+ import: "./dist/core/process.js",
99
+ default: "./dist/core/process.js",
100
+ },
101
+ "./core/watchdog": {
102
+ types: "./dist/core/watchdog.d.ts",
103
+ bun: "./src/core/watchdog.ts",
104
+ import: "./dist/core/watchdog.js",
105
+ default: "./dist/core/watchdog.js",
106
+ },
107
+ "./core/utils": {
108
+ types: "./dist/core/utils.d.ts",
109
+ bun: "./src/core/utils.ts",
110
+ import: "./dist/core/utils.js",
111
+ default: "./dist/core/utils.js",
112
+ },
113
+ "./cli": {
114
+ types: "./dist/cli.d.ts",
115
+ bun: "./src/cli.ts",
116
+ import: "./dist/cli.js",
117
+ default: "./dist/cli.js",
118
+ },
119
+ "./lint": {
120
+ types: "./dist/lint.d.ts",
121
+ bun: "./src/lint.ts",
122
+ import: "./dist/lint.js",
123
+ default: "./dist/lint.js",
124
+ },
125
+ "./loader": {
126
+ types: "./dist/loader.d.ts",
127
+ bun: "./src/loader.ts",
128
+ import: "./dist/loader.js",
129
+ default: "./dist/loader.js",
130
+ },
131
+ },
132
+ scripts: {
133
+ build: "bun run build:js && bun run build:types",
134
+ "build:js":
135
+ "bun build ./src/index.ts ./src/bin.ts ./src/cli.ts ./src/config.ts ./src/environment.ts ./src/lint.ts ./src/loader.ts ./src/prisma.ts ./src/types.ts ./src/core/docker.ts ./src/core/index.ts ./src/core/network.ts ./src/core/ports.ts ./src/core/process.ts ./src/core/utils.ts ./src/core/watchdog.ts ./src/core/watchdog-runner.ts ./src/docker/runtime.ts ./src/docker-compose/index.ts ./src/docker-compose/services/index.ts --outdir ./dist --root ./src --target node --packages external --splitting",
136
+ "build:types": "tsc -p tsconfig.build.json",
137
+ prepublishOnly: "bun run build",
138
+ "publish:patch": "npm version patch && npm publish",
139
+ "publish:minor": "npm version minor && npm publish",
140
+ "publish:major": "npm version major && npm publish",
141
+ lint: "bun run typecheck && biome check",
142
+ "lint:write": "bun run typecheck && biome check --fix && biome format",
143
+ typecheck: "tsgo --incremental",
144
+ },
145
+ devDependencies: {
146
+ "@types/bun": "1.3.2",
147
+ "@biomejs/biome": "2.3.4",
148
+ "@typescript/native-preview": "7.0.0-dev.20260127.1",
149
+ typescript: "^5.7.0",
150
+ },
151
+ dependencies: {
152
+ "fast-glob": "^3.3.3",
153
+ picocolors: "^1.1.1",
154
+ },
155
+ };
165
156
  });
166
157
 
167
- // bin.ts
168
- async function loadEnv() {
169
- try {
170
- return await loadDevEnv();
171
- } catch (error) {
172
- console.error(`❌ ${error instanceof Error ? error.message : error}`);
173
- process.exit(1);
174
- }
175
- }
176
- async function handleDev(args) {
177
- const env = await loadEnv();
178
- await runCli(env, { args });
179
- }
180
- async function handlePrisma(args) {
181
- const env = await loadEnv();
182
- if (!env.prisma) {
183
- console.error("❌ Prisma is not configured in your dev config.");
184
- console.error("");
185
- console.error(" Add prisma to your config:");
186
- console.error("");
187
- console.error(" export default defineDevConfig({");
188
- console.error(" ...");
189
- console.error(" prisma: {");
190
- console.error(" cwd: 'packages/prisma'");
191
- console.error(" }");
192
- console.error(" })");
193
- process.exit(1);
194
- }
195
- const running = await env.isRunning();
196
- if (!running) {
197
- console.log("\uD83D\uDC33 Starting database container...");
198
- await env.start({ startServers: false, wait: true });
199
- }
200
- const exitCode = await env.prisma.run(args);
201
- process.exit(exitCode);
202
- }
203
- async function handleEnv() {
204
- const env = await loadEnv();
205
- console.log(JSON.stringify({
206
- projectName: env.projectName,
207
- ports: env.ports,
208
- urls: env.urls,
209
- portOffset: env.portOffset,
210
- isWorktree: env.isWorktree,
211
- localIp: env.localIp,
212
- root: env.root
213
- }, null, 2));
214
- }
215
- async function handleTypecheck() {
216
- const env = await loadEnv();
217
- const { runWorkspaceTypecheck } = await import("./lint.js");
218
- const result = await runWorkspaceTypecheck({
219
- root: env.root,
220
- verbose: true
221
- });
222
- process.exit(result.success ? 0 : 1);
223
- }
158
+ // src/cli/commands/help.ts
224
159
  function showHelp() {
225
- console.log(`
160
+ console.log(`
226
161
  buncargo - Development environment CLI
227
162
 
228
163
  USAGE:
@@ -258,44 +193,117 @@ CONFIG:
258
193
  Run "bunx buncargo dev --help" for dev command options.
259
194
  `);
260
195
  }
196
+
197
+ // src/cli/commands/runtime.ts
198
+ async function loadEnv() {
199
+ try {
200
+ return await loadDevEnv();
201
+ } catch (error) {
202
+ console.error(`❌ ${error instanceof Error ? error.message : error}`);
203
+ process.exit(1);
204
+ }
205
+ }
206
+ async function handleDev(args) {
207
+ const env = await loadEnv();
208
+ await runCli(env, { args });
209
+ }
210
+ async function handlePrisma(args) {
211
+ const env = await loadEnv();
212
+ if (!env.prisma) {
213
+ console.error("❌ Prisma is not configured in your dev config.");
214
+ console.error("");
215
+ console.error(" Add prisma to your config:");
216
+ console.error("");
217
+ console.error(" export default defineDevConfig({");
218
+ console.error(" ...");
219
+ console.error(" prisma: {");
220
+ console.error(" cwd: 'packages/prisma'");
221
+ console.error(" }");
222
+ console.error(" })");
223
+ process.exit(1);
224
+ }
225
+ const running = await env.isRunning();
226
+ if (!running) {
227
+ console.log("\uD83D\uDC33 Starting database container...");
228
+ await env.start({ startServers: false, wait: true });
229
+ }
230
+ const exitCode = await env.prisma.run(args);
231
+ process.exit(exitCode);
232
+ }
233
+ async function handleEnv() {
234
+ const env = await loadEnv();
235
+ console.log(
236
+ JSON.stringify(
237
+ {
238
+ projectName: env.projectName,
239
+ ports: env.ports,
240
+ urls: env.urls,
241
+ portOffset: env.portOffset,
242
+ isWorktree: env.isWorktree,
243
+ localIp: env.localIp,
244
+ root: env.root,
245
+ },
246
+ null,
247
+ 2,
248
+ ),
249
+ );
250
+ }
251
+ async function handleTypecheck() {
252
+ const env = await loadEnv();
253
+ const { runWorkspaceTypecheck } = await import("./index-5rfqps4b.js");
254
+ const result = await runWorkspaceTypecheck({
255
+ root: env.root,
256
+ verbose: true,
257
+ });
258
+ process.exit(result.success ? 0 : 1);
259
+ }
260
+
261
+ // src/cli/commands/version.ts
261
262
  function showVersion() {
262
- const pkg = require_package();
263
- console.log(`buncargo v${pkg.version}`);
263
+ const pkg = require_package();
264
+ console.log(`buncargo v${pkg.version}`);
264
265
  }
266
+
267
+ // src/cli/bin.ts
265
268
  async function main() {
266
- const args = process.argv.slice(2);
267
- const command = args[0];
268
- const commandArgs = args.slice(1);
269
- if (!command || command === "help" || command === "--help" || command === "-h") {
270
- showHelp();
271
- process.exit(0);
272
- }
273
- if (command === "version" || command === "--version" || command === "-v") {
274
- showVersion();
275
- process.exit(0);
276
- }
277
- switch (command) {
278
- case "dev":
279
- await handleDev(commandArgs);
280
- break;
281
- case "typecheck":
282
- await handleTypecheck();
283
- break;
284
- case "prisma":
285
- await handlePrisma(commandArgs);
286
- break;
287
- case "env":
288
- await handleEnv();
289
- break;
290
- default:
291
- console.error(`❌ Unknown command: ${command}`);
292
- console.error("");
293
- console.error(' Run "bunx buncargo help" for available commands.');
294
- process.exit(1);
295
- }
269
+ const args = process.argv.slice(2);
270
+ const command = args[0];
271
+ const commandArgs = args.slice(1);
272
+ if (
273
+ !command ||
274
+ command === "help" ||
275
+ command === "--help" ||
276
+ command === "-h"
277
+ ) {
278
+ showHelp();
279
+ process.exit(0);
280
+ }
281
+ if (command === "version" || command === "--version" || command === "-v") {
282
+ showVersion();
283
+ process.exit(0);
284
+ }
285
+ switch (command) {
286
+ case "dev":
287
+ await handleDev(commandArgs);
288
+ break;
289
+ case "typecheck":
290
+ await handleTypecheck();
291
+ break;
292
+ case "prisma":
293
+ await handlePrisma(commandArgs);
294
+ break;
295
+ case "env":
296
+ await handleEnv();
297
+ break;
298
+ default:
299
+ console.error(`❌ Unknown command: ${command}`);
300
+ console.error("");
301
+ console.error(' Run "bunx buncargo help" for available commands.');
302
+ process.exit(1);
303
+ }
296
304
  }
297
305
  main().catch((error) => {
298
- const message = error instanceof Error ? error.message : String(error);
299
- console.error(`❌ ${message}`);
300
- process.exit(1);
306
+ const message = error instanceof Error ? error.message : String(error);
307
+ console.error(`❌ ${message}`);
308
+ process.exit(1);
301
309
  });
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * CLI Entry Point for buncargo
4
+ *
5
+ * Usage:
6
+ * bunx buncargo dev # Start containers + dev servers
7
+ * bunx buncargo dev --down # Stop containers
8
+ * bunx buncargo dev --reset # Stop + remove volumes
9
+ * bunx buncargo typecheck # Run TypeScript typecheck
10
+ * bunx buncargo prisma ... # Run prisma commands
11
+ * bunx buncargo help # Show help
12
+ */
13
+ export {};