@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
@@ -67,8 +67,9 @@
67
67
  "imports": ["destinationAPI"]
68
68
  }
69
69
  },
70
- "minify": false,
71
- "globalName": "walkerOS",
72
- "output": "web-serve.mjs"
70
+ "minify": true,
71
+ "output": "web-serve.js",
72
+ "windowCollector": "collector",
73
+ "windowElb": "elb"
73
74
  }
74
75
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@walkeros/cli",
3
- "version": "0.3.6",
3
+ "version": "0.4.1",
4
4
  "description": "walkerOS CLI - Bundle and deploy walkerOS components",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -34,8 +34,9 @@
34
34
  "docker:publish": "bash scripts/publish-docker.sh"
35
35
  },
36
36
  "dependencies": {
37
- "@walkeros/core": "^0.3.1",
37
+ "@walkeros/core": "^0.4.1",
38
38
  "@walkeros/docker": "*",
39
+ "@walkeros/server-core": "*",
39
40
  "chalk": "^5.3.0",
40
41
  "commander": "^11.0.0",
41
42
  "esbuild": "^0.19.0",
@@ -1,4 +1,4 @@
1
- (async function() {
1
+ export default async function(context = {}) {
2
2
  const config = {
3
3
  sources: {
4
4
  {{#each sources}}
@@ -26,4 +26,4 @@
26
26
  const result = await startFlow(config);
27
27
 
28
28
  return result;
29
- })();
29
+ }
package/templates/web.hbs CHANGED
@@ -1,7 +1,4 @@
1
- export default async function(context = {}) {
2
- const { tracker } = context;
3
- const __simulationTracker = tracker;
4
-
1
+ (async () => {
5
2
  // Check if we're in a browser environment
6
3
  const window = typeof globalThis.window !== 'undefined' ? globalThis.window : undefined;
7
4
  const document = typeof globalThis.document !== 'undefined' ? globalThis.document : undefined;
@@ -11,26 +8,26 @@ export default async function(context = {}) {
11
8
  {{#each sources}}
12
9
  {{@key}}: {
13
10
  code: {{{code}}},
14
- config: {{{config}}}{{#if env}},
11
+ config: {{{config}}}{{#unless config}}{}{{/unless}}{{#if env}},
15
12
  env: {
16
13
  window,
17
14
  document,
18
15
  ...{{{env}}}
19
16
  }{{/if}}
20
- },
17
+ }{{#unless @last}},{{/unless}}
21
18
  {{/each}}
22
19
  },
23
20
  destinations: {
24
21
  {{#each destinations}}
25
22
  {{@key}}: {
26
23
  code: {{{code}}},
27
- config: {{{config}}}{{#if env}},
24
+ config: {{{config}}}{{#unless config}}{}{{/unless}}{{#if env}},
28
25
  env: {
29
26
  window,
30
27
  document,
31
28
  ...{{{env}}}
32
29
  }{{/if}}
33
- },
30
+ }{{#unless @last}},{{/unless}}
34
31
  {{/each}}
35
32
  }{{#if collector}},
36
33
  ...{{{collector}}}{{/if}}
@@ -38,7 +35,11 @@ export default async function(context = {}) {
38
35
 
39
36
  {{{CODE}}}
40
37
 
41
- const result = await startFlow(config);
38
+ const { collector, elb } = await startFlow(config);
42
39
 
43
- return result;
44
- }
40
+ if (typeof window !== 'undefined') {
41
+ {{#if build.windowCollector}}window['{{build.windowCollector}}'] = collector;
42
+ {{/if}}{{#if build.windowElb}}window['{{build.windowElb}}'] = elb;
43
+ {{/if}}
44
+ }
45
+ })();
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=bundler-integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundler-integration.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/bundle/bundler-integration.test.ts"],"names":[],"mappings":""}
@@ -1,106 +0,0 @@
1
- import fs from 'fs-extra';
2
- import path from 'path';
3
- import { parseBundleConfig } from '../../config';
4
- import { createLogger } from '../../core';
5
- import { getId } from '@walkeros/core';
6
- describe('Bundler Integration', () => {
7
- const testOutputDir = path.resolve('.tmp', `bundler-integration-${Date.now()}-${getId()}`);
8
- let logger;
9
- beforeEach(async () => {
10
- // Ensure test output directory exists
11
- await fs.ensureDir(testOutputDir);
12
- // Create a silent logger for tests
13
- logger = createLogger({ silent: true });
14
- // Mock console.log to suppress output during tests
15
- jest.spyOn(console, 'log').mockImplementation(() => { });
16
- });
17
- afterEach(async () => {
18
- // Clean up test output
19
- await fs.remove(testOutputDir);
20
- // Restore console.log
21
- jest.restoreAllMocks();
22
- });
23
- it('should handle configuration parsing correctly', async () => {
24
- const rawConfig = {
25
- flow: {
26
- platform: 'web',
27
- },
28
- build: {
29
- packages: {
30
- '@walkeros/core': {
31
- imports: ['getId'],
32
- },
33
- },
34
- code: 'export const test = getId(8);',
35
- platform: 'browser',
36
- format: 'esm',
37
- output: path.join(testOutputDir, 'test-config.js'),
38
- },
39
- };
40
- const { flowConfig, buildOptions } = parseBundleConfig(rawConfig);
41
- expect(Object.keys(buildOptions.packages)).toHaveLength(1);
42
- expect('@walkeros/core' in buildOptions.packages).toBe(true);
43
- expect(buildOptions.code).toContain('getId');
44
- expect(buildOptions.platform).toBe('browser');
45
- expect(buildOptions.output).toBe(path.join(testOutputDir, 'test-config.js'));
46
- });
47
- it('should handle template configuration', async () => {
48
- const rawConfig = {
49
- flow: {
50
- platform: 'web',
51
- },
52
- build: {
53
- packages: {
54
- '@walkeros/core': {
55
- imports: ['getId'],
56
- },
57
- },
58
- code: 'export const test = getId(8);',
59
- template: 'templates/web.hbs',
60
- output: path.join(testOutputDir, 'template-test.js'),
61
- },
62
- };
63
- const { flowConfig, buildOptions } = parseBundleConfig(rawConfig);
64
- expect(buildOptions.template).toBeDefined();
65
- expect(buildOptions.template).toBe('templates/web.hbs');
66
- });
67
- it('should validate custom build configuration', async () => {
68
- const rawConfig = {
69
- flow: {
70
- platform: 'server',
71
- },
72
- build: {
73
- packages: {},
74
- code: 'export const test = "hello";',
75
- platform: 'node',
76
- format: 'esm',
77
- minify: true,
78
- sourcemap: true,
79
- target: 'node18',
80
- output: path.join(testOutputDir, 'build-test.mjs'),
81
- },
82
- };
83
- const { flowConfig, buildOptions } = parseBundleConfig(rawConfig);
84
- expect(buildOptions.platform).toBe('node');
85
- expect(buildOptions.format).toBe('esm');
86
- expect(buildOptions.minify).toBe(true);
87
- expect(buildOptions.sourcemap).toBe(true);
88
- expect(buildOptions.target).toBe('node18');
89
- });
90
- it('should handle error conditions gracefully', async () => {
91
- // Test with invalid syntax in content
92
- const { flowConfig, buildOptions } = parseBundleConfig({
93
- flow: {
94
- platform: 'web',
95
- },
96
- build: {
97
- packages: {},
98
- code: 'export const badCode = () => { return [1,2,3] x => x * 2; };',
99
- output: path.join(testOutputDir, 'error-test.js'),
100
- },
101
- });
102
- // Should not throw during configuration parsing
103
- expect(buildOptions.code).toContain('badCode');
104
- });
105
- });
106
- //# sourceMappingURL=bundler-integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundler-integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/bundle/bundler-integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=programmatic.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"programmatic.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/simulate/programmatic.test.ts"],"names":[],"mappings":""}
@@ -1,51 +0,0 @@
1
- import path from 'path';
2
- import { simulate } from '../../commands/simulate';
3
- // Mock package-manager to avoid network calls
4
- jest.mock('../../commands/bundle/package-manager', () => ({
5
- downloadPackages: jest.fn().mockResolvedValue(new Map()),
6
- }));
7
- describe('Programmatic Simulate API', () => {
8
- it('should simulate with config file path', async () => {
9
- const configPath = path.resolve(__dirname, '../../../examples/web-serve.json');
10
- const event = { name: 'page view', data: { title: 'Home', path: '/' } };
11
- const result = await simulate(configPath, event, { silent: true });
12
- expect(result).toBeDefined();
13
- expect(typeof result.success).toBe('boolean');
14
- // Either succeeds or fails gracefully
15
- if (result.success) {
16
- expect(result.error).toBeUndefined();
17
- expect(result.usage).toBeDefined();
18
- }
19
- else {
20
- expect(typeof result.error).toBe('string');
21
- }
22
- }, 30000);
23
- it('should handle verbose option', async () => {
24
- const configPath = path.resolve(__dirname, '../../../examples/web-serve.json');
25
- const event = { name: 'product view', data: { id: 'P123' } };
26
- const result = await simulate(configPath, event, {
27
- verbose: true,
28
- silent: false,
29
- });
30
- expect(result).toBeDefined();
31
- expect(typeof result.success).toBe('boolean');
32
- }, 30000);
33
- it('should throw error when config object is provided (not yet supported)', async () => {
34
- const config = {
35
- platform: 'web',
36
- packages: {},
37
- code: 'export default {}',
38
- output: './test.js',
39
- };
40
- const event = { name: 'test' };
41
- await expect(simulate(config, event, { silent: true })).rejects.toThrow('currently only supports config file paths');
42
- });
43
- it('should handle JSON option', async () => {
44
- const configPath = path.resolve(__dirname, '../../../examples/web-serve.json');
45
- const event = { name: 'page view', data: {} };
46
- const result = await simulate(configPath, event, { json: true });
47
- expect(result).toBeDefined();
48
- expect(typeof result.success).toBe('boolean');
49
- }, 30000);
50
- });
51
- //# sourceMappingURL=programmatic.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"programmatic.test.js","sourceRoot":"","sources":["../../../src/__tests__/simulate/programmatic.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=simulator.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simulator.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/simulate/simulator.test.ts"],"names":[],"mappings":""}
@@ -1,29 +0,0 @@
1
- import path from 'path';
2
- import { simulateCore as simulate } from '../../commands/simulate/simulator';
3
- // Mock package-manager to avoid network calls and return empty results
4
- jest.mock('../../commands/bundle/package-manager', () => ({
5
- downloadPackages: jest.fn().mockResolvedValue(new Map()),
6
- }));
7
- describe('Simulate', () => {
8
- it('should handle package manager errors gracefully', async () => {
9
- const configPath = path.resolve(__dirname, '../../../examples/web-serve.json');
10
- const event = { name: 'product view', data: { id: 'P123' } };
11
- const result = await simulate(configPath, event, {
12
- json: true,
13
- verbose: true,
14
- });
15
- // With mocked packages that return empty map, this will fail to bundle
16
- // but should fail gracefully without crashing
17
- expect(result).toBeDefined();
18
- expect(typeof result).toBe('object');
19
- expect(typeof result.success).toBe('boolean');
20
- // Either succeeds or fails gracefully
21
- if (result.success) {
22
- expect(result.error).toBeUndefined();
23
- }
24
- else {
25
- expect(typeof result.error).toBe('string');
26
- }
27
- }, 30000);
28
- });
29
- //# sourceMappingURL=simulator.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simulator.test.js","sourceRoot":"","sources":["../../../src/__tests__/simulate/simulator.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAG7E,uEAAuE;AACvE,IAAI,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,GAAG,EAAE,CAAC;CACzD,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAC7B,SAAS,EACT,kCAAkC,CACnC,CAAC;QACF,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE;YAC/C,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,uEAAuE;QACvE,8CAA8C;QAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE9C,sCAAsC;QACtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC"}