@walkeros/cli 0.3.6 → 0.4.1

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 (228) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/__tests__/bundle/bundler-helpers.test.d.ts +2 -0
  3. package/dist/__tests__/bundle/bundler-helpers.test.d.ts.map +1 -0
  4. package/dist/__tests__/bundle/bundler-helpers.test.js +285 -0
  5. package/dist/__tests__/bundle/bundler-helpers.test.js.map +1 -0
  6. package/dist/__tests__/bundle/bundler.test.js +9 -3
  7. package/dist/__tests__/bundle/bundler.test.js.map +1 -1
  8. package/dist/__tests__/bundle/programmatic.test.js +5 -1
  9. package/dist/__tests__/bundle/programmatic.test.js.map +1 -1
  10. package/dist/__tests__/bundle/serializer.test.js +1 -1
  11. package/dist/__tests__/bundle/serializer.test.js.map +1 -1
  12. package/dist/__tests__/bundle/template-engine.test.js +1 -1
  13. package/dist/__tests__/bundle/template-engine.test.js.map +1 -1
  14. package/dist/__tests__/cli.test.js +6 -71
  15. package/dist/__tests__/cli.test.js.map +1 -1
  16. package/dist/__tests__/config-loader.test.js +8 -5
  17. package/dist/__tests__/config-loader.test.js.map +1 -1
  18. package/dist/__tests__/core/config.test.js +1 -1
  19. package/dist/__tests__/core/config.test.js.map +1 -1
  20. package/dist/__tests__/core/logger.test.js +1 -1
  21. package/dist/__tests__/core/logger.test.js.map +1 -1
  22. package/dist/__tests__/integration/bundle-run.integration.test.d.ts +8 -0
  23. package/dist/__tests__/integration/bundle-run.integration.test.d.ts.map +1 -0
  24. package/dist/__tests__/integration/bundle-run.integration.test.js +50 -0
  25. package/dist/__tests__/integration/bundle-run.integration.test.js.map +1 -0
  26. package/dist/__tests__/push/push.test.d.ts +7 -0
  27. package/dist/__tests__/push/push.test.d.ts.map +1 -0
  28. package/dist/__tests__/push/push.test.js +197 -0
  29. package/dist/__tests__/push/push.test.js.map +1 -0
  30. package/dist/__tests__/simulate/env-loader.test.d.ts +2 -0
  31. package/dist/__tests__/simulate/env-loader.test.d.ts.map +1 -0
  32. package/dist/__tests__/simulate/env-loader.test.js +47 -0
  33. package/dist/__tests__/simulate/env-loader.test.js.map +1 -0
  34. package/dist/__tests__/smoke/production.smoke.test.d.ts +8 -0
  35. package/dist/__tests__/smoke/production.smoke.test.d.ts.map +1 -0
  36. package/dist/__tests__/smoke/production.smoke.test.js +58 -0
  37. package/dist/__tests__/smoke/production.smoke.test.js.map +1 -0
  38. package/dist/commands/bundle/bundler.d.ts +2 -2
  39. package/dist/commands/bundle/bundler.d.ts.map +1 -1
  40. package/dist/commands/bundle/bundler.js +70 -58
  41. package/dist/commands/bundle/bundler.js.map +1 -1
  42. package/dist/commands/bundle/index.d.ts +1 -1
  43. package/dist/commands/bundle/index.d.ts.map +1 -1
  44. package/dist/commands/bundle/index.js +11 -23
  45. package/dist/commands/bundle/index.js.map +1 -1
  46. package/dist/commands/bundle/package-manager.d.ts +1 -1
  47. package/dist/commands/bundle/package-manager.d.ts.map +1 -1
  48. package/dist/commands/bundle/serializer.d.ts +1 -1
  49. package/dist/commands/bundle/serializer.d.ts.map +1 -1
  50. package/dist/commands/bundle/serializer.js +1 -1
  51. package/dist/commands/bundle/serializer.js.map +1 -1
  52. package/dist/commands/bundle/stats.d.ts +2 -2
  53. package/dist/commands/bundle/stats.d.ts.map +1 -1
  54. package/dist/commands/bundle/stats.js +1 -1
  55. package/dist/commands/bundle/stats.js.map +1 -1
  56. package/dist/commands/bundle/template-engine.d.ts +1 -1
  57. package/dist/commands/bundle/template-engine.d.ts.map +1 -1
  58. package/dist/commands/bundle/template-engine.js +4 -2
  59. package/dist/commands/bundle/template-engine.js.map +1 -1
  60. package/dist/commands/push/index.d.ts +7 -0
  61. package/dist/commands/push/index.d.ts.map +1 -0
  62. package/dist/commands/push/index.js +252 -0
  63. package/dist/commands/push/index.js.map +1 -0
  64. package/dist/commands/push/types.d.ts +21 -0
  65. package/dist/commands/push/types.d.ts.map +1 -0
  66. package/dist/commands/push/types.js +2 -0
  67. package/dist/commands/push/types.js.map +1 -0
  68. package/dist/commands/run/__tests__/run.integration.test.js +1 -1
  69. package/dist/commands/run/__tests__/run.integration.test.js.map +1 -1
  70. package/dist/commands/run/__tests__/validators.test.js +1 -1
  71. package/dist/commands/run/__tests__/validators.test.js.map +1 -1
  72. package/dist/commands/run/execution.d.ts +14 -0
  73. package/dist/commands/run/execution.d.ts.map +1 -0
  74. package/dist/commands/run/execution.js +37 -0
  75. package/dist/commands/run/execution.js.map +1 -0
  76. package/dist/commands/run/index.d.ts +1 -1
  77. package/dist/commands/run/index.d.ts.map +1 -1
  78. package/dist/commands/run/index.js +33 -107
  79. package/dist/commands/run/index.js.map +1 -1
  80. package/dist/commands/run/types.d.ts +1 -1
  81. package/dist/commands/run/types.d.ts.map +1 -1
  82. package/dist/commands/run/utils.d.ts +26 -0
  83. package/dist/commands/run/utils.d.ts.map +1 -0
  84. package/dist/commands/run/utils.js +58 -0
  85. package/dist/commands/run/utils.js.map +1 -0
  86. package/dist/commands/run/validators.d.ts +1 -1
  87. package/dist/commands/run/validators.d.ts.map +1 -1
  88. package/dist/commands/run/validators.js +1 -1
  89. package/dist/commands/run/validators.js.map +1 -1
  90. package/dist/commands/simulate/env-loader.d.ts +19 -0
  91. package/dist/commands/simulate/env-loader.d.ts.map +1 -0
  92. package/dist/commands/simulate/env-loader.js +46 -0
  93. package/dist/commands/simulate/env-loader.js.map +1 -0
  94. package/dist/commands/simulate/index.d.ts +3 -3
  95. package/dist/commands/simulate/index.d.ts.map +1 -1
  96. package/dist/commands/simulate/index.js +14 -20
  97. package/dist/commands/simulate/index.js.map +1 -1
  98. package/dist/commands/simulate/jsdom-executor.d.ts +37 -0
  99. package/dist/commands/simulate/jsdom-executor.d.ts.map +1 -0
  100. package/dist/commands/simulate/jsdom-executor.js +137 -0
  101. package/dist/commands/simulate/jsdom-executor.js.map +1 -0
  102. package/dist/commands/simulate/simulator.d.ts +1 -5
  103. package/dist/commands/simulate/simulator.d.ts.map +1 -1
  104. package/dist/commands/simulate/simulator.js +33 -111
  105. package/dist/commands/simulate/simulator.js.map +1 -1
  106. package/dist/commands/simulate/types.d.ts +2 -2
  107. package/dist/commands/simulate/types.d.ts.map +1 -1
  108. package/dist/config/defaults.d.ts +1 -1
  109. package/dist/config/defaults.d.ts.map +1 -1
  110. package/dist/config/defaults.js +0 -1
  111. package/dist/config/defaults.js.map +1 -1
  112. package/dist/config/index.d.ts +8 -8
  113. package/dist/config/index.d.ts.map +1 -1
  114. package/dist/config/index.js +5 -5
  115. package/dist/config/index.js.map +1 -1
  116. package/dist/config/loader.d.ts +1 -1
  117. package/dist/config/loader.d.ts.map +1 -1
  118. package/dist/config/loader.js +23 -19
  119. package/dist/config/loader.js.map +1 -1
  120. package/dist/config/parser.d.ts +65 -1
  121. package/dist/config/parser.d.ts.map +1 -1
  122. package/dist/config/parser.js +176 -62
  123. package/dist/config/parser.js.map +1 -1
  124. package/dist/config/utils.d.ts +46 -0
  125. package/dist/config/utils.d.ts.map +1 -1
  126. package/dist/config/utils.js +103 -0
  127. package/dist/config/utils.js.map +1 -1
  128. package/dist/config/validators.d.ts +4 -1
  129. package/dist/config/validators.d.ts.map +1 -1
  130. package/dist/config/validators.js +4 -2
  131. package/dist/config/validators.js.map +1 -1
  132. package/dist/core/asset-resolver.d.ts.map +1 -1
  133. package/dist/core/asset-resolver.js +10 -3
  134. package/dist/core/asset-resolver.js.map +1 -1
  135. package/dist/core/docker.d.ts +17 -1
  136. package/dist/core/docker.d.ts.map +1 -1
  137. package/dist/core/docker.js +22 -1
  138. package/dist/core/docker.js.map +1 -1
  139. package/dist/core/execution.d.ts +2 -2
  140. package/dist/core/execution.d.ts.map +1 -1
  141. package/dist/core/execution.js +1 -1
  142. package/dist/core/execution.js.map +1 -1
  143. package/dist/core/index.d.ts +8 -6
  144. package/dist/core/index.d.ts.map +1 -1
  145. package/dist/core/index.js +8 -6
  146. package/dist/core/index.js.map +1 -1
  147. package/dist/core/logger.d.ts +11 -0
  148. package/dist/core/logger.d.ts.map +1 -1
  149. package/dist/core/logger.js +14 -0
  150. package/dist/core/logger.js.map +1 -1
  151. package/dist/core/temp-manager.d.ts +51 -0
  152. package/dist/core/temp-manager.d.ts.map +1 -0
  153. package/dist/core/temp-manager.js +73 -0
  154. package/dist/core/temp-manager.js.map +1 -0
  155. package/dist/core/utils.d.ts +10 -0
  156. package/dist/core/utils.d.ts.map +1 -0
  157. package/dist/core/utils.js +12 -0
  158. package/dist/core/utils.js.map +1 -0
  159. package/dist/index.d.ts +42 -13
  160. package/dist/index.d.ts.map +1 -1
  161. package/dist/index.js +827 -397
  162. package/dist/index.js.map +1 -1
  163. package/dist/types/bundle.d.ts +26 -12
  164. package/dist/types/bundle.d.ts.map +1 -1
  165. package/dist/types/index.d.ts +2 -2
  166. package/dist/types/index.d.ts.map +1 -1
  167. package/dist/types/index.js +2 -2
  168. package/dist/types/index.js.map +1 -1
  169. package/examples/.npm-cache/content-v2/sha512/0d/2d/7581c288670eaf8538ddd9df145b78756ce3be0791c6e0b9cd33429b3bae894525b9bda287a3cedffbcdd2c7b3107bafc03f2b0367eea489eee1cc042abb +1 -0
  170. package/examples/.npm-cache/content-v2/sha512/12/20/bc4f5acca143809f7e07da1fdafb38137d93243de4d5b403e6e10b92d0d3a6e51eab24fe9dbc9d3ed1cd72e8f7a406085e99c422bb2c7d1166cf9f1f564e +0 -0
  171. package/examples/.npm-cache/content-v2/sha512/22/ee/fb2695b01871c1d36946bdcfb49f1b520a57200d0a0b221b1e7d5f047ab38a8b2ab0e5f0e25a00acde1f3f2f9d24430a18f1092d438bc1a9e9891cc45f75 +0 -0
  172. package/examples/.npm-cache/content-v2/sha512/24/89/da1ce6a61bca6de7e132f241a675c01c83738bf6b78af25b5cce01d3030361332b3fe938571e2b721f1555da9ddf930fdcf8c02f0471556071590e68cc09 +0 -0
  173. package/examples/.npm-cache/content-v2/sha512/47/fd/c6be997da99228c3e279b95d4a46d6913947078a178f54ac71795a159f3513b1483232f4c2d0a1f403178bf9f96bb19615de32a9e2133e949880c6bc15e2 +0 -0
  174. package/examples/.npm-cache/content-v2/sha512/4b/1c/c1cb7f8b32102071a89fef97158daa32080ebaedfbbd596880d2213d84e305abc76d2a95a412ded55c1c3d487adcb1ceff87fc2c85d7e2856ebd9d3f16f3 +0 -0
  175. package/examples/.npm-cache/content-v2/sha512/6e/53/ff864769671f44f39d8a3bf904cd646535b745cc4824a8bb3189193b474678049f43b5178ba15cad7f0289046105e70f1565afc84e907120b35a466690fd +1 -0
  176. package/examples/.npm-cache/content-v2/sha512/70/4c/4c8837d446965c5551b4ea527e95fa011744fb727581d82cf35bb5599ea0b57d18baa490f7af93ef9a16e8e45e5c0802737da20575f4056a4a5c9a3cd288 +0 -0
  177. package/examples/.npm-cache/content-v2/sha512/96/ad/05de3bbb12d7de8ea353f962bdaea7d2eb44f707f2973462a6635daf537c67b46cca7764fed7d464fe62152c3f783a07aba1ceb35e09ad446bff05a4b466 +1 -0
  178. package/examples/.npm-cache/content-v2/sha512/b5/20/52dde94e6cef7170f6089c64a4843e57be18be450d956f4e455905aed047ae6a368451c93035e6ac3ee59576b600f03f815afba0836b3a16e10a9aaca4ba +1 -0
  179. package/examples/.npm-cache/content-v2/sha512/c7/a9/d166a1c39f97df312c59261319ba1cf9aac178bda0a0cb697d5ddd78bd8dd38ef1bf40017bcc8633c2049896c2d70696d9bff9280851f270792ff38bb3a0 +1 -0
  180. package/examples/.npm-cache/content-v2/sha512/e0/d0/8c14083b633e6adbd3c6a93da5fc0f6bbd456c5512ef276920bedd8d85d551052adff992de977aff326616a211aaa2d6ddcc801149e9b7f914f566359b6a +1 -0
  181. package/examples/.npm-cache/content-v2/sha512/e7/c5/06ad3fd79ac4f1031fe0b16ea5e54e232ca397bbcd7592c679021cbfb027276099f8c848f3f7a7691f0102ad53aa64f9141e61d729b037a678bd60440d17 +1 -0
  182. package/examples/.npm-cache/content-v2/sha512/f3/28/d5d32329604ed7d471a4949105daa2cc98858cf24f45b0b97c41d0eb0d5a9fe7bf1f69c792161cc6693e4fc1b52e886ac41875ebfb8fe47fafe417ca3e6e +0 -0
  183. package/examples/.npm-cache/index-v5/04/5a/2b5d7a7c407d85d746baa0f5c9388a333e35a717a8a0a81943daa6cb1364 +3 -0
  184. package/examples/.npm-cache/index-v5/12/9a/eba560cbace295d8ee04cf283015377bd77b379e70968fb6bc407c7fc410 +15 -0
  185. package/examples/.npm-cache/index-v5/2f/a2/7b047564b0ee21ac835ec609e89153dd6549be554d098584d5bfd19fe043 +15 -0
  186. package/examples/.npm-cache/index-v5/32/8e/322d58dd8d1e000be248ada51385bf96288e56039de9feec1a4c6a467653 +3 -0
  187. package/examples/.npm-cache/index-v5/57/93/d1d7cd1402e3e26468db03f2870822bb2c9018a506cdfb3b405f38cd3e1c +3 -0
  188. package/examples/.npm-cache/index-v5/5d/f8/0a1f4fa7149e4ff33e09eb6aea41ac8d1730c868a5d3ace91f762698acff +3 -0
  189. package/examples/.npm-cache/index-v5/69/a4/a92c72d838259b051cdf8e0acfb2bc680b6d4cfc642314a7836c3f7b2c50 +15 -0
  190. package/examples/.npm-cache/index-v5/71/31/6da3423bb203f3de5eb16c942431073f89be2cfcb40058ec91dcb5ce0abc +15 -0
  191. package/examples/.npm-cache/index-v5/7b/94/72b6bffa050d9ef52a558dd220663695bc606f756be0dfa196ef4f3913ba +3 -0
  192. package/examples/.npm-cache/index-v5/85/9e/99e97fdd562517e56285337db91d1a8f2f416b8d631cf4d7d754fa671299 +15 -0
  193. package/examples/.npm-cache/index-v5/92/4c/9416ada81a9b3c679539fd1ab53f8de3d41ff268f35eba7a194389a85b06 +3 -0
  194. package/examples/.npm-cache/index-v5/c1/5a/13df76b218deed8a6ef12961116af5183db98c53fad1b922fd9edc075247 +3 -0
  195. package/examples/.npm-cache/index-v5/cb/11/253c55410a8ab7c4a9ea9d6e1bf8ef1450a581da64c478074dfd82c8bff6 +3 -0
  196. package/examples/.npm-cache/index-v5/d5/ae/b57fad3a62b5ba2dbdf24b042a9e7b70820f3db00e5a630f02e1fea020dc +3 -0
  197. package/examples/.npm-cache/index-v5/d6/32/2f620f83c7d14451de98de8298c2408e05a16cc0829bd16c891ac19d7a67 +3 -0
  198. package/examples/.npm-cache/index-v5/dd/b5/01dc7a3cd8b6a03a69aee9af500d51ae19cb0aa12631a4aafd152148b8e5 +15 -0
  199. package/examples/.npm-cache/index-v5/e0/cf/6b862c15d74630d3871cd813d305210ab741311deb10baf8813014e0bc30 +3 -0
  200. package/examples/.npm-cache/index-v5/e2/be/e880ccd35950a814d3c1dded34d3938ac61b15a195321dc51357f801aad4 +15 -0
  201. package/examples/.npm-cache/index-v5/e5/1f/f4affe0b392cd03288f23cc03abcb274ff11a2c8f8965299de681914abb2 +3 -0
  202. package/examples/.npm-cache/index-v5/f3/5b/9ebe450958ff0d7cc44ab0a00080cb8a3ff1389744b5eab5f97b68a6a6af +3 -0
  203. package/examples/.npm-cache/index-v5/fb/c1/0de405e902866d53e7c30cf36a97dc2578838622b261816f44dc377c9a80 +3 -0
  204. package/examples/README.md +4 -4
  205. package/examples/event.json +53 -0
  206. package/examples/flow-order-complete.json +68 -0
  207. package/examples/flow-simple.json +32 -0
  208. package/examples/flow.json +82 -0
  209. package/examples/server-collect.mjs +1360 -1190
  210. package/examples/test.html +43 -0
  211. package/examples/web-serve.js +25503 -0
  212. package/examples/web-serve.json +4 -3
  213. package/package.json +3 -2
  214. package/templates/server.hbs +2 -2
  215. package/templates/web.hbs +12 -11
  216. package/dist/__tests__/bundle/bundler-integration.test.d.ts +0 -2
  217. package/dist/__tests__/bundle/bundler-integration.test.d.ts.map +0 -1
  218. package/dist/__tests__/bundle/bundler-integration.test.js +0 -106
  219. package/dist/__tests__/bundle/bundler-integration.test.js.map +0 -1
  220. package/dist/__tests__/simulate/programmatic.test.d.ts +0 -2
  221. package/dist/__tests__/simulate/programmatic.test.d.ts.map +0 -1
  222. package/dist/__tests__/simulate/programmatic.test.js +0 -51
  223. package/dist/__tests__/simulate/programmatic.test.js.map +0 -1
  224. package/dist/__tests__/simulate/simulator.test.d.ts +0 -2
  225. package/dist/__tests__/simulate/simulator.test.d.ts.map +0 -1
  226. package/dist/__tests__/simulate/simulator.test.js +0 -29
  227. package/dist/__tests__/simulate/simulator.test.js.map +0 -1
  228. package/examples/web-serve.mjs +0 -19456
@@ -5,12 +5,10 @@
5
5
  * No Docker daemon required - runs directly in Node.js
6
6
  */
7
7
  import path from 'path';
8
- import os from 'os';
9
- import { runFlow, runServeMode, } from '@walkeros/docker';
10
- import { bundle } from '../bundle';
11
- import { createLogger, createTimer, getExecutionMode, executeRunInDocker, isDockerAvailable, } from '../../core';
12
- import { loadJsonConfig } from '../../config';
13
- import { validateMode, validateFlowFile, validatePort } from './validators';
8
+ import { createCommandLogger, createTimer, getExecutionMode, getErrorMessage, executeRunInDocker, isDockerAvailable, } from '../../core/index.js';
9
+ import { validateMode, validateFlowFile, validatePort } from './validators.js';
10
+ import { prepareBundleForRun, isPreBuiltConfig } from './utils.js';
11
+ import { executeRunLocal } from './execution.js';
14
12
  /**
15
13
  * CLI command function for `walkeros run`
16
14
  *
@@ -20,11 +18,7 @@ import { validateMode, validateFlowFile, validatePort } from './validators';
20
18
  export async function runCommand(mode, options) {
21
19
  const timer = createTimer();
22
20
  timer.start();
23
- const logger = createLogger({
24
- verbose: options.verbose,
25
- silent: options.silent ?? false,
26
- json: options.json,
27
- });
21
+ const logger = createCommandLogger(options);
28
22
  try {
29
23
  // Step 1: Validate inputs
30
24
  validateMode(mode);
@@ -33,9 +27,7 @@ export async function runCommand(mode, options) {
33
27
  validatePort(options.port);
34
28
  }
35
29
  // Step 2: Determine if config is pre-built or needs bundling
36
- const isPreBuilt = configPath.endsWith('.mjs') ||
37
- configPath.endsWith('.js') ||
38
- configPath.endsWith('.cjs');
30
+ const isPreBuilt = isPreBuiltConfig(configPath);
39
31
  let flowPath = null;
40
32
  if (mode === 'collect') {
41
33
  if (isPreBuilt) {
@@ -50,29 +42,10 @@ export async function runCommand(mode, options) {
50
42
  if (!options.json && !options.silent) {
51
43
  logger.info('🔨 Building flow bundle...');
52
44
  }
53
- // Read config and modify output path
54
- const rawConfig = await loadJsonConfig(configPath);
55
- const tempPath = path.join(os.tmpdir(), `walkeros-${Date.now()}-${Math.random().toString(36).slice(2, 9)}.mjs`);
56
- // Ensure config has build.output set to temp path
57
- const existingBuild = typeof rawConfig === 'object' &&
58
- rawConfig !== null &&
59
- 'build' in rawConfig &&
60
- typeof rawConfig.build === 'object'
61
- ? rawConfig.build
62
- : {};
63
- const configWithOutput = {
64
- ...rawConfig,
65
- build: {
66
- ...existingBuild,
67
- output: tempPath,
68
- },
69
- };
70
- await bundle(configWithOutput, {
71
- cache: true,
45
+ flowPath = await prepareBundleForRun(configPath, {
72
46
  verbose: options.verbose,
73
47
  silent: options.json || options.silent,
74
48
  });
75
- flowPath = tempPath;
76
49
  if (!options.json && !options.silent) {
77
50
  logger.success('✅ Bundle ready');
78
51
  }
@@ -80,6 +53,16 @@ export async function runCommand(mode, options) {
80
53
  }
81
54
  // Step 3: Execute based on mode
82
55
  const executionMode = getExecutionMode(options);
56
+ // Handle dry-run
57
+ if (options.dryRun) {
58
+ if (executionMode === 'docker') {
59
+ logger.info(`[DRY-RUN] Would execute in Docker: run ${mode} with runtime image`);
60
+ }
61
+ else {
62
+ logger.info(`[DRY-RUN] Would execute locally: run ${mode}`);
63
+ }
64
+ return;
65
+ }
83
66
  if (executionMode === 'docker') {
84
67
  // Docker mode: Use production runtime image
85
68
  const dockerAvailable = await isDockerAvailable();
@@ -103,38 +86,18 @@ export async function runCommand(mode, options) {
103
86
  const modeLabel = mode === 'collect' ? 'Collector' : 'Server';
104
87
  logger.info(`🖥️ Starting ${modeLabel} locally...`);
105
88
  }
106
- switch (mode) {
107
- case 'collect': {
108
- if (!flowPath) {
109
- throw new Error('Flow path is required for collect mode');
110
- }
111
- const config = {
112
- port: options.port,
113
- host: options.host,
114
- };
115
- await runFlow(flowPath, config);
116
- break;
117
- }
118
- case 'serve': {
119
- const config = {
120
- port: options.port,
121
- host: options.host,
122
- serveName: options.serveName,
123
- servePath: options.servePath,
124
- filePath: flowPath || undefined,
125
- };
126
- await runServeMode(config);
127
- break;
128
- }
129
- default:
130
- throw new Error(`Unknown mode: ${mode}`);
131
- }
89
+ await executeRunLocal(mode, flowPath, {
90
+ port: options.port,
91
+ host: options.host,
92
+ serveName: options.serveName,
93
+ servePath: options.servePath,
94
+ });
132
95
  }
133
96
  // Note: Both Docker and local modes run forever, so we won't reach here unless they fail
134
97
  }
135
98
  catch (error) {
136
99
  const duration = timer.getElapsed() / 1000;
137
- const errorMessage = error instanceof Error ? error.message : String(error);
100
+ const errorMessage = getErrorMessage(error);
138
101
  if (options.json) {
139
102
  const output = {
140
103
  success: false,
@@ -190,62 +153,25 @@ export async function run(mode, options) {
190
153
  validatePort(options.port);
191
154
  }
192
155
  // Determine if config is pre-built or needs bundling
193
- const isPreBuilt = flowFile.endsWith('.mjs') ||
194
- flowFile.endsWith('.js') ||
195
- flowFile.endsWith('.cjs');
156
+ const isPreBuilt = isPreBuiltConfig(flowFile);
196
157
  let flowPath;
197
158
  if (isPreBuilt) {
198
159
  flowPath = path.resolve(flowFile);
199
160
  }
200
161
  else {
201
162
  // Bundle JSON config
202
- const rawConfig = await loadJsonConfig(flowFile);
203
- const tempPath = path.join(os.tmpdir(), `walkeros-${Date.now()}-${Math.random().toString(36).slice(2, 9)}.mjs`);
204
- // Ensure config has build.output set to temp path
205
- const existingBuild = typeof rawConfig === 'object' &&
206
- rawConfig !== null &&
207
- 'build' in rawConfig &&
208
- typeof rawConfig.build === 'object'
209
- ? rawConfig.build
210
- : {};
211
- const configWithOutput = {
212
- ...rawConfig,
213
- build: {
214
- ...existingBuild,
215
- output: tempPath,
216
- },
217
- };
218
- await bundle(configWithOutput, {
219
- cache: true,
163
+ flowPath = await prepareBundleForRun(flowFile, {
220
164
  verbose: options.verbose,
221
165
  silent: true,
222
166
  });
223
- flowPath = tempPath;
224
167
  }
225
168
  // Run the flow using Docker package
226
- switch (mode) {
227
- case 'collect': {
228
- const config = {
229
- port: options.port,
230
- host: options.host,
231
- };
232
- await runFlow(flowPath, config);
233
- break;
234
- }
235
- case 'serve': {
236
- const config = {
237
- port: options.port,
238
- host: options.host,
239
- serveName: options.serveName,
240
- servePath: options.servePath,
241
- filePath: flowPath,
242
- };
243
- await runServeMode(config);
244
- break;
245
- }
246
- default:
247
- throw new Error(`Unknown mode: ${mode}`);
248
- }
169
+ await executeRunLocal(mode, flowPath, {
170
+ port: options.port,
171
+ host: options.host,
172
+ serveName: options.serveName,
173
+ servePath: options.servePath,
174
+ });
249
175
  // Success (though runFlow runs forever, so we typically don't reach here)
250
176
  return {
251
177
  success: true,
@@ -258,7 +184,7 @@ export async function run(mode, options) {
258
184
  success: false,
259
185
  exitCode: 1,
260
186
  duration: Date.now() - startTime,
261
- error: error instanceof Error ? error.message : String(error),
187
+ error: getErrorMessage(error),
262
188
  };
263
189
  }
264
190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/run/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/run/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Types for running walkerOS flows via CLI using @walkeros/docker as a library
5
5
  */
6
- import type { GlobalOptions } from '../../types';
6
+ import type { GlobalOptions } from '../../types/index.js';
7
7
  /**
8
8
  * Run mode - determines which execution mode to use
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/run/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yBAAyB;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IAEjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/run/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yBAAyB;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IAEjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Run Command Utilities
3
+ *
4
+ * Shared utilities for the run command
5
+ */
6
+ /**
7
+ * Prepares a JSON config file for execution by bundling it to a temporary location
8
+ *
9
+ * @param configPath - Path to the JSON configuration file
10
+ * @param options - Bundle options
11
+ * @param options.verbose - Enable verbose logging
12
+ * @param options.silent - Suppress output
13
+ * @returns Path to the bundled output file
14
+ */
15
+ export declare function prepareBundleForRun(configPath: string, options: {
16
+ verbose?: boolean;
17
+ silent?: boolean;
18
+ }): Promise<string>;
19
+ /**
20
+ * Checks if a config file is pre-built or needs bundling
21
+ *
22
+ * @param configPath - Path to configuration file
23
+ * @returns True if file is pre-built (js/mjs/cjs), false if needs bundling (json)
24
+ */
25
+ export declare function isPreBuiltConfig(configPath: string): boolean;
26
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/commands/run/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAM5D"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Run Command Utilities
3
+ *
4
+ * Shared utilities for the run command
5
+ */
6
+ import path from 'path';
7
+ import os from 'os';
8
+ import { loadJsonConfig } from '../../config/index.js';
9
+ import { bundle } from '../bundle/index.js';
10
+ /**
11
+ * Prepares a JSON config file for execution by bundling it to a temporary location
12
+ *
13
+ * @param configPath - Path to the JSON configuration file
14
+ * @param options - Bundle options
15
+ * @param options.verbose - Enable verbose logging
16
+ * @param options.silent - Suppress output
17
+ * @returns Path to the bundled output file
18
+ */
19
+ export async function prepareBundleForRun(configPath, options) {
20
+ // Load JSON config
21
+ const rawConfig = await loadJsonConfig(configPath);
22
+ // Generate unique temp path
23
+ const tempPath = path.join(os.tmpdir(), `walkeros-${Date.now()}-${Math.random().toString(36).slice(2, 9)}.mjs`);
24
+ // Extract existing build config if present
25
+ const existingBuild = typeof rawConfig === 'object' &&
26
+ rawConfig !== null &&
27
+ 'build' in rawConfig &&
28
+ typeof rawConfig.build === 'object'
29
+ ? rawConfig.build
30
+ : {};
31
+ // Create config with temp output path
32
+ const configWithOutput = {
33
+ ...rawConfig,
34
+ build: {
35
+ ...existingBuild,
36
+ output: tempPath,
37
+ },
38
+ };
39
+ // Bundle the config
40
+ await bundle(configWithOutput, {
41
+ cache: true,
42
+ verbose: options.verbose,
43
+ silent: options.silent,
44
+ });
45
+ return tempPath;
46
+ }
47
+ /**
48
+ * Checks if a config file is pre-built or needs bundling
49
+ *
50
+ * @param configPath - Path to configuration file
51
+ * @returns True if file is pre-built (js/mjs/cjs), false if needs bundling (json)
52
+ */
53
+ export function isPreBuiltConfig(configPath) {
54
+ return (configPath.endsWith('.mjs') ||
55
+ configPath.endsWith('.js') ||
56
+ configPath.endsWith('.cjs'));
57
+ }
58
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/run/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,OAGC;IAED,mBAAmB;IACnB,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAEnD,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,EAAE,CAAC,MAAM,EAAE,EACX,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CACvE,CAAC;IAEF,2CAA2C;IAC3C,MAAM,aAAa,GACjB,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QAClB,OAAO,IAAI,SAAS;QACpB,OAAQ,SAAqC,CAAC,KAAK,KAAK,QAAQ;QAC9D,CAAC,CAAG,SAAqC,CAAC,KAGtC;QACJ,CAAC,CAAC,EAAE,CAAC;IAET,sCAAsC;IACtC,MAAM,gBAAgB,GAAG;QACvB,GAAI,SAAqC;QACzC,KAAK,EAAE;YACL,GAAG,aAAa;YAChB,MAAM,EAAE,QAAQ;SACjB;KACF,CAAC;IAEF,oBAAoB;IACpB,MAAM,MAAM,CAAC,gBAAgB,EAAE;QAC7B,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5B,CAAC;AACJ,CAAC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Validation logic for run command inputs
5
5
  */
6
- import type { RunMode } from './types';
6
+ import type { RunMode } from './types.js';
7
7
  /**
8
8
  * Validates run mode
9
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOvC;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAQlE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAazD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ/C"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAO1C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAQlE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAazD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ/C"}
@@ -4,7 +4,7 @@
4
4
  * Validation logic for run command inputs
5
5
  */
6
6
  import { existsSync } from 'fs';
7
- import { resolveAsset } from '../../core/asset-resolver';
7
+ import { resolveAsset } from '../../core/asset-resolver.js';
8
8
  /**
9
9
  * Valid run modes
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,GAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAe,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,KAAK;YACzB,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC7C,8CAA8C,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,8EAA8E;IAC9E,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEtD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,IAAI;YAClC,qBAAqB,YAAY,IAAI;YACrC,sDAAsD,CACzD,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,IAAI;YACvB,kDAAkD;YAClD,yBAAyB,CAC5B,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D;;GAEG;AACH,MAAM,WAAW,GAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAe,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,KAAK;YACzB,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC7C,8CAA8C,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,8EAA8E;IAC9E,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEtD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,IAAI;YAClC,qBAAqB,YAAY,IAAI;YACrC,sDAAsD,CACzD,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,IAAI;YACvB,kDAAkD;YAClD,yBAAyB,CAC5B,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ interface DestinationEnv {
2
+ init?: Record<string, unknown>;
3
+ push: Record<string, unknown>;
4
+ simulation?: string[];
5
+ }
6
+ /**
7
+ * Dynamically loads env examples from destination packages.
8
+ *
9
+ * Imports from `/dev` subpath (e.g., '@walkeros/web-destination-gtag/dev')
10
+ * and extracts the `env` object which contains:
11
+ * - push: Mock environment with API functions (gtag, fbq, etc.)
12
+ * - simulation: Array of tracking paths for call verification
13
+ *
14
+ * @param destinations - Destination configuration from flow config
15
+ * @returns Map of destination key to env object
16
+ */
17
+ export declare function loadDestinationEnvs(destinations: Record<string, unknown>): Promise<Record<string, DestinationEnv>>;
18
+ export {};
19
+ //# sourceMappingURL=env-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-loader.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/env-loader.ts"],"names":[],"mappings":"AAAA,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAOD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAyCzC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Dynamically loads env examples from destination packages.
3
+ *
4
+ * Imports from `/dev` subpath (e.g., '@walkeros/web-destination-gtag/dev')
5
+ * and extracts the `env` object which contains:
6
+ * - push: Mock environment with API functions (gtag, fbq, etc.)
7
+ * - simulation: Array of tracking paths for call verification
8
+ *
9
+ * @param destinations - Destination configuration from flow config
10
+ * @returns Map of destination key to env object
11
+ */
12
+ export async function loadDestinationEnvs(destinations) {
13
+ const envs = {};
14
+ for (const [destKey, destConfig] of Object.entries(destinations)) {
15
+ const typedConfig = destConfig;
16
+ // Skip if no package field
17
+ if (!typedConfig.package) {
18
+ continue;
19
+ }
20
+ try {
21
+ // Determine import path
22
+ const packageName = typedConfig.package;
23
+ const isDemoPackage = packageName.includes('-demo');
24
+ const importPath = isDemoPackage ? packageName : `${packageName}/dev`;
25
+ // Dynamic import
26
+ const module = await import(importPath);
27
+ // Extract env from examples
28
+ const examplesModule = module.examples || module.default?.examples;
29
+ const envModule = examplesModule?.env;
30
+ if (envModule?.push) {
31
+ envs[destKey] = {
32
+ init: envModule.init,
33
+ push: envModule.push,
34
+ simulation: envModule.simulation || [],
35
+ };
36
+ }
37
+ }
38
+ catch (error) {
39
+ // Silently skip destinations without env or invalid packages
40
+ // eslint-disable-next-line no-console
41
+ console.warn(`Warning: Could not load env for destination "${destKey}": ${error instanceof Error ? error.message : String(error)}`);
42
+ }
43
+ }
44
+ return envs;
45
+ }
46
+ //# sourceMappingURL=env-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-loader.js","sourceRoot":"","sources":["../../../src/commands/simulate/env-loader.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,YAAqC;IAErC,MAAM,IAAI,GAAmC,EAAE,CAAC;IAEhD,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjE,MAAM,WAAW,GAAG,UAA+B,CAAC;QAEpD,2BAA2B;QAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;YACxC,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,MAAM,CAAC;YAEtE,iBAAiB;YACjB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YAExC,4BAA4B;YAC5B,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;YACnE,MAAM,SAAS,GAAG,cAAc,EAAE,GAAG,CAAC;YAEtC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,GAAG;oBACd,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,EAAE;iBACvC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6DAA6D;YAC7D,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,gDAAgD,OAAO,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { SimulateCommandOptions } from './types';
1
+ import type { SimulateCommandOptions } from './types.js';
2
2
  /**
3
3
  * CLI command handler for simulate command
4
4
  */
@@ -42,6 +42,6 @@ export declare function simulate(configOrPath: string | unknown, event: unknown,
42
42
  verbose?: boolean;
43
43
  json?: boolean;
44
44
  }): Promise<import('./types').SimulationResult>;
45
- export * from './types';
46
- export * from './simulator';
45
+ export * from './types.js';
46
+ export * from './simulator.js';
47
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA8Ef;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,QAAQ,CAC5B,YAAY,EAAE,MAAM,GAAG,OAAO,EAC9B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CACX,GACL,OAAO,CAAC,OAAO,SAAS,EAAE,gBAAgB,CAAC,CAgB7C;AAGD,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAyEf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,QAAQ,CAC5B,YAAY,EAAE,MAAM,GAAG,OAAO,EAC9B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CACX,GACL,OAAO,CAAC,OAAO,SAAS,EAAE,gBAAgB,CAAC,CAgB7C;AAGD,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
@@ -1,29 +1,23 @@
1
- import { simulateCore, parseEventInput, formatSimulationResult, } from './simulator';
2
- import { createLogger, executeCommand } from '../../core';
1
+ import { simulateCore, formatSimulationResult } from './simulator.js';
2
+ import { createCommandLogger, createLogger, executeCommand, getErrorMessage, buildCommonDockerArgs, } from '../../core/index.js';
3
+ import { loadJsonFromSource } from '../../config/index.js';
3
4
  /**
4
5
  * CLI command handler for simulate command
5
6
  */
6
7
  export async function simulateCommand(options) {
7
- const logger = createLogger({
8
- verbose: options.verbose,
9
- silent: options.silent ?? false,
10
- json: options.json,
11
- });
12
- // Build Docker args - file path as first positional arg
13
- const dockerArgs = [options.config];
8
+ const logger = createCommandLogger(options);
9
+ // Build Docker args - start with common flags
10
+ const dockerArgs = buildCommonDockerArgs(options);
11
+ // Add simulate-specific flag
14
12
  if (options.event)
15
13
  dockerArgs.push('--event', options.event);
16
- if (options.json)
17
- dockerArgs.push('--json');
18
- if (options.verbose)
19
- dockerArgs.push('--verbose');
20
- if (options.silent)
21
- dockerArgs.push('--silent');
22
14
  await executeCommand(async () => {
23
15
  const startTime = Date.now();
24
16
  try {
25
- // Parse event input
26
- const event = parseEventInput(options.event);
17
+ // Load event from inline JSON, file path, or URL
18
+ const event = await loadJsonFromSource(options.event, {
19
+ name: 'event',
20
+ });
27
21
  // Execute simulation
28
22
  const result = await simulateCore(options.config, event, {
29
23
  json: options.json,
@@ -47,7 +41,7 @@ export async function simulateCommand(options) {
47
41
  }
48
42
  }
49
43
  catch (error) {
50
- const errorMessage = error instanceof Error ? error.message : String(error);
44
+ const errorMessage = getErrorMessage(error);
51
45
  if (options.json) {
52
46
  // JSON error output - create output logger that always logs
53
47
  const outputLogger = createLogger({ silent: false, json: false });
@@ -116,6 +110,6 @@ export async function simulate(configOrPath, event, options = {}) {
116
110
  });
117
111
  }
118
112
  // Re-export types and utilities for testing
119
- export * from './types';
120
- export * from './simulator';
113
+ export * from './types.js';
114
+ export * from './simulator.js';
121
115
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/simulate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B;IAE/B,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;IAEH,wDAAwD;IACxD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,KAAK;QAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,OAAO;QAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,MAAM;QAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEhD,MAAM,cAAc,CAClB,KAAK,IAAI,EAAE;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAE7C,qBAAqB;YACrB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;gBACvD,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YAEH,yBAAyB;YACzB,MAAM,kBAAkB,GAAG;gBACzB,GAAG,MAAM;gBACT,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI;aAC1C,CAAC;YAEF,yDAAyD;YACzD,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,sBAAsB,CAAC,kBAAkB,EAAE;gBACxD,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;YACH,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAElC,4CAA4C;YAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,4DAA4D;gBAC5D,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAChC;oBACE,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,YAAY;oBACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI;iBAC1C,EACD,IAAI,EACJ,CAAC,CACF,CAAC;gBACF,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,sDAAsD;gBACtD,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjE,WAAW,CAAC,KAAK,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,EACD,UAAU,EACV,UAAU,EACV,OAAO,EACP,MAAM,EACN,OAAO,CAAC,MAAM,CACf,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,YAA8B,EAC9B,KAAc,EACd,UAII,EAAE;IAEN,4EAA4E;IAC5E,yEAAyE;IACzE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,wDAAwD;YACtD,2DAA2D;YAC3D,gDAAgD,CACnD,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,OAAO,MAAM,YAAY,CAAC,YAAY,EAAE,KAAK,EAAE;QAC7C,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK;QAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;KAClC,CAAC,CAAC;AACL,CAAC;AAED,4CAA4C;AAC5C,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/simulate/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * JSDOM-based executor for simulating IIFE bundles
3
+ *
4
+ * Executes actual production IIFE bundles in a virtual DOM environment
5
+ * with env-based mocking from destination examples.
6
+ */
7
+ import type { Elb } from '@walkeros/core';
8
+ import type { CallTracker, ApiCall } from './tracker.js';
9
+ export interface ExecutionResult {
10
+ collector: unknown;
11
+ elb: unknown;
12
+ elbResult: Elb.PushResult | undefined;
13
+ usage: Record<string, ApiCall[]>;
14
+ duration: number;
15
+ }
16
+ interface DestinationEnv {
17
+ init?: Record<string, unknown>;
18
+ push: Record<string, unknown>;
19
+ simulation?: string[];
20
+ }
21
+ /**
22
+ * Execute production IIFE bundle in JSDOM with env-based mocking
23
+ *
24
+ * Main orchestration function that:
25
+ * 1. Creates JSDOM virtual DOM
26
+ * 2. Builds sandbox from dynamically loaded envs
27
+ * 3. Executes IIFE in JSDOM
28
+ * 4. Waits for window.collector/elb assignment
29
+ * 5. Runs event through elb
30
+ * 6. Returns tracked API calls
31
+ */
32
+ export declare function executeInJSDOM(bundlePath: string, destinations: Record<string, unknown>, event: {
33
+ name: string;
34
+ data?: unknown;
35
+ }, tracker: CallTracker, envs: Record<string, DestinationEnv>, timeout?: number): Promise<ExecutionResult>;
36
+ export {};
37
+ //# sourceMappingURL=jsdom-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsdom-executor.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/jsdom-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AA2FD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EACvC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EACpC,OAAO,GAAE,MAAc,GACtB,OAAO,CAAC,eAAe,CAAC,CAsE1B"}