@walkeros/cli 0.3.6 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/dist/__tests__/bundle/bundler-helpers.test.d.ts +2 -0
- package/dist/__tests__/bundle/bundler-helpers.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/bundler-helpers.test.js +285 -0
- package/dist/__tests__/bundle/bundler-helpers.test.js.map +1 -0
- package/dist/__tests__/bundle/bundler.test.js +9 -3
- package/dist/__tests__/bundle/bundler.test.js.map +1 -1
- package/dist/__tests__/bundle/programmatic.test.js +5 -1
- package/dist/__tests__/bundle/programmatic.test.js.map +1 -1
- package/dist/__tests__/bundle/serializer.test.js +1 -1
- package/dist/__tests__/bundle/serializer.test.js.map +1 -1
- package/dist/__tests__/bundle/template-engine.test.js +1 -1
- package/dist/__tests__/bundle/template-engine.test.js.map +1 -1
- package/dist/__tests__/cli.test.js +6 -71
- package/dist/__tests__/cli.test.js.map +1 -1
- package/dist/__tests__/config-loader.test.js +8 -5
- package/dist/__tests__/config-loader.test.js.map +1 -1
- package/dist/__tests__/core/config.test.js +1 -1
- package/dist/__tests__/core/config.test.js.map +1 -1
- package/dist/__tests__/core/logger.test.js +1 -1
- package/dist/__tests__/core/logger.test.js.map +1 -1
- package/dist/__tests__/integration/bundle-run.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/bundle-run.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/bundle-run.integration.test.js +50 -0
- package/dist/__tests__/integration/bundle-run.integration.test.js.map +1 -0
- package/dist/__tests__/push/push.test.d.ts +7 -0
- package/dist/__tests__/push/push.test.d.ts.map +1 -0
- package/dist/__tests__/push/push.test.js +197 -0
- package/dist/__tests__/push/push.test.js.map +1 -0
- package/dist/__tests__/simulate/env-loader.test.d.ts +2 -0
- package/dist/__tests__/simulate/env-loader.test.d.ts.map +1 -0
- package/dist/__tests__/simulate/env-loader.test.js +47 -0
- package/dist/__tests__/simulate/env-loader.test.js.map +1 -0
- package/dist/__tests__/smoke/production.smoke.test.d.ts +8 -0
- package/dist/__tests__/smoke/production.smoke.test.d.ts.map +1 -0
- package/dist/__tests__/smoke/production.smoke.test.js +58 -0
- package/dist/__tests__/smoke/production.smoke.test.js.map +1 -0
- package/dist/commands/bundle/bundler.d.ts +2 -2
- package/dist/commands/bundle/bundler.d.ts.map +1 -1
- package/dist/commands/bundle/bundler.js +70 -58
- package/dist/commands/bundle/bundler.js.map +1 -1
- package/dist/commands/bundle/index.d.ts +1 -1
- package/dist/commands/bundle/index.d.ts.map +1 -1
- package/dist/commands/bundle/index.js +11 -23
- package/dist/commands/bundle/index.js.map +1 -1
- package/dist/commands/bundle/package-manager.d.ts +1 -1
- package/dist/commands/bundle/package-manager.d.ts.map +1 -1
- package/dist/commands/bundle/serializer.d.ts +1 -1
- package/dist/commands/bundle/serializer.d.ts.map +1 -1
- package/dist/commands/bundle/serializer.js +1 -1
- package/dist/commands/bundle/serializer.js.map +1 -1
- package/dist/commands/bundle/stats.d.ts +2 -2
- package/dist/commands/bundle/stats.d.ts.map +1 -1
- package/dist/commands/bundle/stats.js +1 -1
- package/dist/commands/bundle/stats.js.map +1 -1
- package/dist/commands/bundle/template-engine.d.ts +1 -1
- package/dist/commands/bundle/template-engine.d.ts.map +1 -1
- package/dist/commands/bundle/template-engine.js +4 -2
- package/dist/commands/bundle/template-engine.js.map +1 -1
- package/dist/commands/push/index.d.ts +7 -0
- package/dist/commands/push/index.d.ts.map +1 -0
- package/dist/commands/push/index.js +252 -0
- package/dist/commands/push/index.js.map +1 -0
- package/dist/commands/push/types.d.ts +21 -0
- package/dist/commands/push/types.d.ts.map +1 -0
- package/dist/commands/push/types.js +2 -0
- package/dist/commands/push/types.js.map +1 -0
- package/dist/commands/run/__tests__/run.integration.test.js +1 -1
- package/dist/commands/run/__tests__/run.integration.test.js.map +1 -1
- package/dist/commands/run/__tests__/validators.test.js +1 -1
- package/dist/commands/run/__tests__/validators.test.js.map +1 -1
- package/dist/commands/run/execution.d.ts +14 -0
- package/dist/commands/run/execution.d.ts.map +1 -0
- package/dist/commands/run/execution.js +37 -0
- package/dist/commands/run/execution.js.map +1 -0
- package/dist/commands/run/index.d.ts +1 -1
- package/dist/commands/run/index.d.ts.map +1 -1
- package/dist/commands/run/index.js +33 -107
- package/dist/commands/run/index.js.map +1 -1
- package/dist/commands/run/types.d.ts +1 -1
- package/dist/commands/run/types.d.ts.map +1 -1
- package/dist/commands/run/utils.d.ts +26 -0
- package/dist/commands/run/utils.d.ts.map +1 -0
- package/dist/commands/run/utils.js +58 -0
- package/dist/commands/run/utils.js.map +1 -0
- package/dist/commands/run/validators.d.ts +1 -1
- package/dist/commands/run/validators.d.ts.map +1 -1
- package/dist/commands/run/validators.js +1 -1
- package/dist/commands/run/validators.js.map +1 -1
- package/dist/commands/simulate/env-loader.d.ts +19 -0
- package/dist/commands/simulate/env-loader.d.ts.map +1 -0
- package/dist/commands/simulate/env-loader.js +46 -0
- package/dist/commands/simulate/env-loader.js.map +1 -0
- package/dist/commands/simulate/index.d.ts +3 -3
- package/dist/commands/simulate/index.d.ts.map +1 -1
- package/dist/commands/simulate/index.js +14 -20
- package/dist/commands/simulate/index.js.map +1 -1
- package/dist/commands/simulate/jsdom-executor.d.ts +37 -0
- package/dist/commands/simulate/jsdom-executor.d.ts.map +1 -0
- package/dist/commands/simulate/jsdom-executor.js +137 -0
- package/dist/commands/simulate/jsdom-executor.js.map +1 -0
- package/dist/commands/simulate/simulator.d.ts +1 -5
- package/dist/commands/simulate/simulator.d.ts.map +1 -1
- package/dist/commands/simulate/simulator.js +33 -111
- package/dist/commands/simulate/simulator.js.map +1 -1
- package/dist/commands/simulate/types.d.ts +2 -2
- package/dist/commands/simulate/types.d.ts.map +1 -1
- package/dist/config/defaults.d.ts +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +0 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.d.ts +8 -8
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +5 -5
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +23 -19
- package/dist/config/loader.js.map +1 -1
- package/dist/config/parser.d.ts +65 -1
- package/dist/config/parser.d.ts.map +1 -1
- package/dist/config/parser.js +176 -62
- package/dist/config/parser.js.map +1 -1
- package/dist/config/utils.d.ts +46 -0
- package/dist/config/utils.d.ts.map +1 -1
- package/dist/config/utils.js +103 -0
- package/dist/config/utils.js.map +1 -1
- package/dist/config/validators.d.ts +4 -1
- package/dist/config/validators.d.ts.map +1 -1
- package/dist/config/validators.js +4 -2
- package/dist/config/validators.js.map +1 -1
- package/dist/core/asset-resolver.d.ts.map +1 -1
- package/dist/core/asset-resolver.js +10 -3
- package/dist/core/asset-resolver.js.map +1 -1
- package/dist/core/docker.d.ts +17 -1
- package/dist/core/docker.d.ts.map +1 -1
- package/dist/core/docker.js +22 -1
- package/dist/core/docker.js.map +1 -1
- package/dist/core/execution.d.ts +2 -2
- package/dist/core/execution.d.ts.map +1 -1
- package/dist/core/execution.js +1 -1
- package/dist/core/execution.js.map +1 -1
- package/dist/core/index.d.ts +8 -6
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +8 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/logger.d.ts +11 -0
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +14 -0
- package/dist/core/logger.js.map +1 -1
- package/dist/core/temp-manager.d.ts +51 -0
- package/dist/core/temp-manager.d.ts.map +1 -0
- package/dist/core/temp-manager.js +73 -0
- package/dist/core/temp-manager.js.map +1 -0
- package/dist/core/utils.d.ts +10 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +12 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/index.d.ts +42 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +827 -397
- package/dist/index.js.map +1 -1
- package/dist/types/bundle.d.ts +26 -12
- package/dist/types/bundle.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -2
- package/dist/types/index.js.map +1 -1
- package/examples/.npm-cache/content-v2/sha512/0d/2d/7581c288670eaf8538ddd9df145b78756ce3be0791c6e0b9cd33429b3bae894525b9bda287a3cedffbcdd2c7b3107bafc03f2b0367eea489eee1cc042abb +1 -0
- package/examples/.npm-cache/content-v2/sha512/12/20/bc4f5acca143809f7e07da1fdafb38137d93243de4d5b403e6e10b92d0d3a6e51eab24fe9dbc9d3ed1cd72e8f7a406085e99c422bb2c7d1166cf9f1f564e +0 -0
- package/examples/.npm-cache/content-v2/sha512/22/ee/fb2695b01871c1d36946bdcfb49f1b520a57200d0a0b221b1e7d5f047ab38a8b2ab0e5f0e25a00acde1f3f2f9d24430a18f1092d438bc1a9e9891cc45f75 +0 -0
- package/examples/.npm-cache/content-v2/sha512/24/89/da1ce6a61bca6de7e132f241a675c01c83738bf6b78af25b5cce01d3030361332b3fe938571e2b721f1555da9ddf930fdcf8c02f0471556071590e68cc09 +0 -0
- package/examples/.npm-cache/content-v2/sha512/47/fd/c6be997da99228c3e279b95d4a46d6913947078a178f54ac71795a159f3513b1483232f4c2d0a1f403178bf9f96bb19615de32a9e2133e949880c6bc15e2 +0 -0
- package/examples/.npm-cache/content-v2/sha512/4b/1c/c1cb7f8b32102071a89fef97158daa32080ebaedfbbd596880d2213d84e305abc76d2a95a412ded55c1c3d487adcb1ceff87fc2c85d7e2856ebd9d3f16f3 +0 -0
- package/examples/.npm-cache/content-v2/sha512/6e/53/ff864769671f44f39d8a3bf904cd646535b745cc4824a8bb3189193b474678049f43b5178ba15cad7f0289046105e70f1565afc84e907120b35a466690fd +1 -0
- package/examples/.npm-cache/content-v2/sha512/70/4c/4c8837d446965c5551b4ea527e95fa011744fb727581d82cf35bb5599ea0b57d18baa490f7af93ef9a16e8e45e5c0802737da20575f4056a4a5c9a3cd288 +0 -0
- package/examples/.npm-cache/content-v2/sha512/96/ad/05de3bbb12d7de8ea353f962bdaea7d2eb44f707f2973462a6635daf537c67b46cca7764fed7d464fe62152c3f783a07aba1ceb35e09ad446bff05a4b466 +1 -0
- package/examples/.npm-cache/content-v2/sha512/b5/20/52dde94e6cef7170f6089c64a4843e57be18be450d956f4e455905aed047ae6a368451c93035e6ac3ee59576b600f03f815afba0836b3a16e10a9aaca4ba +1 -0
- package/examples/.npm-cache/content-v2/sha512/c7/a9/d166a1c39f97df312c59261319ba1cf9aac178bda0a0cb697d5ddd78bd8dd38ef1bf40017bcc8633c2049896c2d70696d9bff9280851f270792ff38bb3a0 +1 -0
- package/examples/.npm-cache/content-v2/sha512/e0/d0/8c14083b633e6adbd3c6a93da5fc0f6bbd456c5512ef276920bedd8d85d551052adff992de977aff326616a211aaa2d6ddcc801149e9b7f914f566359b6a +1 -0
- package/examples/.npm-cache/content-v2/sha512/e7/c5/06ad3fd79ac4f1031fe0b16ea5e54e232ca397bbcd7592c679021cbfb027276099f8c848f3f7a7691f0102ad53aa64f9141e61d729b037a678bd60440d17 +1 -0
- package/examples/.npm-cache/content-v2/sha512/f3/28/d5d32329604ed7d471a4949105daa2cc98858cf24f45b0b97c41d0eb0d5a9fe7bf1f69c792161cc6693e4fc1b52e886ac41875ebfb8fe47fafe417ca3e6e +0 -0
- package/examples/.npm-cache/index-v5/04/5a/2b5d7a7c407d85d746baa0f5c9388a333e35a717a8a0a81943daa6cb1364 +3 -0
- package/examples/.npm-cache/index-v5/12/9a/eba560cbace295d8ee04cf283015377bd77b379e70968fb6bc407c7fc410 +15 -0
- package/examples/.npm-cache/index-v5/2f/a2/7b047564b0ee21ac835ec609e89153dd6549be554d098584d5bfd19fe043 +15 -0
- package/examples/.npm-cache/index-v5/32/8e/322d58dd8d1e000be248ada51385bf96288e56039de9feec1a4c6a467653 +3 -0
- package/examples/.npm-cache/index-v5/57/93/d1d7cd1402e3e26468db03f2870822bb2c9018a506cdfb3b405f38cd3e1c +3 -0
- package/examples/.npm-cache/index-v5/5d/f8/0a1f4fa7149e4ff33e09eb6aea41ac8d1730c868a5d3ace91f762698acff +3 -0
- package/examples/.npm-cache/index-v5/69/a4/a92c72d838259b051cdf8e0acfb2bc680b6d4cfc642314a7836c3f7b2c50 +15 -0
- package/examples/.npm-cache/index-v5/71/31/6da3423bb203f3de5eb16c942431073f89be2cfcb40058ec91dcb5ce0abc +15 -0
- package/examples/.npm-cache/index-v5/7b/94/72b6bffa050d9ef52a558dd220663695bc606f756be0dfa196ef4f3913ba +3 -0
- package/examples/.npm-cache/index-v5/85/9e/99e97fdd562517e56285337db91d1a8f2f416b8d631cf4d7d754fa671299 +15 -0
- package/examples/.npm-cache/index-v5/92/4c/9416ada81a9b3c679539fd1ab53f8de3d41ff268f35eba7a194389a85b06 +3 -0
- package/examples/.npm-cache/index-v5/c1/5a/13df76b218deed8a6ef12961116af5183db98c53fad1b922fd9edc075247 +3 -0
- package/examples/.npm-cache/index-v5/cb/11/253c55410a8ab7c4a9ea9d6e1bf8ef1450a581da64c478074dfd82c8bff6 +3 -0
- package/examples/.npm-cache/index-v5/d5/ae/b57fad3a62b5ba2dbdf24b042a9e7b70820f3db00e5a630f02e1fea020dc +3 -0
- package/examples/.npm-cache/index-v5/d6/32/2f620f83c7d14451de98de8298c2408e05a16cc0829bd16c891ac19d7a67 +3 -0
- package/examples/.npm-cache/index-v5/dd/b5/01dc7a3cd8b6a03a69aee9af500d51ae19cb0aa12631a4aafd152148b8e5 +15 -0
- package/examples/.npm-cache/index-v5/e0/cf/6b862c15d74630d3871cd813d305210ab741311deb10baf8813014e0bc30 +3 -0
- package/examples/.npm-cache/index-v5/e2/be/e880ccd35950a814d3c1dded34d3938ac61b15a195321dc51357f801aad4 +15 -0
- package/examples/.npm-cache/index-v5/e5/1f/f4affe0b392cd03288f23cc03abcb274ff11a2c8f8965299de681914abb2 +3 -0
- package/examples/.npm-cache/index-v5/f3/5b/9ebe450958ff0d7cc44ab0a00080cb8a3ff1389744b5eab5f97b68a6a6af +3 -0
- package/examples/.npm-cache/index-v5/fb/c1/0de405e902866d53e7c30cf36a97dc2578838622b261816f44dc377c9a80 +3 -0
- package/examples/README.md +4 -4
- package/examples/event.json +53 -0
- package/examples/flow-order-complete.json +68 -0
- package/examples/flow-simple.json +32 -0
- package/examples/flow.json +82 -0
- package/examples/server-collect.mjs +1360 -1190
- package/examples/test.html +43 -0
- package/examples/web-serve.js +25503 -0
- package/examples/web-serve.json +4 -3
- package/package.json +3 -2
- package/templates/server.hbs +2 -2
- package/templates/web.hbs +12 -11
- package/dist/__tests__/bundle/bundler-integration.test.d.ts +0 -2
- package/dist/__tests__/bundle/bundler-integration.test.d.ts.map +0 -1
- package/dist/__tests__/bundle/bundler-integration.test.js +0 -106
- package/dist/__tests__/bundle/bundler-integration.test.js.map +0 -1
- package/dist/__tests__/simulate/programmatic.test.d.ts +0 -2
- package/dist/__tests__/simulate/programmatic.test.d.ts.map +0 -1
- package/dist/__tests__/simulate/programmatic.test.js +0 -51
- package/dist/__tests__/simulate/programmatic.test.js.map +0 -1
- package/dist/__tests__/simulate/simulator.test.d.ts +0 -2
- package/dist/__tests__/simulate/simulator.test.d.ts.map +0 -1
- package/dist/__tests__/simulate/simulator.test.js +0 -29
- package/dist/__tests__/simulate/simulator.test.js.map +0 -1
- package/examples/web-serve.mjs +0 -19456
|
@@ -0,0 +1,137 @@
|
|
|
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
|
+
import { getErrorMessage } from '../../core/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Build sandbox from destination-provided envs
|
|
12
|
+
*
|
|
13
|
+
* Merges env mocks from each destination's envs, wrapping
|
|
14
|
+
* specified paths with CallTracker for API call tracking.
|
|
15
|
+
*/
|
|
16
|
+
function buildSandboxFromEnvs(envs, destinations, tracker) {
|
|
17
|
+
// Base browser APIs (not provided by destinations)
|
|
18
|
+
const baseBrowserMocks = {
|
|
19
|
+
Image: class MockImage {
|
|
20
|
+
src = '';
|
|
21
|
+
onload = (() => { });
|
|
22
|
+
onerror = (() => { });
|
|
23
|
+
},
|
|
24
|
+
fetch: async () => ({ ok: true, json: async () => ({}) }),
|
|
25
|
+
location: { href: 'http://localhost' },
|
|
26
|
+
navigator: { userAgent: 'Mozilla/5.0 (walkerOS Simulation)' },
|
|
27
|
+
};
|
|
28
|
+
const sandbox = {
|
|
29
|
+
window: { ...baseBrowserMocks },
|
|
30
|
+
document: {},
|
|
31
|
+
};
|
|
32
|
+
// Add destination-specific env mocks
|
|
33
|
+
for (const [destKey, destConfig] of Object.entries(destinations)) {
|
|
34
|
+
const destEnv = envs[destKey];
|
|
35
|
+
if (!destEnv?.push)
|
|
36
|
+
continue;
|
|
37
|
+
const mockEnv = destEnv.push;
|
|
38
|
+
const trackPaths = destEnv.simulation || [];
|
|
39
|
+
// Use existing CallTracker to wrap env
|
|
40
|
+
const trackedEnv = tracker.wrapEnv(mockEnv, trackPaths.map((p) => `${destKey}:${p}`));
|
|
41
|
+
// Merge window properties
|
|
42
|
+
if (trackedEnv.window && typeof trackedEnv.window === 'object') {
|
|
43
|
+
Object.assign(sandbox.window, trackedEnv.window);
|
|
44
|
+
}
|
|
45
|
+
// Merge document properties
|
|
46
|
+
if (trackedEnv.document && typeof trackedEnv.document === 'object') {
|
|
47
|
+
Object.assign(sandbox.document, trackedEnv.document);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return sandbox;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Wait for async window property assignment
|
|
54
|
+
*
|
|
55
|
+
* IIFE bundles execute asynchronously and assign to window.
|
|
56
|
+
* This helper polls until the property appears or timeout occurs.
|
|
57
|
+
*/
|
|
58
|
+
function waitForWindowProperty(window, prop, timeout = 5000) {
|
|
59
|
+
return new Promise((resolve, reject) => {
|
|
60
|
+
const start = Date.now();
|
|
61
|
+
const check = () => {
|
|
62
|
+
if (window[prop] !== undefined) {
|
|
63
|
+
resolve();
|
|
64
|
+
}
|
|
65
|
+
else if (Date.now() - start > timeout) {
|
|
66
|
+
reject(new Error(`Timeout waiting for window.${prop}. ` +
|
|
67
|
+
`IIFE may have failed to execute or assign to window.`));
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
setImmediate(check);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
check();
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Execute production IIFE bundle in JSDOM with env-based mocking
|
|
78
|
+
*
|
|
79
|
+
* Main orchestration function that:
|
|
80
|
+
* 1. Creates JSDOM virtual DOM
|
|
81
|
+
* 2. Builds sandbox from dynamically loaded envs
|
|
82
|
+
* 3. Executes IIFE in JSDOM
|
|
83
|
+
* 4. Waits for window.collector/elb assignment
|
|
84
|
+
* 5. Runs event through elb
|
|
85
|
+
* 6. Returns tracked API calls
|
|
86
|
+
*/
|
|
87
|
+
export async function executeInJSDOM(bundlePath, destinations, event, tracker, envs, 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. Build sandbox from dynamically loaded envs and inject into window
|
|
100
|
+
const sandbox = buildSandboxFromEnvs(envs, destinations, tracker);
|
|
101
|
+
Object.assign(window, sandbox.window);
|
|
102
|
+
Object.assign(window.document, sandbox.document);
|
|
103
|
+
// 3. Load and execute bundle code
|
|
104
|
+
const bundleCode = await fs.readFile(bundlePath, 'utf8');
|
|
105
|
+
try {
|
|
106
|
+
window.eval(bundleCode);
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
throw new Error(`Bundle execution failed: ${getErrorMessage(error)}`);
|
|
110
|
+
}
|
|
111
|
+
// 4. Wait for window.collector and window.elb assignments
|
|
112
|
+
try {
|
|
113
|
+
await waitForWindowProperty(window, 'collector', timeout);
|
|
114
|
+
await waitForWindowProperty(window, 'elb', timeout);
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
throw new Error(`Window property assignment failed: ${getErrorMessage(error)}`);
|
|
118
|
+
}
|
|
119
|
+
const { collector, elb } = window;
|
|
120
|
+
// 5. Run event through elb
|
|
121
|
+
let elbResult;
|
|
122
|
+
try {
|
|
123
|
+
elbResult = (await elb(event.name, event.data));
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
throw new Error(`Event execution failed: ${getErrorMessage(error)}`);
|
|
127
|
+
}
|
|
128
|
+
// 6. Return results with tracked calls
|
|
129
|
+
return {
|
|
130
|
+
collector,
|
|
131
|
+
elb,
|
|
132
|
+
elbResult,
|
|
133
|
+
usage: tracker.getCalls(),
|
|
134
|
+
duration: Date.now() - start,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
//# 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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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import type { SimulateCommandOptions, SimulationResult } from './types';
|
|
1
|
+
import type { SimulateCommandOptions, SimulationResult } from './types.js';
|
|
2
2
|
/**
|
|
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":"
|
|
1
|
+
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/simulator.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAS3E;;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,CA0H3B"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import fs from 'fs-extra';
|
|
3
|
-
import { createLogger } from '../../core';
|
|
4
|
-
import { loadJsonConfig, getTempDir, isObject, parseBundleConfig, } from '../../config';
|
|
5
|
-
import { bundleCore } from '../bundle/bundler';
|
|
6
|
-
import { downloadPackages } from '../bundle/package-manager';
|
|
7
|
-
import { CallTracker } from './tracker';
|
|
3
|
+
import { createLogger, getErrorMessage } from '../../core/index.js';
|
|
4
|
+
import { loadJsonConfig, getTempDir, isObject, parseBundleConfig, } from '../../config/index.js';
|
|
5
|
+
import { bundleCore } from '../bundle/bundler.js';
|
|
6
|
+
import { downloadPackages } from '../bundle/package-manager.js';
|
|
7
|
+
import { CallTracker } from './tracker.js';
|
|
8
|
+
import { executeInJSDOM } from './jsdom-executor.js';
|
|
9
|
+
import { loadDestinationEnvs } from './env-loader.js';
|
|
8
10
|
/**
|
|
9
11
|
* Generate a unique ID for temp files
|
|
10
12
|
*/
|
|
@@ -40,7 +42,7 @@ export async function simulateCore(configPath, event, options = {}) {
|
|
|
40
42
|
return result;
|
|
41
43
|
}
|
|
42
44
|
catch (error) {
|
|
43
|
-
const errorMessage =
|
|
45
|
+
const errorMessage = getErrorMessage(error);
|
|
44
46
|
logger.error(`💥 Simulation error: ${errorMessage}`);
|
|
45
47
|
return {
|
|
46
48
|
success: false,
|
|
@@ -48,23 +50,6 @@ export async function simulateCore(configPath, event, options = {}) {
|
|
|
48
50
|
};
|
|
49
51
|
}
|
|
50
52
|
}
|
|
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
53
|
/**
|
|
69
54
|
* Simple result formatting
|
|
70
55
|
*/
|
|
@@ -92,6 +77,13 @@ export async function executeSimulation(event, configPath) {
|
|
|
92
77
|
let bundlePath;
|
|
93
78
|
const tempDir = getTempDir();
|
|
94
79
|
try {
|
|
80
|
+
// Validate event format
|
|
81
|
+
if (!isObject(event) ||
|
|
82
|
+
!('name' in event) ||
|
|
83
|
+
typeof event.name !== 'string') {
|
|
84
|
+
throw new Error('Event must be an object with a "name" property of type string');
|
|
85
|
+
}
|
|
86
|
+
const typedEvent = event;
|
|
95
87
|
// Ensure temp directory exists
|
|
96
88
|
await fs.ensureDir(tempDir);
|
|
97
89
|
// 1. Load config
|
|
@@ -112,97 +104,30 @@ export async function executeSimulation(event, configPath) {
|
|
|
112
104
|
createLogger({ silent: true }), buildOptions.cache);
|
|
113
105
|
// 3. Create tracker
|
|
114
106
|
const tracker = new CallTracker();
|
|
115
|
-
// 4.
|
|
116
|
-
|
|
117
|
-
const envSetupCode = [];
|
|
107
|
+
// 4. Create temporary bundle as production IIFE (not ESM!)
|
|
108
|
+
const tempOutput = path.join(tempDir, `simulation-bundle-${generateId()}.js`);
|
|
118
109
|
const destinations = flowConfig.destinations;
|
|
119
|
-
|
|
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
|
|
110
|
+
// Create build options for simulation - bundle as IIFE to test actual production code
|
|
150
111
|
const simulationBuildOptions = {
|
|
151
112
|
...buildOptions,
|
|
152
|
-
code:
|
|
113
|
+
code: buildOptions.code || '', // No code modification - use original
|
|
153
114
|
output: tempOutput,
|
|
154
115
|
tempDir, // Use same temp dir for bundle
|
|
155
|
-
format: '
|
|
156
|
-
//
|
|
157
|
-
|
|
116
|
+
format: 'iife', // ← Test actual production format!
|
|
117
|
+
platform: 'browser', // ← Browser platform for IIFE
|
|
118
|
+
windowCollector: 'collector', // ← Ensure window assignment
|
|
119
|
+
windowElb: 'elb',
|
|
158
120
|
};
|
|
159
|
-
//
|
|
121
|
+
// 5. Bundle with downloaded packages (they're already in tempDir/node_modules)
|
|
160
122
|
await bundleCore(flowConfig, simulationBuildOptions, createLogger({ silent: true }), false);
|
|
161
123
|
bundlePath = tempOutput;
|
|
162
|
-
//
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
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();
|
|
124
|
+
// 6. Load env examples dynamically from destination packages
|
|
125
|
+
const envs = await loadDestinationEnvs(destinations || {});
|
|
126
|
+
// 7. Execute IIFE in JSDOM with env-based mocking
|
|
127
|
+
const result = await executeInJSDOM(tempOutput, destinations || {}, typedEvent, tracker, envs, // Pass dynamically loaded envs
|
|
128
|
+
10000);
|
|
129
|
+
const elbResult = result.elbResult;
|
|
130
|
+
const usage = result.usage;
|
|
206
131
|
const duration = Date.now() - startTime;
|
|
207
132
|
return {
|
|
208
133
|
success: true,
|
|
@@ -216,7 +141,7 @@ ${buildOptions.code || ''}
|
|
|
216
141
|
const duration = Date.now() - startTime;
|
|
217
142
|
return {
|
|
218
143
|
success: false,
|
|
219
|
-
error:
|
|
144
|
+
error: getErrorMessage(error),
|
|
220
145
|
duration,
|
|
221
146
|
};
|
|
222
147
|
}
|
|
@@ -227,10 +152,7 @@ ${buildOptions.code || ''}
|
|
|
227
152
|
// Ignore cleanup errors - temp dirs will be cleaned eventually
|
|
228
153
|
});
|
|
229
154
|
}
|
|
230
|
-
//
|
|
231
|
-
const globalWithSim = globalThis;
|
|
232
|
-
delete globalWithSim.window;
|
|
233
|
-
delete globalWithSim.document;
|
|
155
|
+
// Note: JSDOM automatically cleans up its own isolated environment
|
|
234
156
|
}
|
|
235
157
|
}
|
|
236
158
|
//# sourceMappingURL=simulator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulator.js","sourceRoot":"","sources":["../../../src/commands/simulate/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"simulator.js","sourceRoot":"","sources":["../../../src/commands/simulate/simulator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Elb } from '@walkeros/core';
|
|
2
|
-
import type { GlobalOptions } from '../../types';
|
|
3
|
-
import type { ApiCall } from './tracker';
|
|
2
|
+
import type { GlobalOptions } from '../../types/index.js';
|
|
3
|
+
import type { ApiCall } from './tracker.js';
|
|
4
4
|
export interface SimulateCommandOptions extends GlobalOptions {
|
|
5
5
|
config: string;
|
|
6
6
|
event?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;;;;;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"}
|
package/dist/config/defaults.js
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Unified configuration loading, parsing, and validation.
|
|
5
5
|
*/
|
|
6
|
-
export { isObject, validatePlatform, isMultiEnvConfig, isSingleEnvConfig, } from './validators';
|
|
7
|
-
export { substituteEnvVariables, loadJsonConfig, getTempDir } from './utils';
|
|
8
|
-
export { getDefaultBuildOptions, ensureBuildOptions } from './defaults';
|
|
9
|
-
export { parseBundleConfig, safeParseBundleConfig, normalizeConfigs, } from './parser';
|
|
10
|
-
export type { ParsedConfig } from './parser';
|
|
11
|
-
export { loadBundleConfig, loadAllEnvironments, getAvailableEnvironments, } from './loader';
|
|
12
|
-
export type { LoadConfigResult, LoadConfigOptions } from './loader';
|
|
13
|
-
export type { BuildOptions, MinifyOptions, EnvironmentConfig, Setup, } from '../types/bundle';
|
|
6
|
+
export { isObject, validatePlatform, isMultiEnvConfig, isSingleEnvConfig, } from './validators.js';
|
|
7
|
+
export { substituteEnvVariables, loadJsonConfig, loadJsonFromSource, getTempDir, } from './utils.js';
|
|
8
|
+
export { getDefaultBuildOptions, ensureBuildOptions } from './defaults.js';
|
|
9
|
+
export { parseBundleConfig, safeParseBundleConfig, normalizeConfigs, } from './parser.js';
|
|
10
|
+
export type { ParsedConfig } from './parser.js';
|
|
11
|
+
export { loadBundleConfig, loadAllEnvironments, getAvailableEnvironments, } from './loader.js';
|
|
12
|
+
export type { LoadConfigResult, LoadConfigOptions } from './loader.js';
|
|
13
|
+
export type { BuildOptions, MinifyOptions, EnvironmentConfig, Setup, } from '../types/bundle.js';
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,
|
|
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,iBAAiB,CAAC;AAGzB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG3E,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGvE,YAAY,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,KAAK,GACN,MAAM,oBAAoB,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
* Unified configuration loading, parsing, and validation.
|
|
5
5
|
*/
|
|
6
6
|
// Type guards and validators
|
|
7
|
-
export { isObject, validatePlatform, isMultiEnvConfig, isSingleEnvConfig, } from './validators';
|
|
7
|
+
export { isObject, validatePlatform, isMultiEnvConfig, isSingleEnvConfig, } from './validators.js';
|
|
8
8
|
// Utility functions
|
|
9
|
-
export { substituteEnvVariables, loadJsonConfig, getTempDir } from './utils';
|
|
9
|
+
export { substituteEnvVariables, loadJsonConfig, loadJsonFromSource, getTempDir, } from './utils.js';
|
|
10
10
|
// Platform defaults
|
|
11
|
-
export { getDefaultBuildOptions, ensureBuildOptions } from './defaults';
|
|
11
|
+
export { getDefaultBuildOptions, ensureBuildOptions } from './defaults.js';
|
|
12
12
|
// Parser
|
|
13
|
-
export { parseBundleConfig, safeParseBundleConfig, normalizeConfigs, } from './parser';
|
|
13
|
+
export { parseBundleConfig, safeParseBundleConfig, normalizeConfigs, } from './parser.js';
|
|
14
14
|
// Loader
|
|
15
|
-
export { loadBundleConfig, loadAllEnvironments, getAvailableEnvironments, } from './loader';
|
|
15
|
+
export { loadBundleConfig, loadAllEnvironments, getAvailableEnvironments, } from './loader.js';
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
package/dist/config/index.js.map
CHANGED
|
@@ -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,
|
|
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,iBAAiB,CAAC;AAEzB,oBAAoB;AACpB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,oBAAoB;AACpB,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,SAAS;AACT,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,aAAa,CAAC"}
|
package/dist/config/loader.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAQ5B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,+BAA+B;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACjC,CAAC;CACH;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CAmClB;AAwFD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAC9C,gBAAgB,EAAE,CAyBpB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,CAMrE"}
|
package/dist/config/loader.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* - Multi-environment setups
|
|
7
7
|
* - Environment selection
|
|
8
8
|
*/
|
|
9
|
-
import { isMultiEnvConfig
|
|
10
|
-
import { normalizeConfigs } from './parser';
|
|
9
|
+
import { isMultiEnvConfig } from './validators.js';
|
|
10
|
+
import { parseConfigStructure, normalizeAndValidate, normalizeConfigs, } from './parser.js';
|
|
11
11
|
/**
|
|
12
12
|
* Load and parse bundle configuration.
|
|
13
13
|
*
|
|
@@ -24,28 +24,30 @@ import { normalizeConfigs } from './parser';
|
|
|
24
24
|
* @returns Parsed configuration with flow and build separated
|
|
25
25
|
*/
|
|
26
26
|
export function loadBundleConfig(rawConfig, options) {
|
|
27
|
-
//
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
// Level 1: Parse structure and extract config
|
|
28
|
+
const { flowConfig, buildOptions, metadata } = parseConfigStructure(rawConfig, {
|
|
29
|
+
configPath: options.configPath,
|
|
30
|
+
environment: options.environment,
|
|
31
|
+
});
|
|
32
|
+
// Level 2: Normalize and validate
|
|
33
|
+
const normalized = normalizeAndValidate(flowConfig, buildOptions, options.configPath);
|
|
34
|
+
// Log environment selection if multi-environment
|
|
35
|
+
if (metadata.isMultiEnvironment && options.logger) {
|
|
36
|
+
options.logger.info(`📦 Using environment: ${metadata.environment} (${metadata.availableEnvironments?.length || 0} total)`);
|
|
30
37
|
}
|
|
31
|
-
//
|
|
32
|
-
if (
|
|
33
|
-
|
|
38
|
+
// Warn if --env flag specified for single-environment config
|
|
39
|
+
if (!metadata.isMultiEnvironment && options.environment && options.logger) {
|
|
40
|
+
options.logger.warn(`--env flag specified but configuration is single-environment. Ignoring flag.`);
|
|
34
41
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
: 'missing "flow" and "build" fields'
|
|
40
|
-
: `not an object (got ${typeof rawConfig})`;
|
|
41
|
-
throw new Error(`Invalid configuration format at ${options.configPath}.\n` +
|
|
42
|
-
`Configuration ${configType}.\n\n` +
|
|
43
|
-
`Expected either:\n` +
|
|
44
|
-
` 1. Multi-environment: { version: 1, environments: { prod: { flow: {...}, build: {...} } } }\n` +
|
|
45
|
-
` 2. Single-environment: { flow: { platform: "web" | "server", ... }, build: { packages: {...}, ... } }`);
|
|
42
|
+
return {
|
|
43
|
+
...normalized,
|
|
44
|
+
...metadata,
|
|
45
|
+
};
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
48
|
* Load multi-environment configuration.
|
|
49
|
+
*
|
|
50
|
+
* @deprecated Kept for backward compatibility. Use loadBundleConfig() instead.
|
|
49
51
|
*/
|
|
50
52
|
function loadMultiEnvironmentConfig(setup, options) {
|
|
51
53
|
const availableEnvironments = Object.keys(setup.environments);
|
|
@@ -76,6 +78,8 @@ function loadMultiEnvironmentConfig(setup, options) {
|
|
|
76
78
|
}
|
|
77
79
|
/**
|
|
78
80
|
* Load single-environment configuration.
|
|
81
|
+
*
|
|
82
|
+
* @deprecated Kept for backward compatibility. Use loadBundleConfig() instead.
|
|
79
83
|
*/
|
|
80
84
|
function loadSingleEnvironmentConfig(config, options) {
|
|
81
85
|
// Normalize the configs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|