@walkeros/cli 0.4.2 → 0.5.1-next.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 (350) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +140 -9
  3. package/dist/examples/README.md +13 -1
  4. package/dist/examples/flow-order-complete.json +1 -2
  5. package/dist/examples/flow-simple.json +1 -2
  6. package/dist/examples/server-collect.json +4 -4
  7. package/dist/index.d.ts +1 -114
  8. package/dist/index.js +322 -387
  9. package/dist/index.js.map +1 -1
  10. package/examples/README.md +13 -1
  11. package/examples/flow-order-complete.json +1 -2
  12. package/examples/flow-simple.json +1 -2
  13. package/examples/server-collect.json +4 -4
  14. package/package.json +14 -16
  15. package/dist/__tests__/bundle/bundler-helpers.test.d.ts +0 -2
  16. package/dist/__tests__/bundle/bundler-helpers.test.d.ts.map +0 -1
  17. package/dist/__tests__/bundle/bundler-helpers.test.js +0 -285
  18. package/dist/__tests__/bundle/bundler-helpers.test.js.map +0 -1
  19. package/dist/__tests__/bundle/bundler.test.d.ts +0 -2
  20. package/dist/__tests__/bundle/bundler.test.d.ts.map +0 -1
  21. package/dist/__tests__/bundle/bundler.test.js +0 -293
  22. package/dist/__tests__/bundle/bundler.test.js.map +0 -1
  23. package/dist/__tests__/bundle/programmatic.test.d.ts +0 -2
  24. package/dist/__tests__/bundle/programmatic.test.d.ts.map +0 -1
  25. package/dist/__tests__/bundle/programmatic.test.js +0 -150
  26. package/dist/__tests__/bundle/programmatic.test.js.map +0 -1
  27. package/dist/__tests__/bundle/serializer.test.d.ts +0 -2
  28. package/dist/__tests__/bundle/serializer.test.d.ts.map +0 -1
  29. package/dist/__tests__/bundle/serializer.test.js +0 -173
  30. package/dist/__tests__/bundle/serializer.test.js.map +0 -1
  31. package/dist/__tests__/bundle/template-engine.test.d.ts +0 -2
  32. package/dist/__tests__/bundle/template-engine.test.d.ts.map +0 -1
  33. package/dist/__tests__/bundle/template-engine.test.js +0 -107
  34. package/dist/__tests__/bundle/template-engine.test.js.map +0 -1
  35. package/dist/__tests__/cli-e2e.test.d.ts +0 -8
  36. package/dist/__tests__/cli-e2e.test.d.ts.map +0 -1
  37. package/dist/__tests__/cli-e2e.test.js +0 -130
  38. package/dist/__tests__/cli-e2e.test.js.map +0 -1
  39. package/dist/__tests__/cli.test.d.ts +0 -2
  40. package/dist/__tests__/cli.test.d.ts.map +0 -1
  41. package/dist/__tests__/cli.test.js +0 -180
  42. package/dist/__tests__/cli.test.js.map +0 -1
  43. package/dist/__tests__/config-loader.test.d.ts +0 -7
  44. package/dist/__tests__/config-loader.test.d.ts.map +0 -1
  45. package/dist/__tests__/config-loader.test.js +0 -416
  46. package/dist/__tests__/config-loader.test.js.map +0 -1
  47. package/dist/__tests__/core/build-cache.test.d.ts +0 -2
  48. package/dist/__tests__/core/build-cache.test.d.ts.map +0 -1
  49. package/dist/__tests__/core/build-cache.test.js +0 -55
  50. package/dist/__tests__/core/build-cache.test.js.map +0 -1
  51. package/dist/__tests__/core/cache-utils.test.d.ts +0 -2
  52. package/dist/__tests__/core/cache-utils.test.d.ts.map +0 -1
  53. package/dist/__tests__/core/cache-utils.test.js +0 -70
  54. package/dist/__tests__/core/cache-utils.test.js.map +0 -1
  55. package/dist/__tests__/core/config.test.d.ts +0 -2
  56. package/dist/__tests__/core/config.test.d.ts.map +0 -1
  57. package/dist/__tests__/core/config.test.js +0 -72
  58. package/dist/__tests__/core/config.test.js.map +0 -1
  59. package/dist/__tests__/core/logger.test.d.ts +0 -2
  60. package/dist/__tests__/core/logger.test.d.ts.map +0 -1
  61. package/dist/__tests__/core/logger.test.js +0 -53
  62. package/dist/__tests__/core/logger.test.js.map +0 -1
  63. package/dist/__tests__/integration/bundle-run.integration.test.d.ts +0 -8
  64. package/dist/__tests__/integration/bundle-run.integration.test.d.ts.map +0 -1
  65. package/dist/__tests__/integration/bundle-run.integration.test.js +0 -54
  66. package/dist/__tests__/integration/bundle-run.integration.test.js.map +0 -1
  67. package/dist/__tests__/push/push.test.d.ts +0 -7
  68. package/dist/__tests__/push/push.test.d.ts.map +0 -1
  69. package/dist/__tests__/push/push.test.js +0 -197
  70. package/dist/__tests__/push/push.test.js.map +0 -1
  71. package/dist/__tests__/simulate/env-loader.test.d.ts +0 -2
  72. package/dist/__tests__/simulate/env-loader.test.d.ts.map +0 -1
  73. package/dist/__tests__/simulate/env-loader.test.js +0 -47
  74. package/dist/__tests__/simulate/env-loader.test.js.map +0 -1
  75. package/dist/__tests__/simulate/node-executor.test.d.ts +0 -5
  76. package/dist/__tests__/simulate/node-executor.test.d.ts.map +0 -1
  77. package/dist/__tests__/simulate/node-executor.test.js +0 -25
  78. package/dist/__tests__/simulate/node-executor.test.js.map +0 -1
  79. package/dist/__tests__/simulate/server-simulate.integration.test.d.ts +0 -5
  80. package/dist/__tests__/simulate/server-simulate.integration.test.d.ts.map +0 -1
  81. package/dist/__tests__/simulate/server-simulate.integration.test.js +0 -59
  82. package/dist/__tests__/simulate/server-simulate.integration.test.js.map +0 -1
  83. package/dist/__tests__/smoke/production.smoke.test.d.ts +0 -8
  84. package/dist/__tests__/smoke/production.smoke.test.d.ts.map +0 -1
  85. package/dist/__tests__/smoke/production.smoke.test.js +0 -65
  86. package/dist/__tests__/smoke/production.smoke.test.js.map +0 -1
  87. package/dist/commands/bundle/bundler.d.ts +0 -14
  88. package/dist/commands/bundle/bundler.d.ts.map +0 -1
  89. package/dist/commands/bundle/bundler.js +0 -467
  90. package/dist/commands/bundle/bundler.js.map +0 -1
  91. package/dist/commands/bundle/index.d.ts +0 -57
  92. package/dist/commands/bundle/index.d.ts.map +0 -1
  93. package/dist/commands/bundle/index.js +0 -200
  94. package/dist/commands/bundle/index.js.map +0 -1
  95. package/dist/commands/bundle/package-manager.d.ts +0 -8
  96. package/dist/commands/bundle/package-manager.d.ts.map +0 -1
  97. package/dist/commands/bundle/package-manager.js +0 -197
  98. package/dist/commands/bundle/package-manager.js.map +0 -1
  99. package/dist/commands/bundle/serializer.d.ts +0 -23
  100. package/dist/commands/bundle/serializer.d.ts.map +0 -1
  101. package/dist/commands/bundle/serializer.js +0 -127
  102. package/dist/commands/bundle/serializer.js.map +0 -1
  103. package/dist/commands/bundle/stats.d.ts +0 -23
  104. package/dist/commands/bundle/stats.d.ts.map +0 -1
  105. package/dist/commands/bundle/stats.js +0 -52
  106. package/dist/commands/bundle/stats.js.map +0 -1
  107. package/dist/commands/bundle/template-engine.d.ts +0 -20
  108. package/dist/commands/bundle/template-engine.d.ts.map +0 -1
  109. package/dist/commands/bundle/template-engine.js +0 -54
  110. package/dist/commands/bundle/template-engine.js.map +0 -1
  111. package/dist/commands/cache.d.ts +0 -3
  112. package/dist/commands/cache.d.ts.map +0 -1
  113. package/dist/commands/cache.js +0 -44
  114. package/dist/commands/cache.js.map +0 -1
  115. package/dist/commands/push/index.d.ts +0 -7
  116. package/dist/commands/push/index.d.ts.map +0 -1
  117. package/dist/commands/push/index.js +0 -257
  118. package/dist/commands/push/index.js.map +0 -1
  119. package/dist/commands/push/types.d.ts +0 -21
  120. package/dist/commands/push/types.d.ts.map +0 -1
  121. package/dist/commands/push/types.js +0 -2
  122. package/dist/commands/push/types.js.map +0 -1
  123. package/dist/commands/run/__tests__/run.integration.test.d.ts +0 -8
  124. package/dist/commands/run/__tests__/run.integration.test.d.ts.map +0 -1
  125. package/dist/commands/run/__tests__/run.integration.test.js +0 -52
  126. package/dist/commands/run/__tests__/run.integration.test.js.map +0 -1
  127. package/dist/commands/run/__tests__/validators.test.d.ts +0 -2
  128. package/dist/commands/run/__tests__/validators.test.d.ts.map +0 -1
  129. package/dist/commands/run/__tests__/validators.test.js +0 -80
  130. package/dist/commands/run/__tests__/validators.test.js.map +0 -1
  131. package/dist/commands/run/execution.d.ts +0 -14
  132. package/dist/commands/run/execution.d.ts.map +0 -1
  133. package/dist/commands/run/execution.js +0 -37
  134. package/dist/commands/run/execution.js.map +0 -1
  135. package/dist/commands/run/index.d.ts +0 -39
  136. package/dist/commands/run/index.d.ts.map +0 -1
  137. package/dist/commands/run/index.js +0 -191
  138. package/dist/commands/run/index.js.map +0 -1
  139. package/dist/commands/run/types.d.ts +0 -60
  140. package/dist/commands/run/types.d.ts.map +0 -1
  141. package/dist/commands/run/types.js +0 -7
  142. package/dist/commands/run/types.js.map +0 -1
  143. package/dist/commands/run/utils.d.ts +0 -29
  144. package/dist/commands/run/utils.d.ts.map +0 -1
  145. package/dist/commands/run/utils.js +0 -52
  146. package/dist/commands/run/utils.js.map +0 -1
  147. package/dist/commands/run/validators.d.ts +0 -33
  148. package/dist/commands/run/validators.d.ts.map +0 -1
  149. package/dist/commands/run/validators.js +0 -58
  150. package/dist/commands/run/validators.js.map +0 -1
  151. package/dist/commands/simulate/env-loader.d.ts +0 -19
  152. package/dist/commands/simulate/env-loader.d.ts.map +0 -1
  153. package/dist/commands/simulate/env-loader.js +0 -46
  154. package/dist/commands/simulate/env-loader.js.map +0 -1
  155. package/dist/commands/simulate/index.d.ts +0 -48
  156. package/dist/commands/simulate/index.d.ts.map +0 -1
  157. package/dist/commands/simulate/index.js +0 -116
  158. package/dist/commands/simulate/index.js.map +0 -1
  159. package/dist/commands/simulate/jsdom-executor.d.ts +0 -37
  160. package/dist/commands/simulate/jsdom-executor.d.ts.map +0 -1
  161. package/dist/commands/simulate/jsdom-executor.js +0 -137
  162. package/dist/commands/simulate/jsdom-executor.js.map +0 -1
  163. package/dist/commands/simulate/node-executor.d.ts +0 -28
  164. package/dist/commands/simulate/node-executor.d.ts.map +0 -1
  165. package/dist/commands/simulate/node-executor.js +0 -94
  166. package/dist/commands/simulate/node-executor.js.map +0 -1
  167. package/dist/commands/simulate/simulator.d.ts +0 -14
  168. package/dist/commands/simulate/simulator.d.ts.map +0 -1
  169. package/dist/commands/simulate/simulator.js +0 -162
  170. package/dist/commands/simulate/simulator.js.map +0 -1
  171. package/dist/commands/simulate/tracker.d.ts +0 -30
  172. package/dist/commands/simulate/tracker.d.ts.map +0 -1
  173. package/dist/commands/simulate/tracker.js +0 -96
  174. package/dist/commands/simulate/tracker.js.map +0 -1
  175. package/dist/commands/simulate/types.d.ts +0 -18
  176. package/dist/commands/simulate/types.d.ts.map +0 -1
  177. package/dist/commands/simulate/types.js +0 -2
  178. package/dist/commands/simulate/types.js.map +0 -1
  179. package/dist/config/build-defaults.d.ts +0 -49
  180. package/dist/config/build-defaults.d.ts.map +0 -1
  181. package/dist/config/build-defaults.js +0 -72
  182. package/dist/config/build-defaults.js.map +0 -1
  183. package/dist/config/index.d.ts +0 -13
  184. package/dist/config/index.d.ts.map +0 -1
  185. package/dist/config/index.js +0 -15
  186. package/dist/config/index.js.map +0 -1
  187. package/dist/config/loader.d.ts +0 -81
  188. package/dist/config/loader.d.ts.map +0 -1
  189. package/dist/config/loader.js +0 -155
  190. package/dist/config/loader.js.map +0 -1
  191. package/dist/config/utils.d.ts +0 -114
  192. package/dist/config/utils.d.ts.map +0 -1
  193. package/dist/config/utils.js +0 -257
  194. package/dist/config/utils.js.map +0 -1
  195. package/dist/config/validators.d.ts +0 -52
  196. package/dist/config/validators.d.ts.map +0 -1
  197. package/dist/config/validators.js +0 -85
  198. package/dist/config/validators.js.map +0 -1
  199. package/dist/core/asset-resolver.d.ts +0 -34
  200. package/dist/core/asset-resolver.d.ts.map +0 -1
  201. package/dist/core/asset-resolver.js +0 -69
  202. package/dist/core/asset-resolver.js.map +0 -1
  203. package/dist/core/build-cache.d.ts +0 -23
  204. package/dist/core/build-cache.d.ts.map +0 -1
  205. package/dist/core/build-cache.js +0 -43
  206. package/dist/core/build-cache.js.map +0 -1
  207. package/dist/core/cache-utils.d.ts +0 -27
  208. package/dist/core/cache-utils.d.ts.map +0 -1
  209. package/dist/core/cache-utils.js +0 -60
  210. package/dist/core/cache-utils.js.map +0 -1
  211. package/dist/core/docker.d.ts +0 -99
  212. package/dist/core/docker.d.ts.map +0 -1
  213. package/dist/core/docker.js +0 -249
  214. package/dist/core/docker.js.map +0 -1
  215. package/dist/core/execution.d.ts +0 -34
  216. package/dist/core/execution.d.ts.map +0 -1
  217. package/dist/core/execution.js +0 -64
  218. package/dist/core/execution.js.map +0 -1
  219. package/dist/core/index.d.ts +0 -10
  220. package/dist/core/index.d.ts.map +0 -1
  221. package/dist/core/index.js +0 -10
  222. package/dist/core/index.js.map +0 -1
  223. package/dist/core/local-packages.d.ts +0 -19
  224. package/dist/core/local-packages.d.ts.map +0 -1
  225. package/dist/core/local-packages.js +0 -60
  226. package/dist/core/local-packages.js.map +0 -1
  227. package/dist/core/logger.d.ts +0 -28
  228. package/dist/core/logger.d.ts.map +0 -1
  229. package/dist/core/logger.js +0 -88
  230. package/dist/core/logger.js.map +0 -1
  231. package/dist/core/output.d.ts +0 -30
  232. package/dist/core/output.d.ts.map +0 -1
  233. package/dist/core/output.js +0 -46
  234. package/dist/core/output.js.map +0 -1
  235. package/dist/core/temp-manager.d.ts +0 -51
  236. package/dist/core/temp-manager.d.ts.map +0 -1
  237. package/dist/core/temp-manager.js +0 -73
  238. package/dist/core/temp-manager.js.map +0 -1
  239. package/dist/core/timer.d.ts +0 -14
  240. package/dist/core/timer.d.ts.map +0 -1
  241. package/dist/core/timer.js +0 -29
  242. package/dist/core/timer.js.map +0 -1
  243. package/dist/core/utils.d.ts +0 -10
  244. package/dist/core/utils.d.ts.map +0 -1
  245. package/dist/core/utils.js +0 -12
  246. package/dist/core/utils.js.map +0 -1
  247. package/dist/examples/.npm-cache/content-v2/sha512/0d/2d/7581c288670eaf8538ddd9df145b78756ce3be0791c6e0b9cd33429b3bae894525b9bda287a3cedffbcdd2c7b3107bafc03f2b0367eea489eee1cc042abb +0 -1
  248. package/dist/examples/.npm-cache/content-v2/sha512/12/20/bc4f5acca143809f7e07da1fdafb38137d93243de4d5b403e6e10b92d0d3a6e51eab24fe9dbc9d3ed1cd72e8f7a406085e99c422bb2c7d1166cf9f1f564e +0 -0
  249. package/dist/examples/.npm-cache/content-v2/sha512/22/ee/fb2695b01871c1d36946bdcfb49f1b520a57200d0a0b221b1e7d5f047ab38a8b2ab0e5f0e25a00acde1f3f2f9d24430a18f1092d438bc1a9e9891cc45f75 +0 -0
  250. package/dist/examples/.npm-cache/content-v2/sha512/24/89/da1ce6a61bca6de7e132f241a675c01c83738bf6b78af25b5cce01d3030361332b3fe938571e2b721f1555da9ddf930fdcf8c02f0471556071590e68cc09 +0 -0
  251. package/dist/examples/.npm-cache/content-v2/sha512/47/fd/c6be997da99228c3e279b95d4a46d6913947078a178f54ac71795a159f3513b1483232f4c2d0a1f403178bf9f96bb19615de32a9e2133e949880c6bc15e2 +0 -0
  252. package/dist/examples/.npm-cache/content-v2/sha512/4b/1c/c1cb7f8b32102071a89fef97158daa32080ebaedfbbd596880d2213d84e305abc76d2a95a412ded55c1c3d487adcb1ceff87fc2c85d7e2856ebd9d3f16f3 +0 -0
  253. package/dist/examples/.npm-cache/content-v2/sha512/6e/53/ff864769671f44f39d8a3bf904cd646535b745cc4824a8bb3189193b474678049f43b5178ba15cad7f0289046105e70f1565afc84e907120b35a466690fd +0 -1
  254. package/dist/examples/.npm-cache/content-v2/sha512/70/4c/4c8837d446965c5551b4ea527e95fa011744fb727581d82cf35bb5599ea0b57d18baa490f7af93ef9a16e8e45e5c0802737da20575f4056a4a5c9a3cd288 +0 -0
  255. package/dist/examples/.npm-cache/content-v2/sha512/96/ad/05de3bbb12d7de8ea353f962bdaea7d2eb44f707f2973462a6635daf537c67b46cca7764fed7d464fe62152c3f783a07aba1ceb35e09ad446bff05a4b466 +0 -1
  256. package/dist/examples/.npm-cache/content-v2/sha512/b5/20/52dde94e6cef7170f6089c64a4843e57be18be450d956f4e455905aed047ae6a368451c93035e6ac3ee59576b600f03f815afba0836b3a16e10a9aaca4ba +0 -1
  257. package/dist/examples/.npm-cache/content-v2/sha512/c7/a9/d166a1c39f97df312c59261319ba1cf9aac178bda0a0cb697d5ddd78bd8dd38ef1bf40017bcc8633c2049896c2d70696d9bff9280851f270792ff38bb3a0 +0 -1
  258. package/dist/examples/.npm-cache/content-v2/sha512/e0/d0/8c14083b633e6adbd3c6a93da5fc0f6bbd456c5512ef276920bedd8d85d551052adff992de977aff326616a211aaa2d6ddcc801149e9b7f914f566359b6a +0 -1
  259. package/dist/examples/.npm-cache/content-v2/sha512/e7/c5/06ad3fd79ac4f1031fe0b16ea5e54e232ca397bbcd7592c679021cbfb027276099f8c848f3f7a7691f0102ad53aa64f9141e61d729b037a678bd60440d17 +0 -1
  260. package/dist/examples/.npm-cache/content-v2/sha512/f3/28/d5d32329604ed7d471a4949105daa2cc98858cf24f45b0b97c41d0eb0d5a9fe7bf1f69c792161cc6693e4fc1b52e886ac41875ebfb8fe47fafe417ca3e6e +0 -0
  261. package/dist/examples/.npm-cache/index-v5/04/5a/2b5d7a7c407d85d746baa0f5c9388a333e35a717a8a0a81943daa6cb1364 +0 -3
  262. package/dist/examples/.npm-cache/index-v5/12/9a/eba560cbace295d8ee04cf283015377bd77b379e70968fb6bc407c7fc410 +0 -15
  263. package/dist/examples/.npm-cache/index-v5/2f/a2/7b047564b0ee21ac835ec609e89153dd6549be554d098584d5bfd19fe043 +0 -15
  264. package/dist/examples/.npm-cache/index-v5/32/8e/322d58dd8d1e000be248ada51385bf96288e56039de9feec1a4c6a467653 +0 -3
  265. package/dist/examples/.npm-cache/index-v5/57/93/d1d7cd1402e3e26468db03f2870822bb2c9018a506cdfb3b405f38cd3e1c +0 -3
  266. package/dist/examples/.npm-cache/index-v5/5d/f8/0a1f4fa7149e4ff33e09eb6aea41ac8d1730c868a5d3ace91f762698acff +0 -3
  267. package/dist/examples/.npm-cache/index-v5/69/a4/a92c72d838259b051cdf8e0acfb2bc680b6d4cfc642314a7836c3f7b2c50 +0 -15
  268. package/dist/examples/.npm-cache/index-v5/71/31/6da3423bb203f3de5eb16c942431073f89be2cfcb40058ec91dcb5ce0abc +0 -15
  269. package/dist/examples/.npm-cache/index-v5/7b/94/72b6bffa050d9ef52a558dd220663695bc606f756be0dfa196ef4f3913ba +0 -3
  270. package/dist/examples/.npm-cache/index-v5/85/9e/99e97fdd562517e56285337db91d1a8f2f416b8d631cf4d7d754fa671299 +0 -15
  271. package/dist/examples/.npm-cache/index-v5/92/4c/9416ada81a9b3c679539fd1ab53f8de3d41ff268f35eba7a194389a85b06 +0 -3
  272. package/dist/examples/.npm-cache/index-v5/c1/5a/13df76b218deed8a6ef12961116af5183db98c53fad1b922fd9edc075247 +0 -3
  273. package/dist/examples/.npm-cache/index-v5/cb/11/253c55410a8ab7c4a9ea9d6e1bf8ef1450a581da64c478074dfd82c8bff6 +0 -3
  274. package/dist/examples/.npm-cache/index-v5/d5/ae/b57fad3a62b5ba2dbdf24b042a9e7b70820f3db00e5a630f02e1fea020dc +0 -3
  275. package/dist/examples/.npm-cache/index-v5/d6/32/2f620f83c7d14451de98de8298c2408e05a16cc0829bd16c891ac19d7a67 +0 -3
  276. package/dist/examples/.npm-cache/index-v5/dd/b5/01dc7a3cd8b6a03a69aee9af500d51ae19cb0aa12631a4aafd152148b8e5 +0 -15
  277. package/dist/examples/.npm-cache/index-v5/e0/cf/6b862c15d74630d3871cd813d305210ab741311deb10baf8813014e0bc30 +0 -3
  278. package/dist/examples/.npm-cache/index-v5/e2/be/e880ccd35950a814d3c1dded34d3938ac61b15a195321dc51357f801aad4 +0 -15
  279. package/dist/examples/.npm-cache/index-v5/e5/1f/f4affe0b392cd03288f23cc03abcb274ff11a2c8f8965299de681914abb2 +0 -3
  280. package/dist/examples/.npm-cache/index-v5/f3/5b/9ebe450958ff0d7cc44ab0a00080cb8a3ff1389744b5eab5f97b68a6a6af +0 -3
  281. package/dist/examples/.npm-cache/index-v5/fb/c1/0de405e902866d53e7c30cf36a97dc2578838622b261816f44dc377c9a80 +0 -3
  282. package/dist/index.d.ts.map +0 -1
  283. package/dist/schemas/index.d.ts +0 -9
  284. package/dist/schemas/index.d.ts.map +0 -1
  285. package/dist/schemas/index.js +0 -9
  286. package/dist/schemas/index.js.map +0 -1
  287. package/dist/schemas/primitives.d.ts +0 -37
  288. package/dist/schemas/primitives.d.ts.map +0 -1
  289. package/dist/schemas/primitives.js +0 -43
  290. package/dist/schemas/primitives.js.map +0 -1
  291. package/dist/schemas/run.d.ts +0 -23
  292. package/dist/schemas/run.d.ts.map +0 -1
  293. package/dist/schemas/run.js +0 -20
  294. package/dist/schemas/run.js.map +0 -1
  295. package/dist/templates/server.hbs +0 -29
  296. package/dist/templates/web.hbs +0 -45
  297. package/dist/types/bundle.d.ts +0 -146
  298. package/dist/types/bundle.d.ts.map +0 -1
  299. package/dist/types/bundle.js +0 -10
  300. package/dist/types/bundle.js.map +0 -1
  301. package/dist/types/global.d.ts +0 -51
  302. package/dist/types/global.d.ts.map +0 -1
  303. package/dist/types/global.js +0 -30
  304. package/dist/types/global.js.map +0 -1
  305. package/dist/types/index.d.ts +0 -8
  306. package/dist/types/index.d.ts.map +0 -1
  307. package/dist/types/index.js +0 -8
  308. package/dist/types/index.js.map +0 -1
  309. package/dist/types/template.d.ts +0 -108
  310. package/dist/types/template.d.ts.map +0 -1
  311. package/dist/types/template.js +0 -10
  312. package/dist/types/template.js.map +0 -1
  313. package/dist/walker.js +0 -1
  314. package/examples/.npm-cache/content-v2/sha512/0d/2d/7581c288670eaf8538ddd9df145b78756ce3be0791c6e0b9cd33429b3bae894525b9bda287a3cedffbcdd2c7b3107bafc03f2b0367eea489eee1cc042abb +0 -1
  315. package/examples/.npm-cache/content-v2/sha512/12/20/bc4f5acca143809f7e07da1fdafb38137d93243de4d5b403e6e10b92d0d3a6e51eab24fe9dbc9d3ed1cd72e8f7a406085e99c422bb2c7d1166cf9f1f564e +0 -0
  316. package/examples/.npm-cache/content-v2/sha512/22/ee/fb2695b01871c1d36946bdcfb49f1b520a57200d0a0b221b1e7d5f047ab38a8b2ab0e5f0e25a00acde1f3f2f9d24430a18f1092d438bc1a9e9891cc45f75 +0 -0
  317. package/examples/.npm-cache/content-v2/sha512/24/89/da1ce6a61bca6de7e132f241a675c01c83738bf6b78af25b5cce01d3030361332b3fe938571e2b721f1555da9ddf930fdcf8c02f0471556071590e68cc09 +0 -0
  318. package/examples/.npm-cache/content-v2/sha512/47/fd/c6be997da99228c3e279b95d4a46d6913947078a178f54ac71795a159f3513b1483232f4c2d0a1f403178bf9f96bb19615de32a9e2133e949880c6bc15e2 +0 -0
  319. package/examples/.npm-cache/content-v2/sha512/4b/1c/c1cb7f8b32102071a89fef97158daa32080ebaedfbbd596880d2213d84e305abc76d2a95a412ded55c1c3d487adcb1ceff87fc2c85d7e2856ebd9d3f16f3 +0 -0
  320. package/examples/.npm-cache/content-v2/sha512/6e/53/ff864769671f44f39d8a3bf904cd646535b745cc4824a8bb3189193b474678049f43b5178ba15cad7f0289046105e70f1565afc84e907120b35a466690fd +0 -1
  321. package/examples/.npm-cache/content-v2/sha512/70/4c/4c8837d446965c5551b4ea527e95fa011744fb727581d82cf35bb5599ea0b57d18baa490f7af93ef9a16e8e45e5c0802737da20575f4056a4a5c9a3cd288 +0 -0
  322. package/examples/.npm-cache/content-v2/sha512/96/ad/05de3bbb12d7de8ea353f962bdaea7d2eb44f707f2973462a6635daf537c67b46cca7764fed7d464fe62152c3f783a07aba1ceb35e09ad446bff05a4b466 +0 -1
  323. package/examples/.npm-cache/content-v2/sha512/b5/20/52dde94e6cef7170f6089c64a4843e57be18be450d956f4e455905aed047ae6a368451c93035e6ac3ee59576b600f03f815afba0836b3a16e10a9aaca4ba +0 -1
  324. package/examples/.npm-cache/content-v2/sha512/c7/a9/d166a1c39f97df312c59261319ba1cf9aac178bda0a0cb697d5ddd78bd8dd38ef1bf40017bcc8633c2049896c2d70696d9bff9280851f270792ff38bb3a0 +0 -1
  325. package/examples/.npm-cache/content-v2/sha512/e0/d0/8c14083b633e6adbd3c6a93da5fc0f6bbd456c5512ef276920bedd8d85d551052adff992de977aff326616a211aaa2d6ddcc801149e9b7f914f566359b6a +0 -1
  326. package/examples/.npm-cache/content-v2/sha512/e7/c5/06ad3fd79ac4f1031fe0b16ea5e54e232ca397bbcd7592c679021cbfb027276099f8c848f3f7a7691f0102ad53aa64f9141e61d729b037a678bd60440d17 +0 -1
  327. package/examples/.npm-cache/content-v2/sha512/f3/28/d5d32329604ed7d471a4949105daa2cc98858cf24f45b0b97c41d0eb0d5a9fe7bf1f69c792161cc6693e4fc1b52e886ac41875ebfb8fe47fafe417ca3e6e +0 -0
  328. package/examples/.npm-cache/index-v5/04/5a/2b5d7a7c407d85d746baa0f5c9388a333e35a717a8a0a81943daa6cb1364 +0 -3
  329. package/examples/.npm-cache/index-v5/12/9a/eba560cbace295d8ee04cf283015377bd77b379e70968fb6bc407c7fc410 +0 -15
  330. package/examples/.npm-cache/index-v5/2f/a2/7b047564b0ee21ac835ec609e89153dd6549be554d098584d5bfd19fe043 +0 -15
  331. package/examples/.npm-cache/index-v5/32/8e/322d58dd8d1e000be248ada51385bf96288e56039de9feec1a4c6a467653 +0 -3
  332. package/examples/.npm-cache/index-v5/57/93/d1d7cd1402e3e26468db03f2870822bb2c9018a506cdfb3b405f38cd3e1c +0 -3
  333. package/examples/.npm-cache/index-v5/5d/f8/0a1f4fa7149e4ff33e09eb6aea41ac8d1730c868a5d3ace91f762698acff +0 -3
  334. package/examples/.npm-cache/index-v5/69/a4/a92c72d838259b051cdf8e0acfb2bc680b6d4cfc642314a7836c3f7b2c50 +0 -15
  335. package/examples/.npm-cache/index-v5/71/31/6da3423bb203f3de5eb16c942431073f89be2cfcb40058ec91dcb5ce0abc +0 -15
  336. package/examples/.npm-cache/index-v5/7b/94/72b6bffa050d9ef52a558dd220663695bc606f756be0dfa196ef4f3913ba +0 -3
  337. package/examples/.npm-cache/index-v5/85/9e/99e97fdd562517e56285337db91d1a8f2f416b8d631cf4d7d754fa671299 +0 -15
  338. package/examples/.npm-cache/index-v5/92/4c/9416ada81a9b3c679539fd1ab53f8de3d41ff268f35eba7a194389a85b06 +0 -3
  339. package/examples/.npm-cache/index-v5/c1/5a/13df76b218deed8a6ef12961116af5183db98c53fad1b922fd9edc075247 +0 -3
  340. package/examples/.npm-cache/index-v5/cb/11/253c55410a8ab7c4a9ea9d6e1bf8ef1450a581da64c478074dfd82c8bff6 +0 -3
  341. package/examples/.npm-cache/index-v5/d5/ae/b57fad3a62b5ba2dbdf24b042a9e7b70820f3db00e5a630f02e1fea020dc +0 -3
  342. package/examples/.npm-cache/index-v5/d6/32/2f620f83c7d14451de98de8298c2408e05a16cc0829bd16c891ac19d7a67 +0 -3
  343. package/examples/.npm-cache/index-v5/dd/b5/01dc7a3cd8b6a03a69aee9af500d51ae19cb0aa12631a4aafd152148b8e5 +0 -15
  344. package/examples/.npm-cache/index-v5/e0/cf/6b862c15d74630d3871cd813d305210ab741311deb10baf8813014e0bc30 +0 -3
  345. package/examples/.npm-cache/index-v5/e2/be/e880ccd35950a814d3c1dded34d3938ac61b15a195321dc51357f801aad4 +0 -15
  346. package/examples/.npm-cache/index-v5/e5/1f/f4affe0b392cd03288f23cc03abcb274ff11a2c8f8965299de681914abb2 +0 -3
  347. package/examples/.npm-cache/index-v5/f3/5b/9ebe450958ff0d7cc44ab0a00080cb8a3ff1389744b5eab5f97b68a6a6af +0 -3
  348. package/examples/.npm-cache/index-v5/fb/c1/0de405e902866d53e7c30cf36a97dc2578838622b261816f44dc377c9a80 +0 -3
  349. package/templates/server.hbs +0 -29
  350. package/templates/web.hbs +0 -45
@@ -1,155 +0,0 @@
1
- /**
2
- * Configuration Loader
3
- *
4
- * Loads and parses Flow.Setup configurations using core getFlowConfig().
5
- * Build options are determined by static platform defaults.
6
- */
7
- import path from 'path';
8
- import fs from 'fs-extra';
9
- import { getFlowConfig, getPlatform } from '@walkeros/core';
10
- import { validateFlowSetup, isFlowSetup, getAvailableFlows as getFlowNames, } from './validators.js';
11
- import { getBuildDefaults, getDefaultOutput } from './build-defaults.js';
12
- /** Default folder for includes if it exists */
13
- const DEFAULT_INCLUDE_FOLDER = './shared';
14
- /**
15
- * Load and parse bundle configuration.
16
- *
17
- * @remarks
18
- * Uses Flow.Setup from @walkeros/core as the only config format.
19
- * - Validates config structure
20
- * - Uses core getFlowConfig() for variable/definition resolution
21
- * - Determines platform from resolved config
22
- * - Applies static build defaults based on platform
23
- *
24
- * @param rawConfig - Raw configuration object from JSON file
25
- * @param options - Loading options
26
- * @returns Parsed configuration with flow and build separated
27
- *
28
- * @example
29
- * ```typescript
30
- * const config = loadBundleConfig(rawConfig, {
31
- * configPath: './walkeros.config.json',
32
- * flowName: 'production',
33
- * });
34
- * ```
35
- */
36
- export function loadBundleConfig(rawConfig, options) {
37
- // Validate as Flow.Setup
38
- const setup = validateFlowSetup(rawConfig);
39
- const availableFlows = getFlowNames(setup);
40
- // Determine which flow to use
41
- const flowName = resolveFlow(setup, options.flowName, availableFlows);
42
- // Use core getFlowConfig() for resolution (variables, $refs, cascading)
43
- const flowConfig = getFlowConfig(setup, flowName);
44
- // Detect platform from resolved config
45
- const platform = getPlatform(flowConfig);
46
- if (!platform) {
47
- throw new Error(`Invalid configuration: flow "${flowName}" must have a "web" or "server" key.`);
48
- }
49
- // Get static build defaults based on platform
50
- const buildDefaults = getBuildDefaults(platform);
51
- // Extract packages from flowConfig (if present)
52
- const packages = flowConfig.packages || {};
53
- // Resolve output path relative to config directory
54
- let output = getDefaultOutput(platform);
55
- if (options.buildOverrides?.output) {
56
- output = options.buildOverrides.output;
57
- }
58
- // Get config directory for relative path resolution
59
- const configDir = path.dirname(options.configPath);
60
- // Make output path absolute relative to config file
61
- if (!path.isAbsolute(output)) {
62
- output = path.resolve(configDir, output);
63
- }
64
- // Get includes from config or use default if ./shared exists
65
- let includes = setup.include;
66
- if (!includes) {
67
- const defaultIncludePath = path.resolve(configDir, DEFAULT_INCLUDE_FOLDER);
68
- if (fs.pathExistsSync(defaultIncludePath)) {
69
- includes = [DEFAULT_INCLUDE_FOLDER];
70
- }
71
- }
72
- // Merge build options: defaults + CLI overrides
73
- const buildOptions = {
74
- ...buildDefaults,
75
- packages,
76
- output,
77
- include: includes,
78
- configDir,
79
- ...options.buildOverrides,
80
- };
81
- // Log flow selection
82
- const isMultiFlow = availableFlows.length > 1;
83
- if (isMultiFlow && options.logger) {
84
- options.logger.info(`📦 Using flow: ${flowName} (${availableFlows.length} total)`);
85
- }
86
- return {
87
- flowConfig,
88
- buildOptions,
89
- flowName,
90
- isMultiFlow,
91
- availableFlows,
92
- };
93
- }
94
- /**
95
- * Resolve which flow to use.
96
- *
97
- * @param setup - Flow.Setup configuration
98
- * @param requestedFlow - Flow name from CLI (optional)
99
- * @param available - Available flow names
100
- * @returns Flow name to use
101
- * @throws Error if flow selection is invalid
102
- */
103
- function resolveFlow(setup, requestedFlow, available) {
104
- // If only one flow, use it automatically
105
- if (available.length === 1) {
106
- return available[0];
107
- }
108
- // Multiple flows require explicit selection
109
- if (!requestedFlow) {
110
- throw new Error(`Multiple flows found. Please specify a flow using --flow flag.\n` +
111
- `Available flows: ${available.join(', ')}`);
112
- }
113
- // Validate the requested flow exists
114
- if (!available.includes(requestedFlow)) {
115
- throw new Error(`Flow "${requestedFlow}" not found in configuration.\n` +
116
- `Available flows: ${available.join(', ')}`);
117
- }
118
- return requestedFlow;
119
- }
120
- /**
121
- * Load all flows from a configuration.
122
- *
123
- * @remarks
124
- * Used by the --all flag to build all flows.
125
- *
126
- * @param rawConfig - Raw configuration object
127
- * @param options - Loading options (without flowName)
128
- * @returns Array of loaded configurations for all flows
129
- */
130
- export function loadAllFlows(rawConfig, options) {
131
- // Validate as Flow.Setup
132
- const setup = validateFlowSetup(rawConfig);
133
- const flows = getFlowNames(setup);
134
- if (options.logger) {
135
- options.logger.info(`📦 Loading all ${flows.length} flows: ${flows.join(', ')}`);
136
- }
137
- // Load each flow
138
- return flows.map((name) => loadBundleConfig(rawConfig, {
139
- ...options,
140
- flowName: name,
141
- }));
142
- }
143
- /**
144
- * Get list of available flows from configuration.
145
- *
146
- * @param rawConfig - Raw configuration object
147
- * @returns Array of flow names
148
- */
149
- export function getAvailableFlows(rawConfig) {
150
- if (isFlowSetup(rawConfig)) {
151
- return getFlowNames(rawConfig);
152
- }
153
- return [];
154
- }
155
- //# sourceMappingURL=loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -1,114 +0,0 @@
1
- /**
2
- * Configuration Utility Functions
3
- */
4
- /**
5
- * Check if a string is a valid URL
6
- *
7
- * @param str - String to check
8
- * @returns True if string is a valid HTTP/HTTPS URL
9
- */
10
- export declare function isUrl(str: string): boolean;
11
- /**
12
- * Download a file from a URL to a temporary location
13
- *
14
- * @param url - HTTP/HTTPS URL to download
15
- * @returns Path to downloaded temporary file
16
- * @throws Error if download fails or response is not OK
17
- *
18
- * @example
19
- * ```typescript
20
- * const tempPath = await downloadFromUrl('https://example.com/config.json')
21
- * // Returns: "/tmp/walkeros-download-1647261462000-abc123.json"
22
- * ```
23
- */
24
- export declare function downloadFromUrl(url: string): Promise<string>;
25
- /**
26
- * Substitute environment variables in a string.
27
- *
28
- * @param value - String with ${VAR} placeholders
29
- * @returns String with environment variables substituted
30
- * @throws Error if environment variable is not found
31
- *
32
- * @example
33
- * ```typescript
34
- * substituteEnvVariables('${HOME}/config') // "/Users/name/config"
35
- * ```
36
- */
37
- export declare function substituteEnvVariables(value: string): string;
38
- /**
39
- * Load and parse JSON configuration file from local path or URL.
40
- *
41
- * @param configPath - Path to JSON file or HTTP/HTTPS URL
42
- * @returns Parsed configuration object and cleanup function
43
- * @throws Error if file not found, download fails, or invalid JSON
44
- *
45
- * @example
46
- * ```typescript
47
- * // Local file
48
- * const config = await loadJsonConfig('./config.json')
49
- *
50
- * // Remote URL
51
- * const config = await loadJsonConfig('https://example.com/config.json')
52
- * ```
53
- */
54
- export declare function loadJsonConfig<T>(configPath: string): Promise<T>;
55
- /**
56
- * Generate a unique temporary directory path.
57
- *
58
- * @param tempDir - Base temporary directory (default: ".tmp")
59
- * @returns Absolute path to unique temp directory
60
- *
61
- * @example
62
- * ```typescript
63
- * getTempDir() // "/workspaces/project/.tmp/cli-1647261462000-abc123"
64
- * getTempDir('/tmp') // "/tmp/cli-1647261462000-abc123"
65
- * ```
66
- */
67
- export declare function getTempDir(tempDir?: string): string;
68
- /**
69
- * Load JSON from inline string, file path, or URL.
70
- *
71
- * Supports three input formats:
72
- * 1. Inline JSON string - parsed directly
73
- * 2. Local file path - read and parsed
74
- * 3. HTTP/HTTPS URL - downloaded and parsed
75
- *
76
- * Detection priority:
77
- * 1. URL (http://, https://) → download and parse
78
- * 2. Existing file path → read and parse
79
- * 3. Valid JSON string → parse directly
80
- * 4. Simple string → treat as {name: string} for backward compatibility
81
- *
82
- * @param source - JSON string, file path, or URL
83
- * @param options - Optional configuration
84
- * @param options.name - Parameter name for error messages (e.g., "event", "config")
85
- * @param options.required - Throw error if source is empty (default: false)
86
- * @param options.fallback - Default value if source is empty
87
- * @returns Parsed JSON object
88
- * @throws Error if source is required but empty, or if loading/parsing fails
89
- *
90
- * @example
91
- * ```typescript
92
- * // Inline JSON
93
- * await loadJsonFromSource('{"name":"order complete","data":{}}')
94
- *
95
- * // File path
96
- * await loadJsonFromSource('./examples/event.json')
97
- *
98
- * // URL
99
- * await loadJsonFromSource('https://example.com/event.json')
100
- *
101
- * // With options
102
- * await loadJsonFromSource(input, {
103
- * name: 'event',
104
- * required: true,
105
- * fallback: { name: 'default' }
106
- * })
107
- * ```
108
- */
109
- export declare function loadJsonFromSource<T = unknown>(source: string | undefined, options?: {
110
- name?: string;
111
- required?: boolean;
112
- fallback?: T;
113
- }): Promise<T>;
114
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkClE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAmCtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,GAAG,MAAM,CAMnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAClD,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,CAAC;CACd,GACA,OAAO,CAAC,CAAC,CAAC,CAmEZ"}
@@ -1,257 +0,0 @@
1
- /**
2
- * Configuration Utility Functions
3
- */
4
- import fs from 'fs-extra';
5
- import path from 'path';
6
- import os from 'os';
7
- import { getErrorMessage } from '../core/index.js';
8
- /**
9
- * Check if a string is a valid URL
10
- *
11
- * @param str - String to check
12
- * @returns True if string is a valid HTTP/HTTPS URL
13
- */
14
- export function isUrl(str) {
15
- try {
16
- const url = new URL(str);
17
- return url.protocol === 'http:' || url.protocol === 'https:';
18
- }
19
- catch {
20
- return false;
21
- }
22
- }
23
- /**
24
- * Download a file from a URL to a temporary location
25
- *
26
- * @param url - HTTP/HTTPS URL to download
27
- * @returns Path to downloaded temporary file
28
- * @throws Error if download fails or response is not OK
29
- *
30
- * @example
31
- * ```typescript
32
- * const tempPath = await downloadFromUrl('https://example.com/config.json')
33
- * // Returns: "/tmp/walkeros-download-1647261462000-abc123.json"
34
- * ```
35
- */
36
- export async function downloadFromUrl(url) {
37
- if (!isUrl(url)) {
38
- throw new Error(`Invalid URL: ${url}`);
39
- }
40
- try {
41
- const response = await fetch(url);
42
- if (!response.ok) {
43
- throw new Error(`Failed to download ${url}: ${response.status} ${response.statusText}`);
44
- }
45
- const content = await response.text();
46
- // Extract filename from URL or generate one
47
- const urlObj = new URL(url);
48
- const urlFilename = path.basename(urlObj.pathname);
49
- const extension = path.extname(urlFilename) || '.json';
50
- const randomId = Math.random().toString(36).substring(2, 11);
51
- const filename = `walkeros-download-${Date.now()}-${randomId}${extension}`;
52
- // Write to system temp directory
53
- const tempPath = path.join(os.tmpdir(), filename);
54
- await fs.writeFile(tempPath, content, 'utf-8');
55
- return tempPath;
56
- }
57
- catch (error) {
58
- if (error instanceof Error) {
59
- throw new Error(`Failed to download from URL: ${error.message}`);
60
- }
61
- throw error;
62
- }
63
- }
64
- /**
65
- * Substitute environment variables in a string.
66
- *
67
- * @param value - String with ${VAR} placeholders
68
- * @returns String with environment variables substituted
69
- * @throws Error if environment variable is not found
70
- *
71
- * @example
72
- * ```typescript
73
- * substituteEnvVariables('${HOME}/config') // "/Users/name/config"
74
- * ```
75
- */
76
- export function substituteEnvVariables(value) {
77
- return value.replace(/\${([^}]+)}/g, (_, envVar) => {
78
- const envValue = process.env[envVar];
79
- if (!envValue) {
80
- throw new Error(`Environment variable ${envVar} not found`);
81
- }
82
- return envValue;
83
- });
84
- }
85
- /**
86
- * Load and parse JSON configuration file from local path or URL.
87
- *
88
- * @param configPath - Path to JSON file or HTTP/HTTPS URL
89
- * @returns Parsed configuration object and cleanup function
90
- * @throws Error if file not found, download fails, or invalid JSON
91
- *
92
- * @example
93
- * ```typescript
94
- * // Local file
95
- * const config = await loadJsonConfig('./config.json')
96
- *
97
- * // Remote URL
98
- * const config = await loadJsonConfig('https://example.com/config.json')
99
- * ```
100
- */
101
- export async function loadJsonConfig(configPath) {
102
- let absolutePath;
103
- let isTemporary = false;
104
- // Check if input is a URL
105
- if (isUrl(configPath)) {
106
- // Download from URL to temp location
107
- absolutePath = await downloadFromUrl(configPath);
108
- isTemporary = true;
109
- }
110
- else {
111
- // Local file path
112
- absolutePath = path.resolve(configPath);
113
- if (!(await fs.pathExists(absolutePath))) {
114
- throw new Error(`Configuration file not found: ${absolutePath}`);
115
- }
116
- }
117
- try {
118
- const rawConfig = await fs.readJson(absolutePath);
119
- return rawConfig;
120
- }
121
- catch (error) {
122
- throw new Error(`Invalid JSON in config file: ${configPath}. ${error instanceof Error ? error.message : error}`);
123
- }
124
- finally {
125
- // Clean up temporary downloaded file
126
- if (isTemporary) {
127
- try {
128
- await fs.remove(absolutePath);
129
- }
130
- catch {
131
- // Ignore cleanup errors
132
- }
133
- }
134
- }
135
- }
136
- /**
137
- * Generate a unique temporary directory path.
138
- *
139
- * @param tempDir - Base temporary directory (default: ".tmp")
140
- * @returns Absolute path to unique temp directory
141
- *
142
- * @example
143
- * ```typescript
144
- * getTempDir() // "/workspaces/project/.tmp/cli-1647261462000-abc123"
145
- * getTempDir('/tmp') // "/tmp/cli-1647261462000-abc123"
146
- * ```
147
- */
148
- export function getTempDir(tempDir = '.tmp') {
149
- const randomId = Math.random().toString(36).substring(2, 11);
150
- const basePath = path.isAbsolute(tempDir)
151
- ? tempDir
152
- : path.join(process.cwd(), tempDir);
153
- return path.join(basePath, `cli-${Date.now()}-${randomId}`);
154
- }
155
- /**
156
- * Load JSON from inline string, file path, or URL.
157
- *
158
- * Supports three input formats:
159
- * 1. Inline JSON string - parsed directly
160
- * 2. Local file path - read and parsed
161
- * 3. HTTP/HTTPS URL - downloaded and parsed
162
- *
163
- * Detection priority:
164
- * 1. URL (http://, https://) → download and parse
165
- * 2. Existing file path → read and parse
166
- * 3. Valid JSON string → parse directly
167
- * 4. Simple string → treat as {name: string} for backward compatibility
168
- *
169
- * @param source - JSON string, file path, or URL
170
- * @param options - Optional configuration
171
- * @param options.name - Parameter name for error messages (e.g., "event", "config")
172
- * @param options.required - Throw error if source is empty (default: false)
173
- * @param options.fallback - Default value if source is empty
174
- * @returns Parsed JSON object
175
- * @throws Error if source is required but empty, or if loading/parsing fails
176
- *
177
- * @example
178
- * ```typescript
179
- * // Inline JSON
180
- * await loadJsonFromSource('{"name":"order complete","data":{}}')
181
- *
182
- * // File path
183
- * await loadJsonFromSource('./examples/event.json')
184
- *
185
- * // URL
186
- * await loadJsonFromSource('https://example.com/event.json')
187
- *
188
- * // With options
189
- * await loadJsonFromSource(input, {
190
- * name: 'event',
191
- * required: true,
192
- * fallback: { name: 'default' }
193
- * })
194
- * ```
195
- */
196
- export async function loadJsonFromSource(source, options) {
197
- const paramName = options?.name || 'input';
198
- // Handle empty/undefined input
199
- if (!source || source.trim() === '') {
200
- if (options?.required) {
201
- throw new Error(`${paramName} is required`);
202
- }
203
- if (options?.fallback !== undefined) {
204
- return options.fallback;
205
- }
206
- return {};
207
- }
208
- const trimmedSource = source.trim();
209
- // 1. Check if URL
210
- if (isUrl(trimmedSource)) {
211
- try {
212
- const tempPath = await downloadFromUrl(trimmedSource);
213
- try {
214
- const data = await fs.readJson(tempPath);
215
- return data;
216
- }
217
- finally {
218
- // Clean up temp file
219
- try {
220
- await fs.remove(tempPath);
221
- }
222
- catch {
223
- // Ignore cleanup errors
224
- }
225
- }
226
- }
227
- catch (error) {
228
- throw new Error(`Failed to load ${paramName} from URL ${trimmedSource}: ${getErrorMessage(error)}`);
229
- }
230
- }
231
- // 2. Check if file path exists
232
- const resolvedPath = path.resolve(trimmedSource);
233
- if (await fs.pathExists(resolvedPath)) {
234
- try {
235
- const data = await fs.readJson(resolvedPath);
236
- return data;
237
- }
238
- catch (error) {
239
- throw new Error(`Failed to parse ${paramName} from file ${trimmedSource}: ${getErrorMessage(error)}`);
240
- }
241
- }
242
- // 3. Try to parse as inline JSON
243
- try {
244
- const parsed = JSON.parse(trimmedSource);
245
- return parsed;
246
- }
247
- catch (jsonError) {
248
- // 4. Fallback: treat as event name string for backward compatibility
249
- // This allows simple strings like "page view" to work
250
- if (!trimmedSource.startsWith('{') && !trimmedSource.startsWith('[')) {
251
- return { name: trimmedSource };
252
- }
253
- // If it looks like JSON but failed to parse, throw helpful error
254
- throw new Error(`Failed to parse ${paramName}. Input appears to be JSON but contains errors: ${jsonError instanceof Error ? jsonError.message : String(jsonError)}`);
255
- }
256
- }
257
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- /**
2
- * Configuration Type Guards and Validators
3
- *
4
- * Type checking utilities for configuration validation.
5
- * Uses Zod schemas from @walkeros/core for Flow.Setup validation.
6
- */
7
- import type { Flow } from '@walkeros/core';
8
- /**
9
- * Type guard: Check if value is a plain object.
10
- */
11
- export declare function isObject(value: unknown): value is Record<string, unknown>;
12
- /**
13
- * Detect platform from flow config.
14
- *
15
- * Platform is determined by the presence of `web` or `server` key.
16
- */
17
- export declare function detectPlatform(flowConfig: Record<string, unknown>): 'web' | 'server' | undefined;
18
- /**
19
- * Type guard: Check if config is a valid Flow.Setup structure.
20
- *
21
- * @remarks
22
- * Uses Zod validation from @walkeros/core.
23
- * Returns false instead of throwing on invalid input.
24
- *
25
- * @example
26
- * ```typescript
27
- * if (isFlowSetup(config)) {
28
- * const flowConfig = getFlowConfig(config, 'production');
29
- * }
30
- * ```
31
- */
32
- export declare function isFlowSetup(data: unknown): data is Flow.Setup;
33
- /**
34
- * Validate Flow.Setup and throw descriptive error if invalid.
35
- *
36
- * @remarks
37
- * Uses Zod validation from @walkeros/core.
38
- * Provides detailed error messages from Zod.
39
- *
40
- * @param data - Raw configuration data
41
- * @returns Validated Flow.Setup
42
- * @throws Error with descriptive message if validation fails
43
- */
44
- export declare function validateFlowSetup(data: unknown): Flow.Setup;
45
- /**
46
- * Get available flow names from a Flow.Setup.
47
- *
48
- * @param setup - Flow.Setup configuration
49
- * @returns Array of flow names
50
- */
51
- export declare function getAvailableFlows(setup: Flow.Setup): string[];
52
- //# sourceMappingURL=validators.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/config/validators.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAK3C;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,KAAK,GAAG,QAAQ,GAAG,SAAS,CAQ9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAG7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAkB3D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,CAE7D"}
@@ -1,85 +0,0 @@
1
- /**
2
- * Configuration Type Guards and Validators
3
- *
4
- * Type checking utilities for configuration validation.
5
- * Uses Zod schemas from @walkeros/core for Flow.Setup validation.
6
- */
7
- import { schemas } from '@walkeros/core/dev';
8
- const { safeParseSetup } = schemas;
9
- /**
10
- * Type guard: Check if value is a plain object.
11
- */
12
- export function isObject(value) {
13
- return (typeof value === 'object' &&
14
- value !== null &&
15
- !Array.isArray(value) &&
16
- Object.prototype.toString.call(value) === '[object Object]');
17
- }
18
- /**
19
- * Detect platform from flow config.
20
- *
21
- * Platform is determined by the presence of `web` or `server` key.
22
- */
23
- export function detectPlatform(flowConfig) {
24
- if ('web' in flowConfig && flowConfig.web !== undefined) {
25
- return 'web';
26
- }
27
- if ('server' in flowConfig && flowConfig.server !== undefined) {
28
- return 'server';
29
- }
30
- return undefined;
31
- }
32
- /**
33
- * Type guard: Check if config is a valid Flow.Setup structure.
34
- *
35
- * @remarks
36
- * Uses Zod validation from @walkeros/core.
37
- * Returns false instead of throwing on invalid input.
38
- *
39
- * @example
40
- * ```typescript
41
- * if (isFlowSetup(config)) {
42
- * const flowConfig = getFlowConfig(config, 'production');
43
- * }
44
- * ```
45
- */
46
- export function isFlowSetup(data) {
47
- const result = safeParseSetup(data);
48
- return result.success;
49
- }
50
- /**
51
- * Validate Flow.Setup and throw descriptive error if invalid.
52
- *
53
- * @remarks
54
- * Uses Zod validation from @walkeros/core.
55
- * Provides detailed error messages from Zod.
56
- *
57
- * @param data - Raw configuration data
58
- * @returns Validated Flow.Setup
59
- * @throws Error with descriptive message if validation fails
60
- */
61
- export function validateFlowSetup(data) {
62
- const result = safeParseSetup(data);
63
- if (!result.success) {
64
- // Format Zod errors for CLI display
65
- const errors = result.error.issues
66
- .map((issue) => {
67
- const path = issue.path.length > 0 ? issue.path.map(String).join('.') : 'root';
68
- return ` - ${path}: ${issue.message}`;
69
- })
70
- .join('\n');
71
- throw new Error(`Invalid configuration:\n${errors}`);
72
- }
73
- // Cast to Flow.Setup since Zod's inferred type is compatible but not identical
74
- return result.data;
75
- }
76
- /**
77
- * Get available flow names from a Flow.Setup.
78
- *
79
- * @param setup - Flow.Setup configuration
80
- * @returns Array of flow names
81
- */
82
- export function getAvailableFlows(setup) {
83
- return Object.keys(setup.flows);
84
- }
85
- //# sourceMappingURL=validators.js.map