@walkeros/cli 0.3.6 → 0.4.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 (95) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/__tests__/bundle/bundler.test.js +6 -0
  3. package/dist/__tests__/bundle/bundler.test.js.map +1 -1
  4. package/dist/__tests__/bundle/programmatic.test.js +4 -0
  5. package/dist/__tests__/bundle/programmatic.test.js.map +1 -1
  6. package/dist/__tests__/cli-e2e.test.js +1 -1
  7. package/dist/__tests__/cli-e2e.test.js.map +1 -1
  8. package/dist/__tests__/cli.test.js +6 -2
  9. package/dist/__tests__/cli.test.js.map +1 -1
  10. package/dist/__tests__/simulate/programmatic.test.js +1 -1
  11. package/dist/__tests__/simulate/programmatic.test.js.map +1 -1
  12. package/dist/__tests__/simulate/simulator.test.js +1 -1
  13. package/dist/__tests__/simulate/simulator.test.js.map +1 -1
  14. package/dist/commands/bundle/bundler.js +20 -20
  15. package/dist/commands/bundle/bundler.js.map +1 -1
  16. package/dist/commands/bundle/template-engine.d.ts.map +1 -1
  17. package/dist/commands/bundle/template-engine.js +2 -0
  18. package/dist/commands/bundle/template-engine.js.map +1 -1
  19. package/dist/commands/simulate/index.d.ts.map +1 -1
  20. package/dist/commands/simulate/index.js +6 -3
  21. package/dist/commands/simulate/index.js.map +1 -1
  22. package/dist/commands/simulate/jsdom-executor.d.ts +32 -0
  23. package/dist/commands/simulate/jsdom-executor.d.ts.map +1 -0
  24. package/dist/commands/simulate/jsdom-executor.js +160 -0
  25. package/dist/commands/simulate/jsdom-executor.js.map +1 -0
  26. package/dist/commands/simulate/simulator.d.ts +0 -4
  27. package/dist/commands/simulate/simulator.d.ts.map +1 -1
  28. package/dist/commands/simulate/simulator.js +22 -104
  29. package/dist/commands/simulate/simulator.js.map +1 -1
  30. package/dist/config/defaults.d.ts.map +1 -1
  31. package/dist/config/defaults.js +0 -1
  32. package/dist/config/defaults.js.map +1 -1
  33. package/dist/config/index.d.ts +1 -1
  34. package/dist/config/index.d.ts.map +1 -1
  35. package/dist/config/index.js +1 -1
  36. package/dist/config/index.js.map +1 -1
  37. package/dist/config/parser.d.ts.map +1 -1
  38. package/dist/config/parser.js +9 -0
  39. package/dist/config/parser.js.map +1 -1
  40. package/dist/config/utils.d.ts +46 -0
  41. package/dist/config/utils.d.ts.map +1 -1
  42. package/dist/config/utils.js +102 -0
  43. package/dist/config/utils.js.map +1 -1
  44. package/dist/index.d.ts +26 -12
  45. package/dist/index.js +123 -2103
  46. package/dist/index.js.map +1 -1
  47. package/dist/types/bundle.d.ts +26 -12
  48. package/dist/types/bundle.d.ts.map +1 -1
  49. package/examples/.npm-cache/content-v2/sha512/0d/2d/7581c288670eaf8538ddd9df145b78756ce3be0791c6e0b9cd33429b3bae894525b9bda287a3cedffbcdd2c7b3107bafc03f2b0367eea489eee1cc042abb +1 -0
  50. package/examples/.npm-cache/content-v2/sha512/12/20/bc4f5acca143809f7e07da1fdafb38137d93243de4d5b403e6e10b92d0d3a6e51eab24fe9dbc9d3ed1cd72e8f7a406085e99c422bb2c7d1166cf9f1f564e +0 -0
  51. package/examples/.npm-cache/content-v2/sha512/22/ee/fb2695b01871c1d36946bdcfb49f1b520a57200d0a0b221b1e7d5f047ab38a8b2ab0e5f0e25a00acde1f3f2f9d24430a18f1092d438bc1a9e9891cc45f75 +0 -0
  52. package/examples/.npm-cache/content-v2/sha512/24/89/da1ce6a61bca6de7e132f241a675c01c83738bf6b78af25b5cce01d3030361332b3fe938571e2b721f1555da9ddf930fdcf8c02f0471556071590e68cc09 +0 -0
  53. package/examples/.npm-cache/content-v2/sha512/47/fd/c6be997da99228c3e279b95d4a46d6913947078a178f54ac71795a159f3513b1483232f4c2d0a1f403178bf9f96bb19615de32a9e2133e949880c6bc15e2 +0 -0
  54. package/examples/.npm-cache/content-v2/sha512/4b/1c/c1cb7f8b32102071a89fef97158daa32080ebaedfbbd596880d2213d84e305abc76d2a95a412ded55c1c3d487adcb1ceff87fc2c85d7e2856ebd9d3f16f3 +0 -0
  55. package/examples/.npm-cache/content-v2/sha512/6e/53/ff864769671f44f39d8a3bf904cd646535b745cc4824a8bb3189193b474678049f43b5178ba15cad7f0289046105e70f1565afc84e907120b35a466690fd +1 -0
  56. package/examples/.npm-cache/content-v2/sha512/70/4c/4c8837d446965c5551b4ea527e95fa011744fb727581d82cf35bb5599ea0b57d18baa490f7af93ef9a16e8e45e5c0802737da20575f4056a4a5c9a3cd288 +0 -0
  57. package/examples/.npm-cache/content-v2/sha512/96/ad/05de3bbb12d7de8ea353f962bdaea7d2eb44f707f2973462a6635daf537c67b46cca7764fed7d464fe62152c3f783a07aba1ceb35e09ad446bff05a4b466 +1 -0
  58. package/examples/.npm-cache/content-v2/sha512/b5/20/52dde94e6cef7170f6089c64a4843e57be18be450d956f4e455905aed047ae6a368451c93035e6ac3ee59576b600f03f815afba0836b3a16e10a9aaca4ba +1 -0
  59. package/examples/.npm-cache/content-v2/sha512/c7/a9/d166a1c39f97df312c59261319ba1cf9aac178bda0a0cb697d5ddd78bd8dd38ef1bf40017bcc8633c2049896c2d70696d9bff9280851f270792ff38bb3a0 +1 -0
  60. package/examples/.npm-cache/content-v2/sha512/e0/d0/8c14083b633e6adbd3c6a93da5fc0f6bbd456c5512ef276920bedd8d85d551052adff992de977aff326616a211aaa2d6ddcc801149e9b7f914f566359b6a +1 -0
  61. package/examples/.npm-cache/content-v2/sha512/e7/c5/06ad3fd79ac4f1031fe0b16ea5e54e232ca397bbcd7592c679021cbfb027276099f8c848f3f7a7691f0102ad53aa64f9141e61d729b037a678bd60440d17 +1 -0
  62. package/examples/.npm-cache/content-v2/sha512/f3/28/d5d32329604ed7d471a4949105daa2cc98858cf24f45b0b97c41d0eb0d5a9fe7bf1f69c792161cc6693e4fc1b52e886ac41875ebfb8fe47fafe417ca3e6e +0 -0
  63. package/examples/.npm-cache/index-v5/04/5a/2b5d7a7c407d85d746baa0f5c9388a333e35a717a8a0a81943daa6cb1364 +3 -0
  64. package/examples/.npm-cache/index-v5/12/9a/eba560cbace295d8ee04cf283015377bd77b379e70968fb6bc407c7fc410 +15 -0
  65. package/examples/.npm-cache/index-v5/2f/a2/7b047564b0ee21ac835ec609e89153dd6549be554d098584d5bfd19fe043 +15 -0
  66. package/examples/.npm-cache/index-v5/32/8e/322d58dd8d1e000be248ada51385bf96288e56039de9feec1a4c6a467653 +3 -0
  67. package/examples/.npm-cache/index-v5/57/93/d1d7cd1402e3e26468db03f2870822bb2c9018a506cdfb3b405f38cd3e1c +3 -0
  68. package/examples/.npm-cache/index-v5/5d/f8/0a1f4fa7149e4ff33e09eb6aea41ac8d1730c868a5d3ace91f762698acff +3 -0
  69. package/examples/.npm-cache/index-v5/69/a4/a92c72d838259b051cdf8e0acfb2bc680b6d4cfc642314a7836c3f7b2c50 +15 -0
  70. package/examples/.npm-cache/index-v5/71/31/6da3423bb203f3de5eb16c942431073f89be2cfcb40058ec91dcb5ce0abc +15 -0
  71. package/examples/.npm-cache/index-v5/7b/94/72b6bffa050d9ef52a558dd220663695bc606f756be0dfa196ef4f3913ba +3 -0
  72. package/examples/.npm-cache/index-v5/85/9e/99e97fdd562517e56285337db91d1a8f2f416b8d631cf4d7d754fa671299 +15 -0
  73. package/examples/.npm-cache/index-v5/92/4c/9416ada81a9b3c679539fd1ab53f8de3d41ff268f35eba7a194389a85b06 +3 -0
  74. package/examples/.npm-cache/index-v5/c1/5a/13df76b218deed8a6ef12961116af5183db98c53fad1b922fd9edc075247 +3 -0
  75. package/examples/.npm-cache/index-v5/cb/11/253c55410a8ab7c4a9ea9d6e1bf8ef1450a581da64c478074dfd82c8bff6 +3 -0
  76. package/examples/.npm-cache/index-v5/d5/ae/b57fad3a62b5ba2dbdf24b042a9e7b70820f3db00e5a630f02e1fea020dc +3 -0
  77. package/examples/.npm-cache/index-v5/d6/32/2f620f83c7d14451de98de8298c2408e05a16cc0829bd16c891ac19d7a67 +3 -0
  78. package/examples/.npm-cache/index-v5/dd/b5/01dc7a3cd8b6a03a69aee9af500d51ae19cb0aa12631a4aafd152148b8e5 +15 -0
  79. package/examples/.npm-cache/index-v5/e0/cf/6b862c15d74630d3871cd813d305210ab741311deb10baf8813014e0bc30 +3 -0
  80. package/examples/.npm-cache/index-v5/e2/be/e880ccd35950a814d3c1dded34d3938ac61b15a195321dc51357f801aad4 +15 -0
  81. package/examples/.npm-cache/index-v5/e5/1f/f4affe0b392cd03288f23cc03abcb274ff11a2c8f8965299de681914abb2 +3 -0
  82. package/examples/.npm-cache/index-v5/f3/5b/9ebe450958ff0d7cc44ab0a00080cb8a3ff1389744b5eab5f97b68a6a6af +3 -0
  83. package/examples/.npm-cache/index-v5/fb/c1/0de405e902866d53e7c30cf36a97dc2578838622b261816f44dc377c9a80 +3 -0
  84. package/examples/README.md +4 -4
  85. package/examples/event.json +53 -0
  86. package/examples/flow-order-complete.json +68 -0
  87. package/examples/flow-simple.json +32 -0
  88. package/examples/flow.json +82 -0
  89. package/examples/test.html +43 -0
  90. package/examples/web-serve.js +45 -0
  91. package/examples/web-serve.json +4 -3
  92. package/package.json +2 -2
  93. package/templates/server.hbs +2 -2
  94. package/templates/web.hbs +12 -11
  95. package/examples/web-serve.mjs +0 -19456
@@ -0,0 +1,160 @@
1
+ /**
2
+ * JSDOM-based executor for simulating IIFE bundles
3
+ *
4
+ * Executes actual production IIFE bundles in a virtual DOM environment
5
+ * with env-based mocking from destination examples.
6
+ */
7
+ import { JSDOM, VirtualConsole } from 'jsdom';
8
+ import fs from 'fs-extra';
9
+ /**
10
+ * Build sandbox from destination-provided examples
11
+ *
12
+ * Merges env mocks from each destination's examples, wrapping
13
+ * specified paths with CallTracker for API call tracking.
14
+ */
15
+ function buildSandboxFromExamples(examples, destinations, tracker) {
16
+ // Base browser APIs (not provided by destinations)
17
+ const baseBrowserMocks = {
18
+ Image: class MockImage {
19
+ src = '';
20
+ onload = (() => { });
21
+ onerror = (() => { });
22
+ },
23
+ fetch: async () => ({ ok: true, json: async () => ({}) }),
24
+ location: { href: 'http://localhost' },
25
+ navigator: { userAgent: 'Mozilla/5.0 (walkerOS Simulation)' },
26
+ };
27
+ const sandbox = {
28
+ window: { ...baseBrowserMocks },
29
+ document: {},
30
+ };
31
+ // Add destination-specific env mocks
32
+ for (const [destKey, destConfig] of Object.entries(destinations)) {
33
+ const destExamples = examples[destKey];
34
+ if (!destExamples?.env?.push)
35
+ continue;
36
+ const mockEnv = destExamples.env.push;
37
+ const trackPaths = destExamples.env.simulation || [];
38
+ // Use existing CallTracker to wrap env
39
+ const trackedEnv = tracker.wrapEnv(mockEnv, trackPaths.map((p) => `${destKey}:${p}`));
40
+ // Merge window properties
41
+ if (trackedEnv.window && typeof trackedEnv.window === 'object') {
42
+ Object.assign(sandbox.window, trackedEnv.window);
43
+ }
44
+ // Merge document properties
45
+ if (trackedEnv.document && typeof trackedEnv.document === 'object') {
46
+ Object.assign(sandbox.document, trackedEnv.document);
47
+ }
48
+ }
49
+ return sandbox;
50
+ }
51
+ /**
52
+ * Wait for async window property assignment
53
+ *
54
+ * IIFE bundles execute asynchronously and assign to window.
55
+ * This helper polls until the property appears or timeout occurs.
56
+ */
57
+ function waitForWindowProperty(window, prop, timeout = 5000) {
58
+ return new Promise((resolve, reject) => {
59
+ const start = Date.now();
60
+ const check = () => {
61
+ if (window[prop] !== undefined) {
62
+ resolve();
63
+ }
64
+ else if (Date.now() - start > timeout) {
65
+ reject(new Error(`Timeout waiting for window.${prop}. ` +
66
+ `IIFE may have failed to execute or assign to window.`));
67
+ }
68
+ else {
69
+ setImmediate(check);
70
+ }
71
+ };
72
+ check();
73
+ });
74
+ }
75
+ /**
76
+ * Execute production IIFE bundle in JSDOM with env-based mocking
77
+ *
78
+ * Main orchestration function that:
79
+ * 1. Creates JSDOM virtual DOM
80
+ * 2. Loads bundle and extracts examples
81
+ * 3. Builds sandbox from destination examples
82
+ * 4. Executes IIFE in JSDOM
83
+ * 5. Waits for window.collector/elb assignment
84
+ * 6. Runs event through elb
85
+ * 7. Returns tracked API calls
86
+ */
87
+ export async function executeInJSDOM(bundlePath, destinations, event, tracker, timeout = 10000) {
88
+ const start = Date.now();
89
+ // 1. Create JSDOM virtual DOM with console suppression
90
+ const virtualConsole = new VirtualConsole();
91
+ // Silent mode - don't pipe console output to process stdout/stderr
92
+ const dom = new JSDOM('<!DOCTYPE html><html><body></body></html>', {
93
+ url: 'http://localhost',
94
+ runScripts: 'dangerously', // Allow script execution
95
+ resources: 'usable',
96
+ virtualConsole,
97
+ });
98
+ const { window } = dom;
99
+ // 2. Load bundle code
100
+ const bundleCode = await fs.readFile(bundlePath, 'utf8');
101
+ // 3. Split bundle into setup (examples) and IIFE parts
102
+ // Look for the IIFE pattern: (async () => {
103
+ const iifeMatch = bundleCode.match(/(\(async\s*\(\)\s*=>\s*\{[\s\S]*\}\)\(\);?)/);
104
+ if (!iifeMatch) {
105
+ throw new Error('Could not find IIFE pattern in bundle');
106
+ }
107
+ const iifeStart = iifeMatch.index;
108
+ const setupPart = bundleCode.substring(0, iifeStart);
109
+ const iifePart = bundleCode.substring(iifeStart);
110
+ // 4. Execute setup part to get examples
111
+ const setupScript = window.document.createElement('script');
112
+ setupScript.textContent = setupPart;
113
+ try {
114
+ window.document.body.appendChild(setupScript);
115
+ }
116
+ catch (error) {
117
+ throw new Error(`Failed to execute bundle setup: ${error instanceof Error ? error.message : String(error)}`);
118
+ }
119
+ // 5. Extract examples from window (should be set by setup part)
120
+ const examples = window.__walkerOS_examples || {};
121
+ // 6. Build sandbox from examples and inject into window
122
+ const sandbox = buildSandboxFromExamples(examples, destinations, tracker);
123
+ Object.assign(window, sandbox.window);
124
+ Object.assign(window.document, sandbox.document);
125
+ // 7. Execute IIFE part with sandbox in place
126
+ const iifeScript = window.document.createElement('script');
127
+ iifeScript.textContent = iifePart;
128
+ try {
129
+ window.document.body.appendChild(iifeScript);
130
+ }
131
+ catch (error) {
132
+ throw new Error(`Failed to execute IIFE: ${error instanceof Error ? error.message : String(error)}`);
133
+ }
134
+ // 8. Wait for window.collector and window.elb assignments
135
+ try {
136
+ await waitForWindowProperty(window, 'collector', timeout);
137
+ await waitForWindowProperty(window, 'elb', timeout);
138
+ }
139
+ catch (error) {
140
+ throw new Error(`Window property assignment failed: ${error instanceof Error ? error.message : String(error)}`);
141
+ }
142
+ const { collector, elb } = window;
143
+ // 9. Run event through elb
144
+ let elbResult;
145
+ try {
146
+ elbResult = await elb(event.name, event.data);
147
+ }
148
+ catch (error) {
149
+ throw new Error(`Event execution failed: ${error instanceof Error ? error.message : String(error)}`);
150
+ }
151
+ // 10. Return results with tracked calls
152
+ return {
153
+ collector,
154
+ elb,
155
+ elbResult,
156
+ usage: tracker.getCalls(),
157
+ duration: Date.now() - start,
158
+ };
159
+ }
160
+ //# sourceMappingURL=jsdom-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsdom-executor.js","sourceRoot":"","sources":["../../../src/commands/simulate/jsdom-executor.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,6 @@ import type { SimulateCommandOptions, SimulationResult } from './types';
3
3
  * Main simulation orchestrator
4
4
  */
5
5
  export declare function simulateCore(configPath: string, event: unknown, options?: Pick<SimulateCommandOptions, 'json' | 'verbose' | 'silent'>): Promise<SimulationResult>;
6
- /**
7
- * Parse event input - handles both strings and JSON objects
8
- */
9
- export declare function parseEventInput(eventString?: string): unknown;
10
6
  /**
11
7
  * Simple result formatting
12
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/simulator.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AASxE;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAM,GACxE,OAAO,CAAC,gBAAgB,CAAC,CAqC3B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,GAAE,MAAW,GAAG,OAAO,CAajE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAM,GACjD,MAAM,CAeR;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CA4L3B"}
1
+ {"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/simulator.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AASxE;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAM,GACxE,OAAO,CAAC,gBAAgB,CAAC,CAqC3B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAM,GACjD,MAAM,CAeR;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAsH3B"}
@@ -5,6 +5,7 @@ import { loadJsonConfig, getTempDir, isObject, parseBundleConfig, } from '../../
5
5
  import { bundleCore } from '../bundle/bundler';
6
6
  import { downloadPackages } from '../bundle/package-manager';
7
7
  import { CallTracker } from './tracker';
8
+ import { executeInJSDOM } from './jsdom-executor';
8
9
  /**
9
10
  * Generate a unique ID for temp files
10
11
  */
@@ -48,23 +49,6 @@ export async function simulateCore(configPath, event, options = {}) {
48
49
  };
49
50
  }
50
51
  }
51
- /**
52
- * Parse event input - handles both strings and JSON objects
53
- */
54
- export function parseEventInput(eventString = '') {
55
- if (!eventString) {
56
- return {};
57
- }
58
- // Try to parse as JSON first
59
- try {
60
- const parsed = JSON.parse(eventString);
61
- return isObject(parsed) ? parsed : {};
62
- }
63
- catch {
64
- // If JSON parsing fails, treat as event name string
65
- return { name: eventString };
66
- }
67
- }
68
52
  /**
69
53
  * Simple result formatting
70
54
  */
@@ -92,6 +76,13 @@ export async function executeSimulation(event, configPath) {
92
76
  let bundlePath;
93
77
  const tempDir = getTempDir();
94
78
  try {
79
+ // Validate event format
80
+ if (!isObject(event) ||
81
+ !('name' in event) ||
82
+ typeof event.name !== 'string') {
83
+ throw new Error('Event must be an object with a "name" property of type string');
84
+ }
85
+ const typedEvent = event;
95
86
  // Ensure temp directory exists
96
87
  await fs.ensureDir(tempDir);
97
88
  // 1. Load config
@@ -112,97 +103,27 @@ export async function executeSimulation(event, configPath) {
112
103
  createLogger({ silent: true }), buildOptions.cache);
113
104
  // 3. Create tracker
114
105
  const tracker = new CallTracker();
115
- // 4. Prepare env setup code to inject into bundle
116
- // The bundle will import examples, so we can reference them directly in the injected code
117
- const envSetupCode = [];
106
+ // 4. Create temporary bundle as production IIFE (not ESM!)
107
+ const tempOutput = path.join(tempDir, `simulation-bundle-${generateId()}.js`);
118
108
  const destinations = flowConfig.destinations;
119
- if (destinations) {
120
- for (const [key, dest] of Object.entries(destinations)) {
121
- // Generate code to wrap env using examples imported IN THE BUNDLE
122
- const destName = key.replace(/-/g, '_');
123
- envSetupCode.push(`
124
- // Inject tracked env for destination '${key}' using examples from bundle
125
- if (examples && examples['${key}'] && examples['${key}'].env) {
126
- const mockEnv = examples['${key}'].env.push;
127
- const trackPaths = examples['${key}'].env.simulation || [];
128
- if (mockEnv) {
129
- const wrappedPaths = trackPaths.map((p) => '${key}:' + p);
130
- const trackedEnv = __simulationTracker.wrapEnv(mockEnv, wrappedPaths);
131
- if (config.destinations && config.destinations['${key}']) {
132
- config.destinations['${key}'].env = trackedEnv;
133
- }
134
- }
135
- }
136
- `);
137
- }
138
- }
139
- // 5. Inject env setup code BEFORE startFlow
140
- // Note: __simulationTracker will be provided via factory function parameter
141
- const modifiedCode = `
142
- // Inject tracked envs into destination configs
143
- ${envSetupCode.join('\n')}
144
-
145
- ${buildOptions.code || ''}
146
- `;
147
- // 7. Create temporary bundle with downloaded packages
148
- const tempOutput = path.join(tempDir, `simulation-bundle-${generateId()}.mjs`);
149
- // Create modified build options for simulation
109
+ // Create build options for simulation - bundle as IIFE to test actual production code
150
110
  const simulationBuildOptions = {
151
111
  ...buildOptions,
152
- code: modifiedCode,
112
+ code: buildOptions.code || '', // No code modification - use original
153
113
  output: tempOutput,
154
114
  tempDir, // Use same temp dir for bundle
155
- format: 'esm',
156
- // Force node platform for simulation since we're running in Node.js
157
- platform: 'node',
115
+ format: 'iife', // ← Test actual production format!
116
+ platform: 'browser', // Browser platform for IIFE
117
+ windowCollector: 'collector', // ← Ensure window assignment
118
+ windowElb: 'elb',
158
119
  };
159
- // 8. Bundle with downloaded packages (they're already in tempDir/node_modules)
120
+ // 5. Bundle with downloaded packages (they're already in tempDir/node_modules)
160
121
  await bundleCore(flowConfig, simulationBuildOptions, createLogger({ silent: true }), false);
161
122
  bundlePath = tempOutput;
162
- // 9. Inject minimal globals for Node simulation environment
163
- // This allows destinations to reference window/document without errors
164
- const globalWithSim = globalThis;
165
- if (!globalWithSim.window) {
166
- globalWithSim.window = {};
167
- }
168
- if (!globalWithSim.document) {
169
- globalWithSim.document = {};
170
- }
171
- // 10. Dynamic import the bundle
172
- const timestamp = Date.now();
173
- const moduleUrl = `file://${bundlePath}?t=${timestamp}`;
174
- const module = await import(moduleUrl);
175
- // 11. Populate globals with destination-specific mocks from examples
176
- // This happens AFTER import so we can access the exported examples
177
- const importedExamples = module.examples;
178
- const destinations2 = flowConfig.destinations;
179
- if (importedExamples && destinations2) {
180
- for (const [key, dest] of Object.entries(destinations2)) {
181
- const destEnv = importedExamples[key]?.env?.push;
182
- if (destEnv) {
183
- if (destEnv.window &&
184
- typeof globalWithSim.window === 'object' &&
185
- globalWithSim.window !== null) {
186
- Object.assign(globalWithSim.window, destEnv.window);
187
- }
188
- if (destEnv.document &&
189
- typeof globalWithSim.document === 'object' &&
190
- globalWithSim.document !== null) {
191
- Object.assign(globalWithSim.document, destEnv.document);
192
- }
193
- }
194
- }
195
- }
196
- // 12. Call bundle factory function with tracker
197
- const flowResult = await module.default({ tracker });
198
- if (!flowResult || typeof flowResult.elb !== 'function') {
199
- throw new Error('Bundle did not export valid flow object with elb function');
200
- }
201
- const { elb } = flowResult;
202
- // 13. Execute the event
203
- const elbResult = await elb(event);
204
- // 14. Retrieve tracked calls from tracker instance
205
- const usage = tracker.getCalls();
123
+ // 6. Execute IIFE in JSDOM with env-based mocking
124
+ const result = await executeInJSDOM(tempOutput, destinations || {}, typedEvent, tracker, 10000);
125
+ const elbResult = result.elbResult;
126
+ const usage = result.usage;
206
127
  const duration = Date.now() - startTime;
207
128
  return {
208
129
  success: true,
@@ -227,10 +148,7 @@ ${buildOptions.code || ''}
227
148
  // Ignore cleanup errors - temp dirs will be cleaned eventually
228
149
  });
229
150
  }
230
- // Cleanup injected globals
231
- const globalWithSim = globalThis;
232
- delete globalWithSim.window;
233
- delete globalWithSim.document;
151
+ // Note: JSDOM automatically cleans up its own isolated environment
234
152
  }
235
153
  }
236
154
  //# sourceMappingURL=simulator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"simulator.js","sourceRoot":"","sources":["../../../src/commands/simulate/simulator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulator.js","sourceRoot":"","sources":["../../../src/commands/simulate/simulator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CA2BvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,EACnC,YAAY,EAAE,KAAK,GAAG,QAAQ,GAC7B,YAAY,CAmBd"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CA0BvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,EACnC,YAAY,EAAE,KAAK,GAAG,QAAQ,GAC7B,YAAY,CAmBd"}
@@ -31,7 +31,6 @@ export function getDefaultBuildOptions(platform, code, output) {
31
31
  format: 'iife',
32
32
  target: 'es2020',
33
33
  output: output || './dist/walker.js',
34
- globalName: 'walkerOS',
35
34
  };
36
35
  }
37
36
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA0B,EAC1B,IAAY,EACZ,MAAe;IAEf,MAAM,MAAM,GAAG;QACb,IAAI;QACJ,QAAQ,EAAE,EAA8D;QACxE,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,IAAI;KACZ,CAAC;IAEF,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,IAAI,kBAAkB;YACpC,UAAU,EAAE,UAAU;SACvB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,MAAM,IAAI,kBAAkB;KACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAmC,EACnC,YAA8B;IAE9B,MAAM,QAAQ,GAAG,sBAAsB,CACrC,YAAY,EACZ,YAAY,CAAC,IAAI,IAAI,EAAE,EACvB,YAAY,CAAC,MAAM,CACpB,CAAC;IAEF,2BAA2B;IAC3B,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,YAAY;QACf,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE;QAC9C,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAO;QAC/C,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAS;KACtC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA0B,EAC1B,IAAY,EACZ,MAAe;IAEf,MAAM,MAAM,GAAG;QACb,IAAI;QACJ,QAAQ,EAAE,EAA8D;QACxE,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,IAAI;KACZ,CAAC;IAEF,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,IAAI,kBAAkB;SACrC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,MAAM,IAAI,kBAAkB;KACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAmC,EACnC,YAA8B;IAE9B,MAAM,QAAQ,GAAG,sBAAsB,CACrC,YAAY,EACZ,YAAY,CAAC,IAAI,IAAI,EAAE,EACvB,YAAY,CAAC,MAAM,CACpB,CAAC;IAEF,2BAA2B;IAC3B,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,YAAY;QACf,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE;QAC9C,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAO;QAC/C,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAS;KACtC,CAAC;AACpB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Unified configuration loading, parsing, and validation.
5
5
  */
6
6
  export { isObject, validatePlatform, isMultiEnvConfig, isSingleEnvConfig, } from './validators';
7
- export { substituteEnvVariables, loadJsonConfig, getTempDir } from './utils';
7
+ export { substituteEnvVariables, loadJsonConfig, loadJsonFromSource, getTempDir, } from './utils';
8
8
  export { getDefaultBuildOptions, ensureBuildOptions } from './defaults';
9
9
  export { parseBundleConfig, safeParseBundleConfig, normalizeConfigs, } from './parser';
10
10
  export type { ParsedConfig } from './parser';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG7E,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGpE,YAAY,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,KAAK,GACN,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,UAAU,GACX,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGpE,YAAY,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,KAAK,GACN,MAAM,iBAAiB,CAAC"}
@@ -6,7 +6,7 @@
6
6
  // Type guards and validators
7
7
  export { isObject, validatePlatform, isMultiEnvConfig, isSingleEnvConfig, } from './validators';
8
8
  // Utility functions
9
- export { substituteEnvVariables, loadJsonConfig, getTempDir } from './utils';
9
+ export { substituteEnvVariables, loadJsonConfig, loadJsonFromSource, getTempDir, } from './utils';
10
10
  // Platform defaults
11
11
  export { getDefaultBuildOptions, ensureBuildOptions } from './defaults';
12
12
  // Parser
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6BAA6B;AAC7B,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,oBAAoB;AACpB,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE7E,oBAAoB;AACpB,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExE,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAGlB,SAAS;AACT,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6BAA6B;AAC7B,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,oBAAoB;AACpB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,oBAAoB;AACpB,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExE,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAGlB,SAAS;AACT,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKvE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAyC7D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAaA;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EACF,iBAAiB,GACjB;IAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAAE,EACvD,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAE,CAmEzD"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKvE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAyC7D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAaA;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EACF,iBAAiB,GACjB;IAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAAE,EACvD,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAE,CA6EzD"}
@@ -122,6 +122,15 @@ export function normalizeConfigs(config, configPath) {
122
122
  if (buildConfig.template === undefined) {
123
123
  buildConfig.template = platform === 'server' ? 'server.hbs' : 'web.hbs';
124
124
  }
125
+ // Apply window assignment defaults for browser IIFE
126
+ if (buildConfig.format === 'iife' && buildConfig.platform === 'browser') {
127
+ if (buildConfig.windowCollector === undefined) {
128
+ buildConfig.windowCollector = 'collector';
129
+ }
130
+ if (buildConfig.windowElb === undefined) {
131
+ buildConfig.windowElb = 'elb';
132
+ }
133
+ }
125
134
  // Resolve template path relative to config file directory if it starts with ./ or ../
126
135
  if (configPath &&
127
136
  buildConfig.template &&
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"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"}
@@ -65,4 +65,50 @@ export declare function loadJsonConfig<T>(configPath: string): Promise<T>;
65
65
  * ```
66
66
  */
67
67
  export declare function getTempDir(tempDir?: string): string;
68
+ /**
69
+ * Load JSON from inline string, file path, or URL.
70
+ *
71
+ * Supports three input formats:
72
+ * 1. Inline JSON string - parsed directly
73
+ * 2. Local file path - read and parsed
74
+ * 3. HTTP/HTTPS URL - downloaded and parsed
75
+ *
76
+ * Detection priority:
77
+ * 1. URL (http://, https://) → download and parse
78
+ * 2. Existing file path → read and parse
79
+ * 3. Valid JSON string → parse directly
80
+ * 4. Simple string → treat as {name: string} for backward compatibility
81
+ *
82
+ * @param source - JSON string, file path, or URL
83
+ * @param options - Optional configuration
84
+ * @param options.name - Parameter name for error messages (e.g., "event", "config")
85
+ * @param options.required - Throw error if source is empty (default: false)
86
+ * @param options.fallback - Default value if source is empty
87
+ * @returns Parsed JSON object
88
+ * @throws Error if source is required but empty, or if loading/parsing fails
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * // Inline JSON
93
+ * await loadJsonFromSource('{"name":"order complete","data":{}}')
94
+ *
95
+ * // File path
96
+ * await loadJsonFromSource('./examples/event.json')
97
+ *
98
+ * // URL
99
+ * await loadJsonFromSource('https://example.com/event.json')
100
+ *
101
+ * // With options
102
+ * await loadJsonFromSource(input, {
103
+ * name: 'event',
104
+ * required: true,
105
+ * fallback: { name: 'default' }
106
+ * })
107
+ * ```
108
+ */
109
+ export declare function loadJsonFromSource<T = unknown>(source: string | undefined, options?: {
110
+ name?: string;
111
+ required?: boolean;
112
+ fallback?: T;
113
+ }): Promise<T>;
68
114
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkClE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAmCtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,GAAG,MAAM,CAMnD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkClE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAmCtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,GAAG,MAAM,CAMnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAClD,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,CAAC;CACd,GACA,OAAO,CAAC,CAAC,CAAC,CAmEZ"}