@walkeros/cli 0.3.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 (181) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +285 -0
  3. package/dist/__tests__/bundle/bundler-integration.test.d.ts +2 -0
  4. package/dist/__tests__/bundle/bundler-integration.test.d.ts.map +1 -0
  5. package/dist/__tests__/bundle/bundler-integration.test.js +106 -0
  6. package/dist/__tests__/bundle/bundler-integration.test.js.map +1 -0
  7. package/dist/__tests__/bundle/bundler.test.d.ts +2 -0
  8. package/dist/__tests__/bundle/bundler.test.d.ts.map +1 -0
  9. package/dist/__tests__/bundle/bundler.test.js +281 -0
  10. package/dist/__tests__/bundle/bundler.test.js.map +1 -0
  11. package/dist/__tests__/bundle/programmatic.test.d.ts +2 -0
  12. package/dist/__tests__/bundle/programmatic.test.d.ts.map +1 -0
  13. package/dist/__tests__/bundle/programmatic.test.js +118 -0
  14. package/dist/__tests__/bundle/programmatic.test.js.map +1 -0
  15. package/dist/__tests__/bundle/serializer.test.d.ts +2 -0
  16. package/dist/__tests__/bundle/serializer.test.d.ts.map +1 -0
  17. package/dist/__tests__/bundle/serializer.test.js +173 -0
  18. package/dist/__tests__/bundle/serializer.test.js.map +1 -0
  19. package/dist/__tests__/bundle/template-engine.test.d.ts +2 -0
  20. package/dist/__tests__/bundle/template-engine.test.d.ts.map +1 -0
  21. package/dist/__tests__/bundle/template-engine.test.js +107 -0
  22. package/dist/__tests__/bundle/template-engine.test.js.map +1 -0
  23. package/dist/__tests__/cli-e2e.test.d.ts +8 -0
  24. package/dist/__tests__/cli-e2e.test.d.ts.map +1 -0
  25. package/dist/__tests__/cli-e2e.test.js +144 -0
  26. package/dist/__tests__/cli-e2e.test.js.map +1 -0
  27. package/dist/__tests__/cli.test.d.ts +2 -0
  28. package/dist/__tests__/cli.test.d.ts.map +1 -0
  29. package/dist/__tests__/cli.test.js +255 -0
  30. package/dist/__tests__/cli.test.js.map +1 -0
  31. package/dist/__tests__/config-loader.test.d.ts +7 -0
  32. package/dist/__tests__/config-loader.test.d.ts.map +1 -0
  33. package/dist/__tests__/config-loader.test.js +393 -0
  34. package/dist/__tests__/config-loader.test.js.map +1 -0
  35. package/dist/__tests__/core/config.test.d.ts +2 -0
  36. package/dist/__tests__/core/config.test.d.ts.map +1 -0
  37. package/dist/__tests__/core/config.test.js +72 -0
  38. package/dist/__tests__/core/config.test.js.map +1 -0
  39. package/dist/__tests__/core/logger.test.d.ts +2 -0
  40. package/dist/__tests__/core/logger.test.d.ts.map +1 -0
  41. package/dist/__tests__/core/logger.test.js +53 -0
  42. package/dist/__tests__/core/logger.test.js.map +1 -0
  43. package/dist/__tests__/simulate/programmatic.test.d.ts +2 -0
  44. package/dist/__tests__/simulate/programmatic.test.d.ts.map +1 -0
  45. package/dist/__tests__/simulate/programmatic.test.js +51 -0
  46. package/dist/__tests__/simulate/programmatic.test.js.map +1 -0
  47. package/dist/__tests__/simulate/simulator.test.d.ts +2 -0
  48. package/dist/__tests__/simulate/simulator.test.d.ts.map +1 -0
  49. package/dist/__tests__/simulate/simulator.test.js +29 -0
  50. package/dist/__tests__/simulate/simulator.test.js.map +1 -0
  51. package/dist/commands/bundle/bundler.d.ts +14 -0
  52. package/dist/commands/bundle/bundler.d.ts.map +1 -0
  53. package/dist/commands/bundle/bundler.js +372 -0
  54. package/dist/commands/bundle/bundler.js.map +1 -0
  55. package/dist/commands/bundle/index.d.ts +51 -0
  56. package/dist/commands/bundle/index.d.ts.map +1 -0
  57. package/dist/commands/bundle/index.js +200 -0
  58. package/dist/commands/bundle/index.js.map +1 -0
  59. package/dist/commands/bundle/package-manager.d.ts +7 -0
  60. package/dist/commands/bundle/package-manager.d.ts.map +1 -0
  61. package/dist/commands/bundle/package-manager.js +170 -0
  62. package/dist/commands/bundle/package-manager.js.map +1 -0
  63. package/dist/commands/bundle/serializer.d.ts +23 -0
  64. package/dist/commands/bundle/serializer.d.ts.map +1 -0
  65. package/dist/commands/bundle/serializer.js +127 -0
  66. package/dist/commands/bundle/serializer.js.map +1 -0
  67. package/dist/commands/bundle/stats.d.ts +23 -0
  68. package/dist/commands/bundle/stats.d.ts.map +1 -0
  69. package/dist/commands/bundle/stats.js +52 -0
  70. package/dist/commands/bundle/stats.js.map +1 -0
  71. package/dist/commands/bundle/template-engine.d.ts +18 -0
  72. package/dist/commands/bundle/template-engine.d.ts.map +1 -0
  73. package/dist/commands/bundle/template-engine.js +49 -0
  74. package/dist/commands/bundle/template-engine.js.map +1 -0
  75. package/dist/commands/run/__tests__/run.integration.test.d.ts +8 -0
  76. package/dist/commands/run/__tests__/run.integration.test.d.ts.map +1 -0
  77. package/dist/commands/run/__tests__/run.integration.test.js +53 -0
  78. package/dist/commands/run/__tests__/run.integration.test.js.map +1 -0
  79. package/dist/commands/run/__tests__/validators.test.d.ts +2 -0
  80. package/dist/commands/run/__tests__/validators.test.d.ts.map +1 -0
  81. package/dist/commands/run/__tests__/validators.test.js +80 -0
  82. package/dist/commands/run/__tests__/validators.test.js.map +1 -0
  83. package/dist/commands/run/index.d.ts +39 -0
  84. package/dist/commands/run/index.d.ts.map +1 -0
  85. package/dist/commands/run/index.js +251 -0
  86. package/dist/commands/run/index.js.map +1 -0
  87. package/dist/commands/run/types.d.ts +56 -0
  88. package/dist/commands/run/types.d.ts.map +1 -0
  89. package/dist/commands/run/types.js +7 -0
  90. package/dist/commands/run/types.js.map +1 -0
  91. package/dist/commands/run/validators.d.ts +29 -0
  92. package/dist/commands/run/validators.d.ts.map +1 -0
  93. package/dist/commands/run/validators.js +54 -0
  94. package/dist/commands/run/validators.js.map +1 -0
  95. package/dist/commands/simulate/index.d.ts +47 -0
  96. package/dist/commands/simulate/index.d.ts.map +1 -0
  97. package/dist/commands/simulate/index.js +121 -0
  98. package/dist/commands/simulate/index.js.map +1 -0
  99. package/dist/commands/simulate/simulator.d.ts +18 -0
  100. package/dist/commands/simulate/simulator.d.ts.map +1 -0
  101. package/dist/commands/simulate/simulator.js +236 -0
  102. package/dist/commands/simulate/simulator.js.map +1 -0
  103. package/dist/commands/simulate/tracker.d.ts +30 -0
  104. package/dist/commands/simulate/tracker.d.ts.map +1 -0
  105. package/dist/commands/simulate/tracker.js +96 -0
  106. package/dist/commands/simulate/tracker.js.map +1 -0
  107. package/dist/commands/simulate/types.d.ts +18 -0
  108. package/dist/commands/simulate/types.d.ts.map +1 -0
  109. package/dist/commands/simulate/types.js +2 -0
  110. package/dist/commands/simulate/types.js.map +1 -0
  111. package/dist/config/defaults.d.ts +33 -0
  112. package/dist/config/defaults.d.ts.map +1 -0
  113. package/dist/config/defaults.js +73 -0
  114. package/dist/config/defaults.js.map +1 -0
  115. package/dist/config/index.d.ts +14 -0
  116. package/dist/config/index.d.ts.map +1 -0
  117. package/dist/config/index.js +16 -0
  118. package/dist/config/index.js.map +1 -0
  119. package/dist/config/loader.d.ts +74 -0
  120. package/dist/config/loader.d.ts.map +1 -0
  121. package/dist/config/loader.js +136 -0
  122. package/dist/config/loader.js.map +1 -0
  123. package/dist/config/parser.d.ts +64 -0
  124. package/dist/config/parser.d.ts.map +1 -0
  125. package/dist/config/parser.js +137 -0
  126. package/dist/config/parser.js.map +1 -0
  127. package/dist/config/utils.d.ts +38 -0
  128. package/dist/config/utils.d.ts.map +1 -0
  129. package/dist/config/utils.js +66 -0
  130. package/dist/config/utils.js.map +1 -0
  131. package/dist/config/validators.d.ts +23 -0
  132. package/dist/config/validators.d.ts.map +1 -0
  133. package/dist/config/validators.js +45 -0
  134. package/dist/config/validators.js.map +1 -0
  135. package/dist/core/docker.d.ts +42 -0
  136. package/dist/core/docker.d.ts.map +1 -0
  137. package/dist/core/docker.js +114 -0
  138. package/dist/core/docker.js.map +1 -0
  139. package/dist/core/execution.d.ts +33 -0
  140. package/dist/core/execution.d.ts.map +1 -0
  141. package/dist/core/execution.js +57 -0
  142. package/dist/core/execution.js.map +1 -0
  143. package/dist/core/index.d.ts +6 -0
  144. package/dist/core/index.d.ts.map +1 -0
  145. package/dist/core/index.js +6 -0
  146. package/dist/core/index.js.map +1 -0
  147. package/dist/core/logger.d.ts +17 -0
  148. package/dist/core/logger.d.ts.map +1 -0
  149. package/dist/core/logger.js +74 -0
  150. package/dist/core/logger.js.map +1 -0
  151. package/dist/core/output.d.ts +30 -0
  152. package/dist/core/output.d.ts.map +1 -0
  153. package/dist/core/output.js +46 -0
  154. package/dist/core/output.js.map +1 -0
  155. package/dist/core/timer.d.ts +14 -0
  156. package/dist/core/timer.d.ts.map +1 -0
  157. package/dist/core/timer.js +29 -0
  158. package/dist/core/timer.js.map +1 -0
  159. package/dist/index.d.ts +614 -0
  160. package/dist/index.d.ts.map +1 -0
  161. package/dist/index.js +1940 -0
  162. package/dist/index.js.map +1 -0
  163. package/dist/types/bundle.d.ts +251 -0
  164. package/dist/types/bundle.d.ts.map +1 -0
  165. package/dist/types/bundle.js +10 -0
  166. package/dist/types/bundle.js.map +1 -0
  167. package/dist/types/global.d.ts +51 -0
  168. package/dist/types/global.d.ts.map +1 -0
  169. package/dist/types/global.js +30 -0
  170. package/dist/types/global.js.map +1 -0
  171. package/dist/types/index.d.ts +8 -0
  172. package/dist/types/index.d.ts.map +1 -0
  173. package/dist/types/index.js +8 -0
  174. package/dist/types/index.js.map +1 -0
  175. package/dist/types/template.d.ts +108 -0
  176. package/dist/types/template.d.ts.map +1 -0
  177. package/dist/types/template.js +10 -0
  178. package/dist/types/template.js.map +1 -0
  179. package/package.json +59 -0
  180. package/templates/base.hbs +44 -0
  181. package/templates/server.hbs +29 -0
@@ -0,0 +1,393 @@
1
+ /**
2
+ * Config Loader Tests
3
+ *
4
+ * Tests for multi-environment configuration loading.
5
+ */
6
+ import { loadBundleConfig, loadAllEnvironments, getAvailableEnvironments, } from '../config';
7
+ describe('Config Loader', () => {
8
+ // ========================================
9
+ // Single Environment Tests
10
+ // ========================================
11
+ describe('Single Environment Config', () => {
12
+ test('loads single-environment config successfully', () => {
13
+ const config = {
14
+ flow: {
15
+ platform: 'web',
16
+ sources: {
17
+ browser: {
18
+ package: '@walkeros/web-source-browser',
19
+ },
20
+ },
21
+ destinations: {
22
+ gtag: {
23
+ package: '@walkeros/web-destination-gtag',
24
+ config: {
25
+ settings: { ga4: { measurementId: 'G-123' } },
26
+ },
27
+ },
28
+ },
29
+ },
30
+ build: {
31
+ packages: {},
32
+ code: 'export {};',
33
+ output: './dist/test.js',
34
+ },
35
+ };
36
+ const result = loadBundleConfig(config, {
37
+ configPath: '/test/config.json',
38
+ });
39
+ expect(result.environment).toBe('default');
40
+ expect(result.isMultiEnvironment).toBe(false);
41
+ expect(result.flowConfig.platform).toBe('web');
42
+ expect(result.flowConfig.sources).toBeDefined();
43
+ });
44
+ test('applies platform-specific defaults for web', () => {
45
+ const config = {
46
+ flow: {
47
+ platform: 'web',
48
+ },
49
+ build: {
50
+ packages: {},
51
+ code: 'export {};',
52
+ output: '',
53
+ },
54
+ };
55
+ const result = loadBundleConfig(config, {
56
+ configPath: '/test/config.json',
57
+ });
58
+ expect(result.buildOptions.platform).toBe('browser');
59
+ expect(result.buildOptions.format).toBe('iife');
60
+ expect(result.buildOptions.target).toBe('es2020');
61
+ expect(result.buildOptions.output).toBe('./dist/walker.js');
62
+ });
63
+ test('applies platform-specific defaults for server', () => {
64
+ const config = {
65
+ flow: {
66
+ platform: 'server',
67
+ },
68
+ build: {
69
+ packages: {},
70
+ code: 'export {};',
71
+ output: '',
72
+ },
73
+ };
74
+ const result = loadBundleConfig(config, {
75
+ configPath: '/test/config.json',
76
+ });
77
+ expect(result.buildOptions.platform).toBe('node');
78
+ expect(result.buildOptions.format).toBe('esm');
79
+ expect(result.buildOptions.target).toBe('node20');
80
+ expect(result.buildOptions.output).toBe('./dist/bundle.js');
81
+ });
82
+ test('merges custom build options with defaults', () => {
83
+ const config = {
84
+ flow: {
85
+ platform: 'web',
86
+ },
87
+ build: {
88
+ packages: {},
89
+ code: 'export {};',
90
+ output: '',
91
+ minify: true,
92
+ format: 'esm',
93
+ },
94
+ };
95
+ const result = loadBundleConfig(config, {
96
+ configPath: '/test/config.json',
97
+ });
98
+ expect(result.buildOptions.minify).toBe(true);
99
+ expect(result.buildOptions.format).toBe('esm'); // Custom overrides default
100
+ expect(result.buildOptions.target).toBe('es2020'); // Default preserved
101
+ });
102
+ test('does not auto-select templates', () => {
103
+ const config = {
104
+ flow: {
105
+ platform: 'web',
106
+ },
107
+ build: {
108
+ packages: {},
109
+ code: 'export {};',
110
+ output: '',
111
+ },
112
+ };
113
+ const result = loadBundleConfig(config, {
114
+ configPath: '/test/config.json',
115
+ });
116
+ expect(result.buildOptions.template).toBeUndefined();
117
+ });
118
+ });
119
+ // ========================================
120
+ // Multi-Environment Tests
121
+ // ========================================
122
+ describe('Multi-Environment Config', () => {
123
+ const multiEnvConfig = {
124
+ version: 1,
125
+ environments: {
126
+ web_prod: {
127
+ flow: {
128
+ platform: 'web',
129
+ sources: {
130
+ browser: {
131
+ package: '@walkeros/web-source-browser',
132
+ },
133
+ },
134
+ destinations: {
135
+ gtag: {
136
+ package: '@walkeros/web-destination-gtag',
137
+ config: { settings: { ga4: { measurementId: 'G-PROD' } } },
138
+ },
139
+ },
140
+ },
141
+ build: {
142
+ packages: {},
143
+ code: 'export {};',
144
+ output: './dist/prod.js',
145
+ },
146
+ },
147
+ web_stage: {
148
+ flow: {
149
+ platform: 'web',
150
+ sources: {
151
+ browser: {
152
+ package: '@walkeros/web-source-browser',
153
+ },
154
+ },
155
+ destinations: {
156
+ gtag: {
157
+ package: '@walkeros/web-destination-gtag',
158
+ config: { settings: { ga4: { measurementId: 'G-STAGE' } } },
159
+ },
160
+ },
161
+ },
162
+ build: {
163
+ packages: {},
164
+ code: 'export {};',
165
+ output: './dist/stage.js',
166
+ },
167
+ },
168
+ server_prod: {
169
+ flow: {
170
+ platform: 'server',
171
+ destinations: {
172
+ api: {
173
+ package: '@walkeros/server-destination-api',
174
+ },
175
+ },
176
+ },
177
+ build: {
178
+ packages: {},
179
+ code: 'export {};',
180
+ output: './dist/server.js',
181
+ },
182
+ },
183
+ },
184
+ };
185
+ test('loads specific environment from multi-environment config', () => {
186
+ const result = loadBundleConfig(multiEnvConfig, {
187
+ configPath: '/test/config.json',
188
+ environment: 'web_prod',
189
+ });
190
+ expect(result.environment).toBe('web_prod');
191
+ expect(result.isMultiEnvironment).toBe(true);
192
+ expect(result.availableEnvironments).toEqual([
193
+ 'web_prod',
194
+ 'web_stage',
195
+ 'server_prod',
196
+ ]);
197
+ expect(result.flowConfig.platform).toBe('web');
198
+ });
199
+ test('throws error if environment not specified for multi-env config', () => {
200
+ expect(() => loadBundleConfig(multiEnvConfig, {
201
+ configPath: '/test/config.json',
202
+ })).toThrow('Please specify an environment using --env flag');
203
+ });
204
+ test('throws error if specified environment not found', () => {
205
+ expect(() => loadBundleConfig(multiEnvConfig, {
206
+ configPath: '/test/config.json',
207
+ environment: 'nonexistent',
208
+ })).toThrow('Environment "nonexistent" not found');
209
+ });
210
+ test('loads all environments', () => {
211
+ const results = loadAllEnvironments(multiEnvConfig, {
212
+ configPath: '/test/config.json',
213
+ });
214
+ expect(results).toHaveLength(3);
215
+ expect(results.map((r) => r.environment)).toEqual([
216
+ 'web_prod',
217
+ 'web_stage',
218
+ 'server_prod',
219
+ ]);
220
+ expect(results[0].flowConfig.platform).toBe('web');
221
+ expect(results[2].flowConfig.platform).toBe('server');
222
+ });
223
+ test('throws error if --all used with single-environment config', () => {
224
+ const singleConfig = {
225
+ flow: { platform: 'web' },
226
+ build: { packages: {}, code: 'export {};', output: '' },
227
+ };
228
+ expect(() => loadAllEnvironments(singleConfig, {
229
+ configPath: '/test/config.json',
230
+ })).toThrow('--all flag requires a multi-environment configuration');
231
+ });
232
+ test('gets available environments from multi-env config', () => {
233
+ const environments = getAvailableEnvironments(multiEnvConfig);
234
+ expect(environments).toEqual(['web_prod', 'web_stage', 'server_prod']);
235
+ });
236
+ test('returns empty array for single-env config', () => {
237
+ const singleConfig = {
238
+ flow: { platform: 'web' },
239
+ build: { packages: {}, code: 'export {};', output: '' },
240
+ };
241
+ const environments = getAvailableEnvironments(singleConfig);
242
+ expect(environments).toEqual([]);
243
+ });
244
+ });
245
+ // ========================================
246
+ // Error Handling Tests
247
+ // ========================================
248
+ describe('Error Handling', () => {
249
+ test('throws detailed error for invalid config format', () => {
250
+ const invalidConfig = {
251
+ flow: {
252
+ platform: 'invalid',
253
+ },
254
+ build: { packages: {}, code: 'export {};', output: '' },
255
+ };
256
+ expect(() => loadBundleConfig(invalidConfig, {
257
+ configPath: '/test/config.json',
258
+ })).toThrow('Invalid configuration format');
259
+ });
260
+ test('throws error for missing required fields', () => {
261
+ const invalidConfig = {};
262
+ expect(() => loadBundleConfig(invalidConfig, {
263
+ configPath: '/test/config.json',
264
+ })).toThrow();
265
+ });
266
+ test('throws error for invalid version in multi-env config', () => {
267
+ const invalidConfig = {
268
+ version: 2,
269
+ environments: {
270
+ prod: {
271
+ flow: { platform: 'web' },
272
+ build: { packages: {}, code: 'export {};', output: '' },
273
+ },
274
+ },
275
+ };
276
+ expect(() => loadBundleConfig(invalidConfig, {
277
+ configPath: '/test/config.json',
278
+ environment: 'prod',
279
+ })).toThrow();
280
+ });
281
+ });
282
+ // ========================================
283
+ // Logger Integration Tests
284
+ // ========================================
285
+ describe('Logger Integration', () => {
286
+ test('logs info message for multi-environment config', () => {
287
+ const logger = {
288
+ info: jest.fn(),
289
+ warn: jest.fn(),
290
+ };
291
+ const config = {
292
+ version: 1,
293
+ environments: {
294
+ prod: {
295
+ flow: { platform: 'web' },
296
+ build: { packages: {}, code: 'export {};', output: '' },
297
+ },
298
+ },
299
+ };
300
+ loadBundleConfig(config, {
301
+ configPath: '/test/config.json',
302
+ environment: 'prod',
303
+ logger,
304
+ });
305
+ expect(logger.info).toHaveBeenCalledWith(expect.stringContaining('Using environment: prod'));
306
+ });
307
+ test('logs warning for ignored --env flag on single-env config', () => {
308
+ const logger = {
309
+ info: jest.fn(),
310
+ warn: jest.fn(),
311
+ };
312
+ const config = {
313
+ flow: {
314
+ platform: 'web',
315
+ },
316
+ build: {
317
+ packages: {},
318
+ code: 'export {};',
319
+ output: '',
320
+ },
321
+ };
322
+ loadBundleConfig(config, {
323
+ configPath: '/test/config.json',
324
+ environment: 'ignored',
325
+ logger,
326
+ });
327
+ expect(logger.warn).toHaveBeenCalledWith(expect.stringContaining('configuration is single-environment'));
328
+ });
329
+ });
330
+ // ========================================
331
+ // Real-World Scenario Tests
332
+ // ========================================
333
+ describe('Real-World Scenarios', () => {
334
+ test('loads complex multi-environment setup', () => {
335
+ const complexConfig = {
336
+ version: 1,
337
+ $schema: 'https://walkeros.io/schema/flow/v1.json',
338
+ variables: {
339
+ CURRENCY: 'USD',
340
+ },
341
+ definitions: {
342
+ base_mapping: {
343
+ page: { view: { name: 'page_view' } },
344
+ },
345
+ },
346
+ environments: {
347
+ web_production: {
348
+ flow: {
349
+ platform: 'web',
350
+ sources: {
351
+ browser: {
352
+ package: '@walkeros/web-source-browser@2.0.0',
353
+ config: {
354
+ settings: { pageview: true },
355
+ },
356
+ primary: true,
357
+ },
358
+ },
359
+ destinations: {
360
+ gtag: {
361
+ package: '@walkeros/web-destination-gtag@2.0.0',
362
+ config: {
363
+ settings: { ga4: { measurementId: 'G-PROD' } },
364
+ },
365
+ },
366
+ },
367
+ collector: {
368
+ run: true,
369
+ tagging: 1,
370
+ },
371
+ },
372
+ build: {
373
+ packages: {},
374
+ code: 'export {};',
375
+ minify: true,
376
+ sourcemap: false,
377
+ output: './dist/walker.min.js',
378
+ },
379
+ },
380
+ },
381
+ };
382
+ const result = loadBundleConfig(complexConfig, {
383
+ configPath: '/test/config.json',
384
+ environment: 'web_production',
385
+ });
386
+ expect(result.flowConfig.platform).toBe('web');
387
+ expect(result.flowConfig.sources?.browser?.package).toBe('@walkeros/web-source-browser@2.0.0');
388
+ expect(result.buildOptions.minify).toBe(true);
389
+ expect(result.buildOptions.output).toBe('./dist/walker.min.js');
390
+ });
391
+ });
392
+ });
393
+ //# sourceMappingURL=config-loader.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.test.js","sourceRoot":"","sources":["../../src/__tests__/config-loader.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/core/config.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,72 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ import { loadJsonConfig, substituteEnvVariables, getTempDir, } from '../../config';
4
+ import { getId } from '@walkeros/core';
5
+ describe('Config utilities', () => {
6
+ const testDir = path.join('.tmp', `config-test-${Date.now()}-${getId()}`);
7
+ beforeEach(async () => {
8
+ await fs.ensureDir(testDir);
9
+ });
10
+ afterEach(async () => {
11
+ await fs.remove(testDir);
12
+ });
13
+ describe('loadJsonConfig', () => {
14
+ it('should load valid JSON config', async () => {
15
+ const configPath = path.join(testDir, 'valid.json');
16
+ const config = { test: 'value', nested: { key: 'data' } };
17
+ await fs.writeJson(configPath, config);
18
+ const result = await loadJsonConfig(configPath);
19
+ expect(result).toEqual(config);
20
+ });
21
+ it('should throw error for missing file', async () => {
22
+ const configPath = path.join(testDir, 'missing.json');
23
+ await expect(loadJsonConfig(configPath)).rejects.toThrow('Configuration file not found');
24
+ });
25
+ it('should throw error for invalid JSON', async () => {
26
+ const configPath = path.join(testDir, 'invalid.json');
27
+ await fs.writeFile(configPath, '{ invalid json }');
28
+ await expect(loadJsonConfig(configPath)).rejects.toThrow('Invalid JSON in config file');
29
+ });
30
+ });
31
+ describe('substituteEnvVariables', () => {
32
+ it('should substitute environment variables', () => {
33
+ process.env.TEST_VAR = 'test-value';
34
+ const result = substituteEnvVariables('Hello ${TEST_VAR}!');
35
+ expect(result).toBe('Hello test-value!');
36
+ delete process.env.TEST_VAR;
37
+ });
38
+ it('should substitute multiple variables', () => {
39
+ process.env.VAR1 = 'value1';
40
+ process.env.VAR2 = 'value2';
41
+ const result = substituteEnvVariables('${VAR1} and ${VAR2}');
42
+ expect(result).toBe('value1 and value2');
43
+ delete process.env.VAR1;
44
+ delete process.env.VAR2;
45
+ });
46
+ it('should throw error for missing environment variable', () => {
47
+ expect(() => {
48
+ substituteEnvVariables('${MISSING_VAR}');
49
+ }).toThrow('Environment variable MISSING_VAR not found');
50
+ });
51
+ it('should return unchanged string if no variables', () => {
52
+ const input = 'no variables here';
53
+ const result = substituteEnvVariables(input);
54
+ expect(result).toBe(input);
55
+ });
56
+ });
57
+ describe('getTempDir', () => {
58
+ it('should generate unique temp directory', () => {
59
+ const dir1 = getTempDir();
60
+ const dir2 = getTempDir();
61
+ expect(dir1).not.toBe(dir2);
62
+ expect(dir1).toContain('cli-');
63
+ expect(dir2).toContain('cli-');
64
+ });
65
+ it('should use custom temp directory name', () => {
66
+ const customDir = getTempDir('custom-temp');
67
+ expect(customDir).toContain('custom-temp');
68
+ expect(customDir).toContain('cli-');
69
+ });
70
+ });
71
+ });
72
+ //# sourceMappingURL=config.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../../src/__tests__/core/config.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC;IAE1E,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;YAE1D,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAEvC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAEtD,MAAM,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACtD,8BAA8B,CAC/B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAEtD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAEnD,MAAM,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACtD,6BAA6B,CAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC;YAEpC,MAAM,MAAM,GAAG,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;YAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEzC,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;YAE5B,MAAM,MAAM,GAAG,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;YAE7D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEzC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,CAAC,GAAG,EAAE;gBACV,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,KAAK,GAAG,mBAAmB,CAAC;YAClC,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;YAE1B,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAE5C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=logger.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/core/logger.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ import { createLogger } from '../../core/logger';
2
+ describe('Logger', () => {
3
+ let consoleLogSpy;
4
+ let consoleErrorSpy;
5
+ beforeEach(() => {
6
+ consoleLogSpy = jest.spyOn(console, 'log').mockImplementation();
7
+ consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation();
8
+ });
9
+ afterEach(() => {
10
+ jest.restoreAllMocks();
11
+ });
12
+ it('should log messages when not silent', () => {
13
+ const logger = createLogger({ silent: false });
14
+ logger.info('test message');
15
+ logger.success('success message');
16
+ logger.warning('warning message');
17
+ expect(consoleLogSpy).toHaveBeenCalledTimes(3);
18
+ });
19
+ it('should not log messages when silent', () => {
20
+ const logger = createLogger({ silent: true });
21
+ logger.info('test message');
22
+ logger.success('success message');
23
+ logger.warning('warning message');
24
+ expect(consoleLogSpy).not.toHaveBeenCalled();
25
+ });
26
+ it('should log debug messages only when verbose', () => {
27
+ const logger = createLogger({ verbose: true, silent: false });
28
+ logger.debug('debug message');
29
+ expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('debug message'));
30
+ });
31
+ it('should not log debug messages when not verbose', () => {
32
+ const logger = createLogger({ verbose: false, silent: false });
33
+ logger.debug('debug message');
34
+ expect(consoleLogSpy).not.toHaveBeenCalled();
35
+ });
36
+ it('should always log errors unless in JSON mode', () => {
37
+ const logger = createLogger({ silent: true, json: false });
38
+ logger.error('error message');
39
+ expect(consoleErrorSpy).toHaveBeenCalledWith(expect.stringContaining('error message'));
40
+ });
41
+ it('should not log errors in JSON mode', () => {
42
+ const logger = createLogger({ json: true });
43
+ logger.error('error message');
44
+ expect(consoleErrorSpy).not.toHaveBeenCalled();
45
+ });
46
+ it('should handle custom colors', () => {
47
+ const logger = createLogger({ silent: false });
48
+ logger.log('blue', 'blue message');
49
+ logger.log('red', 'red message');
50
+ expect(consoleLogSpy).toHaveBeenCalledTimes(2);
51
+ });
52
+ });
53
+ //# sourceMappingURL=logger.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../../../src/__tests__/core/logger.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,IAAI,aAA+B,CAAC;IACpC,IAAI,eAAiC,CAAC;IAEtC,UAAU,CAAC,GAAG,EAAE;QACd,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAChE,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAElC,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAElC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9D,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAE9B,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CACzC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAE/D,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAE9B,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3D,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAE9B,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CACzC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAE9B,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAEjC,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=programmatic.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"programmatic.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/simulate/programmatic.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"programmatic.test.js","sourceRoot":"","sources":["../../../src/__tests__/simulate/programmatic.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=simulator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulator.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/simulate/simulator.test.ts"],"names":[],"mappings":""}