@walkeros/cli 0.7.0-next.0 → 0.8.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 (269) hide show
  1. package/README.md +123 -37
  2. package/dist/examples/flow-order-complete.json +0 -1
  3. package/dist/examples/flow-simple.json +0 -3
  4. package/dist/examples/flow.json +0 -1
  5. package/dist/index.d.ts +23 -13
  6. package/dist/index.js +882 -846
  7. package/dist/index.js.map +1 -1
  8. package/dist/runtime/main.d.ts +2 -0
  9. package/dist/runtime/main.js +271 -0
  10. package/dist/runtime/main.js.map +1 -0
  11. package/dist/walker.js +1 -1
  12. package/examples/flow-order-complete.json +0 -1
  13. package/examples/flow-simple.json +0 -3
  14. package/examples/flow.json +0 -1
  15. package/package.json +10 -7
  16. package/CHANGELOG.md +0 -159
  17. package/dist/__tests__/bundle/bundler-helpers.test.d.ts +0 -2
  18. package/dist/__tests__/bundle/bundler-helpers.test.d.ts.map +0 -1
  19. package/dist/__tests__/bundle/bundler-helpers.test.js +0 -151
  20. package/dist/__tests__/bundle/bundler-helpers.test.js.map +0 -1
  21. package/dist/__tests__/bundle/bundler.test.d.ts +0 -2
  22. package/dist/__tests__/bundle/bundler.test.d.ts.map +0 -1
  23. package/dist/__tests__/bundle/bundler.test.js +0 -353
  24. package/dist/__tests__/bundle/bundler.test.js.map +0 -1
  25. package/dist/__tests__/bundle/programmatic.test.d.ts +0 -2
  26. package/dist/__tests__/bundle/programmatic.test.d.ts.map +0 -1
  27. package/dist/__tests__/bundle/programmatic.test.js +0 -148
  28. package/dist/__tests__/bundle/programmatic.test.js.map +0 -1
  29. package/dist/__tests__/cli-e2e.test.d.ts +0 -8
  30. package/dist/__tests__/cli-e2e.test.d.ts.map +0 -1
  31. package/dist/__tests__/cli-e2e.test.js +0 -130
  32. package/dist/__tests__/cli-e2e.test.js.map +0 -1
  33. package/dist/__tests__/cli.test.d.ts +0 -2
  34. package/dist/__tests__/cli.test.d.ts.map +0 -1
  35. package/dist/__tests__/cli.test.js +0 -180
  36. package/dist/__tests__/cli.test.js.map +0 -1
  37. package/dist/__tests__/config-loader.test.d.ts +0 -7
  38. package/dist/__tests__/config-loader.test.d.ts.map +0 -1
  39. package/dist/__tests__/config-loader.test.js +0 -414
  40. package/dist/__tests__/config-loader.test.js.map +0 -1
  41. package/dist/__tests__/core/asset-resolver.test.d.ts +0 -2
  42. package/dist/__tests__/core/asset-resolver.test.d.ts.map +0 -1
  43. package/dist/__tests__/core/asset-resolver.test.js +0 -14
  44. package/dist/__tests__/core/asset-resolver.test.js.map +0 -1
  45. package/dist/__tests__/core/build-cache.test.d.ts +0 -2
  46. package/dist/__tests__/core/build-cache.test.d.ts.map +0 -1
  47. package/dist/__tests__/core/build-cache.test.js +0 -55
  48. package/dist/__tests__/core/build-cache.test.js.map +0 -1
  49. package/dist/__tests__/core/cache-utils.test.d.ts +0 -2
  50. package/dist/__tests__/core/cache-utils.test.d.ts.map +0 -1
  51. package/dist/__tests__/core/cache-utils.test.js +0 -70
  52. package/dist/__tests__/core/cache-utils.test.js.map +0 -1
  53. package/dist/__tests__/core/config.test.d.ts +0 -2
  54. package/dist/__tests__/core/config.test.d.ts.map +0 -1
  55. package/dist/__tests__/core/config.test.js +0 -72
  56. package/dist/__tests__/core/config.test.js.map +0 -1
  57. package/dist/__tests__/core/docker-url.test.d.ts +0 -2
  58. package/dist/__tests__/core/docker-url.test.d.ts.map +0 -1
  59. package/dist/__tests__/core/docker-url.test.js +0 -54
  60. package/dist/__tests__/core/docker-url.test.js.map +0 -1
  61. package/dist/__tests__/core/logger.test.d.ts +0 -2
  62. package/dist/__tests__/core/logger.test.d.ts.map +0 -1
  63. package/dist/__tests__/core/logger.test.js +0 -53
  64. package/dist/__tests__/core/logger.test.js.map +0 -1
  65. package/dist/__tests__/integration/bundle-run.integration.test.d.ts +0 -8
  66. package/dist/__tests__/integration/bundle-run.integration.test.d.ts.map +0 -1
  67. package/dist/__tests__/integration/bundle-run.integration.test.js +0 -54
  68. package/dist/__tests__/integration/bundle-run.integration.test.js.map +0 -1
  69. package/dist/__tests__/push/push.test.d.ts +0 -7
  70. package/dist/__tests__/push/push.test.d.ts.map +0 -1
  71. package/dist/__tests__/push/push.test.js +0 -197
  72. package/dist/__tests__/push/push.test.js.map +0 -1
  73. package/dist/__tests__/simulate/env-loader.test.d.ts +0 -2
  74. package/dist/__tests__/simulate/env-loader.test.d.ts.map +0 -1
  75. package/dist/__tests__/simulate/env-loader.test.js +0 -47
  76. package/dist/__tests__/simulate/env-loader.test.js.map +0 -1
  77. package/dist/__tests__/simulate/node-executor.test.d.ts +0 -5
  78. package/dist/__tests__/simulate/node-executor.test.d.ts.map +0 -1
  79. package/dist/__tests__/simulate/node-executor.test.js +0 -25
  80. package/dist/__tests__/simulate/node-executor.test.js.map +0 -1
  81. package/dist/__tests__/simulate/server-simulate.integration.test.d.ts +0 -5
  82. package/dist/__tests__/simulate/server-simulate.integration.test.d.ts.map +0 -1
  83. package/dist/__tests__/simulate/server-simulate.integration.test.js +0 -58
  84. package/dist/__tests__/simulate/server-simulate.integration.test.js.map +0 -1
  85. package/dist/__tests__/smoke/production.smoke.test.d.ts +0 -8
  86. package/dist/__tests__/smoke/production.smoke.test.d.ts.map +0 -1
  87. package/dist/__tests__/smoke/production.smoke.test.js +0 -65
  88. package/dist/__tests__/smoke/production.smoke.test.js.map +0 -1
  89. package/dist/commands/bundle/bundler.d.ts +0 -32
  90. package/dist/commands/bundle/bundler.d.ts.map +0 -1
  91. package/dist/commands/bundle/bundler.js +0 -583
  92. package/dist/commands/bundle/bundler.js.map +0 -1
  93. package/dist/commands/bundle/index.d.ts +0 -57
  94. package/dist/commands/bundle/index.d.ts.map +0 -1
  95. package/dist/commands/bundle/index.js +0 -200
  96. package/dist/commands/bundle/index.js.map +0 -1
  97. package/dist/commands/bundle/package-manager.d.ts +0 -8
  98. package/dist/commands/bundle/package-manager.d.ts.map +0 -1
  99. package/dist/commands/bundle/package-manager.js +0 -197
  100. package/dist/commands/bundle/package-manager.js.map +0 -1
  101. package/dist/commands/bundle/stats.d.ts +0 -23
  102. package/dist/commands/bundle/stats.d.ts.map +0 -1
  103. package/dist/commands/bundle/stats.js +0 -52
  104. package/dist/commands/bundle/stats.js.map +0 -1
  105. package/dist/commands/cache.d.ts +0 -3
  106. package/dist/commands/cache.d.ts.map +0 -1
  107. package/dist/commands/cache.js +0 -44
  108. package/dist/commands/cache.js.map +0 -1
  109. package/dist/commands/push/index.d.ts +0 -7
  110. package/dist/commands/push/index.d.ts.map +0 -1
  111. package/dist/commands/push/index.js +0 -257
  112. package/dist/commands/push/index.js.map +0 -1
  113. package/dist/commands/push/types.d.ts +0 -21
  114. package/dist/commands/push/types.d.ts.map +0 -1
  115. package/dist/commands/push/types.js +0 -2
  116. package/dist/commands/push/types.js.map +0 -1
  117. package/dist/commands/run/__tests__/run.integration.test.d.ts +0 -8
  118. package/dist/commands/run/__tests__/run.integration.test.d.ts.map +0 -1
  119. package/dist/commands/run/__tests__/run.integration.test.js +0 -52
  120. package/dist/commands/run/__tests__/run.integration.test.js.map +0 -1
  121. package/dist/commands/run/__tests__/validators.test.d.ts +0 -2
  122. package/dist/commands/run/__tests__/validators.test.d.ts.map +0 -1
  123. package/dist/commands/run/__tests__/validators.test.js +0 -80
  124. package/dist/commands/run/__tests__/validators.test.js.map +0 -1
  125. package/dist/commands/run/execution.d.ts +0 -14
  126. package/dist/commands/run/execution.d.ts.map +0 -1
  127. package/dist/commands/run/execution.js +0 -41
  128. package/dist/commands/run/execution.js.map +0 -1
  129. package/dist/commands/run/index.d.ts +0 -39
  130. package/dist/commands/run/index.d.ts.map +0 -1
  131. package/dist/commands/run/index.js +0 -191
  132. package/dist/commands/run/index.js.map +0 -1
  133. package/dist/commands/run/types.d.ts +0 -60
  134. package/dist/commands/run/types.d.ts.map +0 -1
  135. package/dist/commands/run/types.js +0 -7
  136. package/dist/commands/run/types.js.map +0 -1
  137. package/dist/commands/run/utils.d.ts +0 -29
  138. package/dist/commands/run/utils.d.ts.map +0 -1
  139. package/dist/commands/run/utils.js +0 -52
  140. package/dist/commands/run/utils.js.map +0 -1
  141. package/dist/commands/run/validators.d.ts +0 -33
  142. package/dist/commands/run/validators.d.ts.map +0 -1
  143. package/dist/commands/run/validators.js +0 -58
  144. package/dist/commands/run/validators.js.map +0 -1
  145. package/dist/commands/simulate/env-loader.d.ts +0 -19
  146. package/dist/commands/simulate/env-loader.d.ts.map +0 -1
  147. package/dist/commands/simulate/env-loader.js +0 -46
  148. package/dist/commands/simulate/env-loader.js.map +0 -1
  149. package/dist/commands/simulate/index.d.ts +0 -48
  150. package/dist/commands/simulate/index.d.ts.map +0 -1
  151. package/dist/commands/simulate/index.js +0 -116
  152. package/dist/commands/simulate/index.js.map +0 -1
  153. package/dist/commands/simulate/jsdom-executor.d.ts +0 -37
  154. package/dist/commands/simulate/jsdom-executor.d.ts.map +0 -1
  155. package/dist/commands/simulate/jsdom-executor.js +0 -137
  156. package/dist/commands/simulate/jsdom-executor.js.map +0 -1
  157. package/dist/commands/simulate/node-executor.d.ts +0 -28
  158. package/dist/commands/simulate/node-executor.d.ts.map +0 -1
  159. package/dist/commands/simulate/node-executor.js +0 -94
  160. package/dist/commands/simulate/node-executor.js.map +0 -1
  161. package/dist/commands/simulate/simulator.d.ts +0 -14
  162. package/dist/commands/simulate/simulator.d.ts.map +0 -1
  163. package/dist/commands/simulate/simulator.js +0 -162
  164. package/dist/commands/simulate/simulator.js.map +0 -1
  165. package/dist/commands/simulate/tracker.d.ts +0 -30
  166. package/dist/commands/simulate/tracker.d.ts.map +0 -1
  167. package/dist/commands/simulate/tracker.js +0 -96
  168. package/dist/commands/simulate/tracker.js.map +0 -1
  169. package/dist/commands/simulate/types.d.ts +0 -18
  170. package/dist/commands/simulate/types.d.ts.map +0 -1
  171. package/dist/commands/simulate/types.js +0 -2
  172. package/dist/commands/simulate/types.js.map +0 -1
  173. package/dist/config/build-defaults.d.ts +0 -49
  174. package/dist/config/build-defaults.d.ts.map +0 -1
  175. package/dist/config/build-defaults.js +0 -70
  176. package/dist/config/build-defaults.js.map +0 -1
  177. package/dist/config/index.d.ts +0 -13
  178. package/dist/config/index.d.ts.map +0 -1
  179. package/dist/config/index.js +0 -15
  180. package/dist/config/index.js.map +0 -1
  181. package/dist/config/loader.d.ts +0 -81
  182. package/dist/config/loader.d.ts.map +0 -1
  183. package/dist/config/loader.js +0 -155
  184. package/dist/config/loader.js.map +0 -1
  185. package/dist/config/utils.d.ts +0 -114
  186. package/dist/config/utils.d.ts.map +0 -1
  187. package/dist/config/utils.js +0 -257
  188. package/dist/config/utils.js.map +0 -1
  189. package/dist/config/validators.d.ts +0 -52
  190. package/dist/config/validators.d.ts.map +0 -1
  191. package/dist/config/validators.js +0 -85
  192. package/dist/config/validators.js.map +0 -1
  193. package/dist/core/asset-resolver.d.ts +0 -34
  194. package/dist/core/asset-resolver.d.ts.map +0 -1
  195. package/dist/core/asset-resolver.js +0 -70
  196. package/dist/core/asset-resolver.js.map +0 -1
  197. package/dist/core/build-cache.d.ts +0 -23
  198. package/dist/core/build-cache.d.ts.map +0 -1
  199. package/dist/core/build-cache.js +0 -43
  200. package/dist/core/build-cache.js.map +0 -1
  201. package/dist/core/cache-utils.d.ts +0 -27
  202. package/dist/core/cache-utils.d.ts.map +0 -1
  203. package/dist/core/cache-utils.js +0 -60
  204. package/dist/core/cache-utils.js.map +0 -1
  205. package/dist/core/docker.d.ts +0 -102
  206. package/dist/core/docker.d.ts.map +0 -1
  207. package/dist/core/docker.js +0 -278
  208. package/dist/core/docker.js.map +0 -1
  209. package/dist/core/execution.d.ts +0 -34
  210. package/dist/core/execution.d.ts.map +0 -1
  211. package/dist/core/execution.js +0 -64
  212. package/dist/core/execution.js.map +0 -1
  213. package/dist/core/index.d.ts +0 -10
  214. package/dist/core/index.d.ts.map +0 -1
  215. package/dist/core/index.js +0 -10
  216. package/dist/core/index.js.map +0 -1
  217. package/dist/core/local-packages.d.ts +0 -19
  218. package/dist/core/local-packages.d.ts.map +0 -1
  219. package/dist/core/local-packages.js +0 -60
  220. package/dist/core/local-packages.js.map +0 -1
  221. package/dist/core/logger.d.ts +0 -28
  222. package/dist/core/logger.d.ts.map +0 -1
  223. package/dist/core/logger.js +0 -88
  224. package/dist/core/logger.js.map +0 -1
  225. package/dist/core/output.d.ts +0 -30
  226. package/dist/core/output.d.ts.map +0 -1
  227. package/dist/core/output.js +0 -46
  228. package/dist/core/output.js.map +0 -1
  229. package/dist/core/temp-manager.d.ts +0 -51
  230. package/dist/core/temp-manager.d.ts.map +0 -1
  231. package/dist/core/temp-manager.js +0 -73
  232. package/dist/core/temp-manager.js.map +0 -1
  233. package/dist/core/timer.d.ts +0 -14
  234. package/dist/core/timer.d.ts.map +0 -1
  235. package/dist/core/timer.js +0 -29
  236. package/dist/core/timer.js.map +0 -1
  237. package/dist/core/utils.d.ts +0 -10
  238. package/dist/core/utils.d.ts.map +0 -1
  239. package/dist/core/utils.js +0 -12
  240. package/dist/core/utils.js.map +0 -1
  241. package/dist/index.d.ts.map +0 -1
  242. package/dist/schemas/index.d.ts +0 -9
  243. package/dist/schemas/index.d.ts.map +0 -1
  244. package/dist/schemas/index.js +0 -9
  245. package/dist/schemas/index.js.map +0 -1
  246. package/dist/schemas/primitives.d.ts +0 -37
  247. package/dist/schemas/primitives.d.ts.map +0 -1
  248. package/dist/schemas/primitives.js +0 -43
  249. package/dist/schemas/primitives.js.map +0 -1
  250. package/dist/schemas/run.d.ts +0 -23
  251. package/dist/schemas/run.d.ts.map +0 -1
  252. package/dist/schemas/run.js +0 -20
  253. package/dist/schemas/run.js.map +0 -1
  254. package/dist/types/bundle.d.ts +0 -141
  255. package/dist/types/bundle.d.ts.map +0 -1
  256. package/dist/types/bundle.js +0 -10
  257. package/dist/types/bundle.js.map +0 -1
  258. package/dist/types/global.d.ts +0 -51
  259. package/dist/types/global.d.ts.map +0 -1
  260. package/dist/types/global.js +0 -30
  261. package/dist/types/global.js.map +0 -1
  262. package/dist/types/index.d.ts +0 -8
  263. package/dist/types/index.d.ts.map +0 -1
  264. package/dist/types/index.js +0 -8
  265. package/dist/types/index.js.map +0 -1
  266. package/dist/version.d.ts +0 -3
  267. package/dist/version.d.ts.map +0 -1
  268. package/dist/version.js +0 -27
  269. package/dist/version.js.map +0 -1
@@ -1,151 +0,0 @@
1
- // Import helper functions - we need to access them for testing
2
- // Since they're not exported, we'll test through createEntryPoint's behavior
3
- // Or we can temporarily export them for testing
4
- // For now, let's create focused unit tests for each logical section
5
- describe('Bundler Helper Functions', () => {
6
- describe('detectDestinationPackages', () => {
7
- it('should detect destination packages with explicit package field', () => {
8
- const flowConfig = {
9
- destinations: {
10
- gtag: {
11
- package: '@walkeros/web-destination-gtag',
12
- config: {},
13
- },
14
- api: {
15
- package: '@walkeros/web-destination-api',
16
- config: {},
17
- },
18
- },
19
- };
20
- // We'll need to export the helper or test indirectly
21
- // For this test file, we're documenting expected behavior
22
- expect(flowConfig.destinations).toBeDefined();
23
- });
24
- it('should skip destinations without package field', () => {
25
- const flowConfig = {
26
- destinations: {
27
- custom: {
28
- // No package field
29
- config: {},
30
- },
31
- },
32
- };
33
- expect(flowConfig.destinations).toBeDefined();
34
- });
35
- it('should handle empty destinations', () => {
36
- const flowConfig = {};
37
- expect(flowConfig.destinations).toBeUndefined();
38
- });
39
- });
40
- describe('generateImportStatements', () => {
41
- it('should generate default imports', () => {
42
- const packages = {
43
- '@walkeros/core': {
44
- imports: ['default as walkerCore'],
45
- },
46
- };
47
- // Expected output:
48
- // import walkerCore from '@walkeros/core';
49
- expect(packages).toBeDefined();
50
- });
51
- it('should generate named imports', () => {
52
- const packages = {
53
- '@walkeros/core': {
54
- imports: ['getId', 'trim'],
55
- },
56
- };
57
- // Expected output:
58
- // import { getId, trim } from '@walkeros/core';
59
- expect(packages).toBeDefined();
60
- });
61
- it('should generate namespace import when no imports specified', () => {
62
- const packages = {
63
- '@walkeros/core': {},
64
- };
65
- // Expected output:
66
- // import * as _walkerosCore from '@walkeros/core'; // Consider specifying explicit imports
67
- expect(packages).toBeDefined();
68
- });
69
- it('should handle examples imports', () => {
70
- const packages = {
71
- '@walkeros/web-destination-gtag': {
72
- imports: ['examples as gtagExamples', 'destinationGtag'],
73
- },
74
- };
75
- // Expected output:
76
- // import { destinationGtag } from '@walkeros/web-destination-gtag';
77
- // Example mapping: gtag: typeof gtagExamples !== 'undefined' ? gtagExamples : undefined
78
- expect(packages).toBeDefined();
79
- });
80
- it('should auto-import examples for destination packages', () => {
81
- const packages = {
82
- '@walkeros/web-destination-gtag': {
83
- imports: ['destinationGtag'],
84
- },
85
- };
86
- const destinationPackages = new Set(['@walkeros/web-destination-gtag']);
87
- // Expected output:
88
- // import { examples as gtag_examples } from '@walkeros/web-destination-gtag/dev';
89
- // Example mapping: gtag: gtag_examples
90
- expect(destinationPackages.has('@walkeros/web-destination-gtag')).toBe(true);
91
- });
92
- it('should handle demo packages differently for examples', () => {
93
- const packages = {
94
- '@walkeros/web-destination-gtag-demo': {
95
- imports: [],
96
- },
97
- };
98
- // Expected output for demo packages:
99
- // import { examples as gtag_demo_examples } from '@walkeros/web-destination-gtag-demo';
100
- // (not from /dev subpath)
101
- expect(packages).toBeDefined();
102
- });
103
- it('should remove duplicate imports', () => {
104
- const packages = {
105
- '@walkeros/core': {
106
- imports: ['getId', 'getId', 'trim'],
107
- },
108
- };
109
- // Should deduplicate to: import { getId, trim } from '@walkeros/core';
110
- expect(packages).toBeDefined();
111
- });
112
- });
113
- describe('Integration: createEntryPoint refactored behavior', () => {
114
- it('should maintain backward compatibility with original implementation', () => {
115
- // This test documents that the refactored version should produce
116
- // identical output to the original 189-line implementation
117
- // The helper extraction is purely for maintainability and testability
118
- const flowConfig = {
119
- destinations: {
120
- gtag: {
121
- package: '@walkeros/web-destination-gtag',
122
- },
123
- },
124
- };
125
- const buildOptions = {
126
- packages: {
127
- '@walkeros/core': {
128
- imports: ['getId'],
129
- },
130
- '@walkeros/web-destination-gtag': {
131
- imports: ['destinationGtag', 'examples as gtagExamples'],
132
- },
133
- },
134
- code: 'export const flow = startFlow();',
135
- format: 'esm',
136
- platform: 'browser',
137
- };
138
- // The refactored createEntryPoint should:
139
- // 1. Detect @walkeros/web-destination-gtag as a destination package
140
- // 2. Generate imports for @walkeros/core and gtag destination
141
- // 3. Create examples object with gtag mapping
142
- // 4. Process code (no template, so return as-is)
143
- // 5. Wrap code (ESM, already has export, so no wrapping)
144
- // 6. Assemble: imports + examples + code + export { examples }
145
- expect(buildOptions.format).toBe('esm');
146
- expect(flowConfig.destinations).toBeDefined();
147
- });
148
- });
149
- });
150
- export {};
151
- //# sourceMappingURL=bundler-helpers.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundler-helpers.test.js","sourceRoot":"","sources":["../../../src/__tests__/bundle/bundler-helpers.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=bundler.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundler.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/bundle/bundler.test.ts"],"names":[],"mappings":""}
@@ -1,353 +0,0 @@
1
- import fs from 'fs-extra';
2
- import path from 'path';
3
- import { bundleCore as bundle, buildConfigObject, generatePlatformWrapper, createEntryPoint, } from '../../commands/bundle/bundler.js';
4
- import { loadBundleConfig } from '../../config/index.js';
5
- import { createLogger } from '../../core/index.js';
6
- import { getId } from '@walkeros/core';
7
- // No mocks - test with real package downloads and bundling
8
- /**
9
- * Helper to create a Flow.Setup config for testing.
10
- */
11
- function createFlowSetup(platform, packages) {
12
- return {
13
- version: 1,
14
- flows: {
15
- default: {
16
- ...(platform === 'web' ? { web: {} } : { server: {} }),
17
- packages,
18
- },
19
- },
20
- };
21
- }
22
- /**
23
- * Helper to create build options for testing.
24
- * Uses minimal defaults with test-specific overrides.
25
- */
26
- function createBuildOptions(overrides) {
27
- return {
28
- format: 'esm',
29
- platform: 'browser',
30
- target: 'es2020',
31
- minify: false,
32
- sourcemap: false,
33
- cache: true,
34
- tempDir: '.tmp',
35
- packages: {},
36
- code: '',
37
- ...overrides,
38
- };
39
- }
40
- describe('Bundler', () => {
41
- const testOutputDir = path.resolve('.tmp', `bundler-${Date.now()}-${getId()}`);
42
- let logger;
43
- beforeEach(async () => {
44
- // Ensure test output directory exists
45
- await fs.ensureDir(testOutputDir);
46
- // Clean build cache to ensure each test starts fresh
47
- await fs.remove(path.join('.tmp', 'cache', 'builds'));
48
- // Create a silent logger for tests
49
- logger = createLogger({ silent: true });
50
- // Mock console.log to suppress output during tests
51
- jest.spyOn(console, 'log').mockImplementation(() => { });
52
- // Mock fs.stat for bundle stats
53
- const mockStat = {
54
- size: 1024,
55
- isFile: () => true,
56
- isDirectory: () => false,
57
- };
58
- jest
59
- .spyOn(fs, 'stat')
60
- .mockImplementation(() => Promise.resolve(mockStat));
61
- });
62
- afterEach(async () => {
63
- // Clean up test output
64
- await fs.remove(testOutputDir);
65
- // Restore console.log
66
- jest.restoreAllMocks();
67
- });
68
- it('should bundle minimal config successfully', async () => {
69
- const flowConfig = {
70
- web: {},
71
- packages: {
72
- '@walkeros/core': {
73
- imports: ['getId'],
74
- },
75
- },
76
- };
77
- const buildOptions = createBuildOptions({
78
- packages: flowConfig.packages || {},
79
- code: 'export const test = getId(8);',
80
- platform: 'browser',
81
- format: 'esm',
82
- output: path.join(testOutputDir, 'minimal.js'),
83
- });
84
- await expect(bundle(flowConfig, buildOptions, logger)).resolves.not.toThrow();
85
- });
86
- it('should bundle server config with ESM format', async () => {
87
- const flowConfig = {
88
- server: {},
89
- packages: {
90
- '@walkeros/core': {
91
- imports: ['trim', 'isString'],
92
- },
93
- },
94
- };
95
- const buildOptions = createBuildOptions({
96
- packages: flowConfig.packages || {},
97
- code: 'export default { processText: (text) => trim(text) };',
98
- platform: 'node',
99
- format: 'esm',
100
- output: path.join(testOutputDir, 'server-bundle.mjs'),
101
- });
102
- await expect(bundle(flowConfig, buildOptions, logger)).resolves.not.toThrow();
103
- });
104
- it('should bundle advanced config with minification', async () => {
105
- const flowConfig = {
106
- web: {},
107
- packages: {
108
- '@walkeros/core': {
109
- imports: ['getId', 'getByPath', 'clone', 'trim', 'isObject'],
110
- },
111
- },
112
- };
113
- const buildOptions = createBuildOptions({
114
- packages: flowConfig.packages || {},
115
- code: "export function processData(data) {\n return data.map(item => ({\n ...item,\n id: getId(8),\n timestamp: new Date().toISOString().split('T')[0],\n processed: true\n }));\n}\n\nexport function extractNestedValues(data, path) {\n return data.map(item => getByPath(item, path, null)).filter(val => val !== null);\n}\n\nexport function deepCloneData(data) {\n return clone(data);\n}\n\nexport function cleanStringData(data) {\n return data.map(item => ({\n ...item,\n name: typeof item.name === 'string' ? trim(item.name) : item.name\n }));\n}\n\n// Re-export walkerOS utilities\nexport { getId, getByPath, clone, trim, isObject };",
116
- platform: 'browser',
117
- format: 'esm',
118
- target: 'es2020',
119
- minify: true,
120
- sourcemap: true,
121
- output: path.join(testOutputDir, 'advanced-bundle.js'),
122
- });
123
- await expect(bundle(flowConfig, buildOptions, logger)).resolves.not.toThrow();
124
- });
125
- describe('Stats Collection', () => {
126
- it('should collect bundle stats when requested', async () => {
127
- const flowConfig = {
128
- web: {},
129
- packages: {
130
- '@walkeros/core': {
131
- imports: ['getId'],
132
- },
133
- },
134
- };
135
- const buildOptions = createBuildOptions({
136
- packages: flowConfig.packages || {},
137
- code: 'export const test = getId(8);',
138
- format: 'esm',
139
- output: path.join(testOutputDir, 'stats-test.js'),
140
- });
141
- const stats = await bundle(flowConfig, buildOptions, logger, true);
142
- expect(stats).toBeDefined();
143
- expect(stats.totalSize).toBe(1024); // From mocked fs.stat
144
- expect(stats.buildTime).toBeGreaterThanOrEqual(0);
145
- expect(stats.treeshakingEffective).toBe(true);
146
- expect(stats.packages).toHaveLength(1);
147
- expect(stats.packages[0].name).toBe('@walkeros/core@latest');
148
- });
149
- it('should detect ineffective tree-shaking with wildcard imports', async () => {
150
- const flowConfig = {
151
- web: {},
152
- packages: { '@walkeros/core': {} },
153
- };
154
- const buildOptions = createBuildOptions({
155
- packages: flowConfig.packages || {},
156
- code: 'import * as walkerCore from "@walkeros/core";\nexport const test = walkerCore.getId;',
157
- format: 'esm',
158
- output: path.join(testOutputDir, 'test.js'),
159
- });
160
- const stats = await bundle(flowConfig, buildOptions, logger, true);
161
- expect(stats.treeshakingEffective).toBe(false);
162
- });
163
- it('should return undefined when stats not requested', async () => {
164
- const flowConfig = {
165
- web: {},
166
- packages: {
167
- '@walkeros/core': {
168
- imports: ['getId'],
169
- },
170
- },
171
- };
172
- const buildOptions = createBuildOptions({
173
- packages: flowConfig.packages || {},
174
- code: 'export const test = getId(8);',
175
- format: 'esm',
176
- output: path.join(testOutputDir, 'no-stats.js'),
177
- });
178
- const result = await bundle(flowConfig, buildOptions, logger, false);
179
- expect(result).toBeUndefined();
180
- });
181
- });
182
- describe('Configuration Scenarios', () => {
183
- it('should handle custom temp directory configuration', async () => {
184
- const flowConfig = {
185
- web: {},
186
- packages: {
187
- '@walkeros/core': { imports: ['getId'] },
188
- },
189
- };
190
- const buildOptions = createBuildOptions({
191
- packages: flowConfig.packages || {},
192
- code: 'export const test = getId();',
193
- format: 'esm',
194
- tempDir: '/tmp/my-custom-bundler-temp',
195
- output: path.join(testOutputDir, 'custom-temp-example.js'),
196
- });
197
- await expect(bundle(flowConfig, buildOptions, logger)).resolves.not.toThrow();
198
- });
199
- it('should handle version pinning correctly', async () => {
200
- const flowConfig = {
201
- web: {},
202
- packages: {
203
- '@walkeros/core': { version: '0.0.7', imports: ['getId'] },
204
- },
205
- };
206
- const buildOptions = createBuildOptions({
207
- packages: flowConfig.packages || {},
208
- code: '// Test version pinning\nexport const test = getId();',
209
- platform: 'browser',
210
- format: 'esm',
211
- target: 'es2020',
212
- output: path.join(testOutputDir, 'version-test.js'),
213
- });
214
- await expect(bundle(flowConfig, buildOptions, logger)).resolves.not.toThrow();
215
- });
216
- });
217
- describe('Error Handling', () => {
218
- it('should reject invalid config structure', async () => {
219
- // Test that loader rejects invalid config structure
220
- expect(() => {
221
- loadBundleConfig({
222
- flow: {
223
- platform: 'web',
224
- },
225
- build: {
226
- packages: {},
227
- },
228
- }, { configPath: '/test/config.json' });
229
- }).toThrow(/Invalid configuration/);
230
- });
231
- });
232
- describe('buildConfigObject', () => {
233
- it('uses explicit code for named imports', () => {
234
- const flowConfig = {
235
- server: {},
236
- sources: {
237
- http: {
238
- package: '@walkeros/server-source-express',
239
- code: 'sourceExpress',
240
- config: { settings: { port: 8080 } },
241
- },
242
- },
243
- destinations: {
244
- demo: {
245
- package: '@walkeros/destination-demo',
246
- code: 'destinationDemo',
247
- config: { settings: { name: 'Test' } },
248
- },
249
- },
250
- };
251
- const explicitCodeImports = new Map([
252
- ['@walkeros/server-source-express', new Set(['sourceExpress'])],
253
- ['@walkeros/destination-demo', new Set(['destinationDemo'])],
254
- ]);
255
- const result = buildConfigObject(flowConfig, explicitCodeImports);
256
- expect(result).toContain('code: sourceExpress');
257
- expect(result).toContain('code: destinationDemo');
258
- expect(result).toContain('"port": 8080');
259
- expect(result).toContain('"name": "Test"');
260
- });
261
- it('uses default import variable when no explicit code', () => {
262
- const flowConfig = {
263
- server: {},
264
- sources: {
265
- http: {
266
- package: '@walkeros/server-source-express',
267
- config: { settings: { port: 8080 } },
268
- },
269
- },
270
- destinations: {},
271
- };
272
- const explicitCodeImports = new Map(); // No explicit imports
273
- const result = buildConfigObject(flowConfig, explicitCodeImports);
274
- expect(result).toContain('code: _walkerosServerSourceExpress');
275
- });
276
- });
277
- describe('generatePlatformWrapper', () => {
278
- it('generates web IIFE wrapper', () => {
279
- const config = '{ sources: {}, destinations: {} }';
280
- const userCode = 'console.log("custom code");';
281
- const buildOptions = {
282
- platform: 'browser',
283
- windowCollector: 'collector',
284
- windowElb: 'elb',
285
- };
286
- const result = generatePlatformWrapper(config, userCode, buildOptions);
287
- expect(result).toContain('(async () => {');
288
- expect(result).toContain('const config = { sources: {}, destinations: {} };');
289
- expect(result).toContain('console.log("custom code");');
290
- expect(result).toContain('await startFlow(config)');
291
- expect(result).toContain("window['collector'] = collector");
292
- expect(result).toContain("window['elb'] = elb");
293
- });
294
- it('generates server export default wrapper', () => {
295
- const config = '{ sources: {}, destinations: {} }';
296
- const userCode = '';
297
- const buildOptions = { platform: 'node' };
298
- const result = generatePlatformWrapper(config, userCode, buildOptions);
299
- expect(result).toContain('export default async function');
300
- expect(result).toContain('const config = { sources: {}, destinations: {} };');
301
- expect(result).toContain('return await startFlow(config)');
302
- expect(result).not.toContain('window');
303
- });
304
- });
305
- describe('createEntryPoint integration', () => {
306
- it('generates complete entry point with explicit code', async () => {
307
- const flowConfig = {
308
- server: {},
309
- packages: {
310
- '@walkeros/collector': { imports: ['startFlow'] },
311
- '@walkeros/server-source-express': {},
312
- '@walkeros/destination-demo': {},
313
- },
314
- sources: {
315
- http: {
316
- package: '@walkeros/server-source-express',
317
- code: 'sourceExpress',
318
- config: { settings: { port: 8080 } },
319
- },
320
- },
321
- destinations: {
322
- demo: {
323
- package: '@walkeros/destination-demo',
324
- code: 'destinationDemo',
325
- config: { settings: { name: 'Test' } },
326
- },
327
- },
328
- };
329
- const buildOptions = {
330
- platform: 'node',
331
- format: 'esm',
332
- packages: {
333
- '@walkeros/collector': { imports: ['startFlow'] },
334
- '@walkeros/server-source-express': {},
335
- '@walkeros/destination-demo': {},
336
- },
337
- output: './dist/bundle.mjs',
338
- code: '',
339
- };
340
- const result = await createEntryPoint(flowConfig, buildOptions, new Map());
341
- // Should have named imports
342
- expect(result).toContain("import { startFlow } from '@walkeros/collector'");
343
- expect(result).toContain("import { sourceExpress } from '@walkeros/server-source-express'");
344
- expect(result).toContain("import { destinationDemo } from '@walkeros/destination-demo'");
345
- // Should use those imports in config
346
- expect(result).toContain('code: sourceExpress');
347
- expect(result).toContain('code: destinationDemo');
348
- // Should have server wrapper
349
- expect(result).toContain('export default async function');
350
- });
351
- });
352
- });
353
- //# sourceMappingURL=bundler.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundler.test.js","sourceRoot":"","sources":["../../../src/__tests__/bundle/bundler.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__/bundle/programmatic.test.ts"],"names":[],"mappings":""}