@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
|
@@ -5,12 +5,10 @@
|
|
|
5
5
|
* No Docker daemon required - runs directly in Node.js
|
|
6
6
|
*/
|
|
7
7
|
import path from 'path';
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { loadJsonConfig } from '../../config';
|
|
13
|
-
import { validateMode, validateFlowFile, validatePort } from './validators';
|
|
8
|
+
import { createCommandLogger, createTimer, getExecutionMode, getErrorMessage, executeRunInDocker, isDockerAvailable, } from '../../core/index.js';
|
|
9
|
+
import { validateMode, validateFlowFile, validatePort } from './validators.js';
|
|
10
|
+
import { prepareBundleForRun, isPreBuiltConfig } from './utils.js';
|
|
11
|
+
import { executeRunLocal } from './execution.js';
|
|
14
12
|
/**
|
|
15
13
|
* CLI command function for `walkeros run`
|
|
16
14
|
*
|
|
@@ -20,11 +18,7 @@ import { validateMode, validateFlowFile, validatePort } from './validators';
|
|
|
20
18
|
export async function runCommand(mode, options) {
|
|
21
19
|
const timer = createTimer();
|
|
22
20
|
timer.start();
|
|
23
|
-
const logger =
|
|
24
|
-
verbose: options.verbose,
|
|
25
|
-
silent: options.silent ?? false,
|
|
26
|
-
json: options.json,
|
|
27
|
-
});
|
|
21
|
+
const logger = createCommandLogger(options);
|
|
28
22
|
try {
|
|
29
23
|
// Step 1: Validate inputs
|
|
30
24
|
validateMode(mode);
|
|
@@ -33,9 +27,7 @@ export async function runCommand(mode, options) {
|
|
|
33
27
|
validatePort(options.port);
|
|
34
28
|
}
|
|
35
29
|
// Step 2: Determine if config is pre-built or needs bundling
|
|
36
|
-
const isPreBuilt = configPath
|
|
37
|
-
configPath.endsWith('.js') ||
|
|
38
|
-
configPath.endsWith('.cjs');
|
|
30
|
+
const isPreBuilt = isPreBuiltConfig(configPath);
|
|
39
31
|
let flowPath = null;
|
|
40
32
|
if (mode === 'collect') {
|
|
41
33
|
if (isPreBuilt) {
|
|
@@ -50,29 +42,10 @@ export async function runCommand(mode, options) {
|
|
|
50
42
|
if (!options.json && !options.silent) {
|
|
51
43
|
logger.info('🔨 Building flow bundle...');
|
|
52
44
|
}
|
|
53
|
-
|
|
54
|
-
const rawConfig = await loadJsonConfig(configPath);
|
|
55
|
-
const tempPath = path.join(os.tmpdir(), `walkeros-${Date.now()}-${Math.random().toString(36).slice(2, 9)}.mjs`);
|
|
56
|
-
// Ensure config has build.output set to temp path
|
|
57
|
-
const existingBuild = typeof rawConfig === 'object' &&
|
|
58
|
-
rawConfig !== null &&
|
|
59
|
-
'build' in rawConfig &&
|
|
60
|
-
typeof rawConfig.build === 'object'
|
|
61
|
-
? rawConfig.build
|
|
62
|
-
: {};
|
|
63
|
-
const configWithOutput = {
|
|
64
|
-
...rawConfig,
|
|
65
|
-
build: {
|
|
66
|
-
...existingBuild,
|
|
67
|
-
output: tempPath,
|
|
68
|
-
},
|
|
69
|
-
};
|
|
70
|
-
await bundle(configWithOutput, {
|
|
71
|
-
cache: true,
|
|
45
|
+
flowPath = await prepareBundleForRun(configPath, {
|
|
72
46
|
verbose: options.verbose,
|
|
73
47
|
silent: options.json || options.silent,
|
|
74
48
|
});
|
|
75
|
-
flowPath = tempPath;
|
|
76
49
|
if (!options.json && !options.silent) {
|
|
77
50
|
logger.success('✅ Bundle ready');
|
|
78
51
|
}
|
|
@@ -80,6 +53,16 @@ export async function runCommand(mode, options) {
|
|
|
80
53
|
}
|
|
81
54
|
// Step 3: Execute based on mode
|
|
82
55
|
const executionMode = getExecutionMode(options);
|
|
56
|
+
// Handle dry-run
|
|
57
|
+
if (options.dryRun) {
|
|
58
|
+
if (executionMode === 'docker') {
|
|
59
|
+
logger.info(`[DRY-RUN] Would execute in Docker: run ${mode} with runtime image`);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
logger.info(`[DRY-RUN] Would execute locally: run ${mode}`);
|
|
63
|
+
}
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
83
66
|
if (executionMode === 'docker') {
|
|
84
67
|
// Docker mode: Use production runtime image
|
|
85
68
|
const dockerAvailable = await isDockerAvailable();
|
|
@@ -103,38 +86,18 @@ export async function runCommand(mode, options) {
|
|
|
103
86
|
const modeLabel = mode === 'collect' ? 'Collector' : 'Server';
|
|
104
87
|
logger.info(`🖥️ Starting ${modeLabel} locally...`);
|
|
105
88
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
port: options.port,
|
|
113
|
-
host: options.host,
|
|
114
|
-
};
|
|
115
|
-
await runFlow(flowPath, config);
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
case 'serve': {
|
|
119
|
-
const config = {
|
|
120
|
-
port: options.port,
|
|
121
|
-
host: options.host,
|
|
122
|
-
serveName: options.serveName,
|
|
123
|
-
servePath: options.servePath,
|
|
124
|
-
filePath: flowPath || undefined,
|
|
125
|
-
};
|
|
126
|
-
await runServeMode(config);
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
default:
|
|
130
|
-
throw new Error(`Unknown mode: ${mode}`);
|
|
131
|
-
}
|
|
89
|
+
await executeRunLocal(mode, flowPath, {
|
|
90
|
+
port: options.port,
|
|
91
|
+
host: options.host,
|
|
92
|
+
serveName: options.serveName,
|
|
93
|
+
servePath: options.servePath,
|
|
94
|
+
});
|
|
132
95
|
}
|
|
133
96
|
// Note: Both Docker and local modes run forever, so we won't reach here unless they fail
|
|
134
97
|
}
|
|
135
98
|
catch (error) {
|
|
136
99
|
const duration = timer.getElapsed() / 1000;
|
|
137
|
-
const errorMessage =
|
|
100
|
+
const errorMessage = getErrorMessage(error);
|
|
138
101
|
if (options.json) {
|
|
139
102
|
const output = {
|
|
140
103
|
success: false,
|
|
@@ -190,62 +153,25 @@ export async function run(mode, options) {
|
|
|
190
153
|
validatePort(options.port);
|
|
191
154
|
}
|
|
192
155
|
// Determine if config is pre-built or needs bundling
|
|
193
|
-
const isPreBuilt = flowFile
|
|
194
|
-
flowFile.endsWith('.js') ||
|
|
195
|
-
flowFile.endsWith('.cjs');
|
|
156
|
+
const isPreBuilt = isPreBuiltConfig(flowFile);
|
|
196
157
|
let flowPath;
|
|
197
158
|
if (isPreBuilt) {
|
|
198
159
|
flowPath = path.resolve(flowFile);
|
|
199
160
|
}
|
|
200
161
|
else {
|
|
201
162
|
// Bundle JSON config
|
|
202
|
-
|
|
203
|
-
const tempPath = path.join(os.tmpdir(), `walkeros-${Date.now()}-${Math.random().toString(36).slice(2, 9)}.mjs`);
|
|
204
|
-
// Ensure config has build.output set to temp path
|
|
205
|
-
const existingBuild = typeof rawConfig === 'object' &&
|
|
206
|
-
rawConfig !== null &&
|
|
207
|
-
'build' in rawConfig &&
|
|
208
|
-
typeof rawConfig.build === 'object'
|
|
209
|
-
? rawConfig.build
|
|
210
|
-
: {};
|
|
211
|
-
const configWithOutput = {
|
|
212
|
-
...rawConfig,
|
|
213
|
-
build: {
|
|
214
|
-
...existingBuild,
|
|
215
|
-
output: tempPath,
|
|
216
|
-
},
|
|
217
|
-
};
|
|
218
|
-
await bundle(configWithOutput, {
|
|
219
|
-
cache: true,
|
|
163
|
+
flowPath = await prepareBundleForRun(flowFile, {
|
|
220
164
|
verbose: options.verbose,
|
|
221
165
|
silent: true,
|
|
222
166
|
});
|
|
223
|
-
flowPath = tempPath;
|
|
224
167
|
}
|
|
225
168
|
// Run the flow using Docker package
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
await runFlow(flowPath, config);
|
|
233
|
-
break;
|
|
234
|
-
}
|
|
235
|
-
case 'serve': {
|
|
236
|
-
const config = {
|
|
237
|
-
port: options.port,
|
|
238
|
-
host: options.host,
|
|
239
|
-
serveName: options.serveName,
|
|
240
|
-
servePath: options.servePath,
|
|
241
|
-
filePath: flowPath,
|
|
242
|
-
};
|
|
243
|
-
await runServeMode(config);
|
|
244
|
-
break;
|
|
245
|
-
}
|
|
246
|
-
default:
|
|
247
|
-
throw new Error(`Unknown mode: ${mode}`);
|
|
248
|
-
}
|
|
169
|
+
await executeRunLocal(mode, flowPath, {
|
|
170
|
+
port: options.port,
|
|
171
|
+
host: options.host,
|
|
172
|
+
serveName: options.serveName,
|
|
173
|
+
servePath: options.servePath,
|
|
174
|
+
});
|
|
249
175
|
// Success (though runFlow runs forever, so we typically don't reach here)
|
|
250
176
|
return {
|
|
251
177
|
success: true,
|
|
@@ -258,7 +184,7 @@ export async function run(mode, options) {
|
|
|
258
184
|
success: false,
|
|
259
185
|
exitCode: 1,
|
|
260
186
|
duration: Date.now() - startTime,
|
|
261
|
-
error:
|
|
187
|
+
error: getErrorMessage(error),
|
|
262
188
|
};
|
|
263
189
|
}
|
|
264
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/run/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/run/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/run/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/run/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yBAAyB;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IAEjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run Command Utilities
|
|
3
|
+
*
|
|
4
|
+
* Shared utilities for the run command
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Prepares a JSON config file for execution by bundling it to a temporary location
|
|
8
|
+
*
|
|
9
|
+
* @param configPath - Path to the JSON configuration file
|
|
10
|
+
* @param options - Bundle options
|
|
11
|
+
* @param options.verbose - Enable verbose logging
|
|
12
|
+
* @param options.silent - Suppress output
|
|
13
|
+
* @returns Path to the bundled output file
|
|
14
|
+
*/
|
|
15
|
+
export declare function prepareBundleForRun(configPath: string, options: {
|
|
16
|
+
verbose?: boolean;
|
|
17
|
+
silent?: boolean;
|
|
18
|
+
}): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Checks if a config file is pre-built or needs bundling
|
|
21
|
+
*
|
|
22
|
+
* @param configPath - Path to configuration file
|
|
23
|
+
* @returns True if file is pre-built (js/mjs/cjs), false if needs bundling (json)
|
|
24
|
+
*/
|
|
25
|
+
export declare function isPreBuiltConfig(configPath: string): boolean;
|
|
26
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/commands/run/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAM5D"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run Command Utilities
|
|
3
|
+
*
|
|
4
|
+
* Shared utilities for the run command
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import os from 'os';
|
|
8
|
+
import { loadJsonConfig } from '../../config/index.js';
|
|
9
|
+
import { bundle } from '../bundle/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Prepares a JSON config file for execution by bundling it to a temporary location
|
|
12
|
+
*
|
|
13
|
+
* @param configPath - Path to the JSON configuration file
|
|
14
|
+
* @param options - Bundle options
|
|
15
|
+
* @param options.verbose - Enable verbose logging
|
|
16
|
+
* @param options.silent - Suppress output
|
|
17
|
+
* @returns Path to the bundled output file
|
|
18
|
+
*/
|
|
19
|
+
export async function prepareBundleForRun(configPath, options) {
|
|
20
|
+
// Load JSON config
|
|
21
|
+
const rawConfig = await loadJsonConfig(configPath);
|
|
22
|
+
// Generate unique temp path
|
|
23
|
+
const tempPath = path.join(os.tmpdir(), `walkeros-${Date.now()}-${Math.random().toString(36).slice(2, 9)}.mjs`);
|
|
24
|
+
// Extract existing build config if present
|
|
25
|
+
const existingBuild = typeof rawConfig === 'object' &&
|
|
26
|
+
rawConfig !== null &&
|
|
27
|
+
'build' in rawConfig &&
|
|
28
|
+
typeof rawConfig.build === 'object'
|
|
29
|
+
? rawConfig.build
|
|
30
|
+
: {};
|
|
31
|
+
// Create config with temp output path
|
|
32
|
+
const configWithOutput = {
|
|
33
|
+
...rawConfig,
|
|
34
|
+
build: {
|
|
35
|
+
...existingBuild,
|
|
36
|
+
output: tempPath,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
// Bundle the config
|
|
40
|
+
await bundle(configWithOutput, {
|
|
41
|
+
cache: true,
|
|
42
|
+
verbose: options.verbose,
|
|
43
|
+
silent: options.silent,
|
|
44
|
+
});
|
|
45
|
+
return tempPath;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Checks if a config file is pre-built or needs bundling
|
|
49
|
+
*
|
|
50
|
+
* @param configPath - Path to configuration file
|
|
51
|
+
* @returns True if file is pre-built (js/mjs/cjs), false if needs bundling (json)
|
|
52
|
+
*/
|
|
53
|
+
export function isPreBuiltConfig(configPath) {
|
|
54
|
+
return (configPath.endsWith('.mjs') ||
|
|
55
|
+
configPath.endsWith('.js') ||
|
|
56
|
+
configPath.endsWith('.cjs'));
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/run/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,OAGC;IAED,mBAAmB;IACnB,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAEnD,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,EAAE,CAAC,MAAM,EAAE,EACX,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CACvE,CAAC;IAEF,2CAA2C;IAC3C,MAAM,aAAa,GACjB,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QAClB,OAAO,IAAI,SAAS;QACpB,OAAQ,SAAqC,CAAC,KAAK,KAAK,QAAQ;QAC9D,CAAC,CAAG,SAAqC,CAAC,KAGtC;QACJ,CAAC,CAAC,EAAE,CAAC;IAET,sCAAsC;IACtC,MAAM,gBAAgB,GAAG;QACvB,GAAI,SAAqC;QACzC,KAAK,EAAE;YACL,GAAG,aAAa;YAChB,MAAM,EAAE,QAAQ;SACjB;KACF,CAAC;IAEF,oBAAoB;IACpB,MAAM,MAAM,CAAC,gBAAgB,EAAE;QAC7B,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAO1C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAQlE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAazD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D;;GAEG;AACH,MAAM,WAAW,GAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAe,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,KAAK;YACzB,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC7C,8CAA8C,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,8EAA8E;IAC9E,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEtD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,IAAI;YAClC,qBAAqB,YAAY,IAAI;YACrC,sDAAsD,CACzD,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,IAAI;YACvB,kDAAkD;YAClD,yBAAyB,CAC5B,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface DestinationEnv {
|
|
2
|
+
init?: Record<string, unknown>;
|
|
3
|
+
push: Record<string, unknown>;
|
|
4
|
+
simulation?: string[];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Dynamically loads env examples from destination packages.
|
|
8
|
+
*
|
|
9
|
+
* Imports from `/dev` subpath (e.g., '@walkeros/web-destination-gtag/dev')
|
|
10
|
+
* and extracts the `env` object which contains:
|
|
11
|
+
* - push: Mock environment with API functions (gtag, fbq, etc.)
|
|
12
|
+
* - simulation: Array of tracking paths for call verification
|
|
13
|
+
*
|
|
14
|
+
* @param destinations - Destination configuration from flow config
|
|
15
|
+
* @returns Map of destination key to env object
|
|
16
|
+
*/
|
|
17
|
+
export declare function loadDestinationEnvs(destinations: Record<string, unknown>): Promise<Record<string, DestinationEnv>>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=env-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-loader.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/env-loader.ts"],"names":[],"mappings":"AAAA,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAOD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAyCzC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamically loads env examples from destination packages.
|
|
3
|
+
*
|
|
4
|
+
* Imports from `/dev` subpath (e.g., '@walkeros/web-destination-gtag/dev')
|
|
5
|
+
* and extracts the `env` object which contains:
|
|
6
|
+
* - push: Mock environment with API functions (gtag, fbq, etc.)
|
|
7
|
+
* - simulation: Array of tracking paths for call verification
|
|
8
|
+
*
|
|
9
|
+
* @param destinations - Destination configuration from flow config
|
|
10
|
+
* @returns Map of destination key to env object
|
|
11
|
+
*/
|
|
12
|
+
export async function loadDestinationEnvs(destinations) {
|
|
13
|
+
const envs = {};
|
|
14
|
+
for (const [destKey, destConfig] of Object.entries(destinations)) {
|
|
15
|
+
const typedConfig = destConfig;
|
|
16
|
+
// Skip if no package field
|
|
17
|
+
if (!typedConfig.package) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
// Determine import path
|
|
22
|
+
const packageName = typedConfig.package;
|
|
23
|
+
const isDemoPackage = packageName.includes('-demo');
|
|
24
|
+
const importPath = isDemoPackage ? packageName : `${packageName}/dev`;
|
|
25
|
+
// Dynamic import
|
|
26
|
+
const module = await import(importPath);
|
|
27
|
+
// Extract env from examples
|
|
28
|
+
const examplesModule = module.examples || module.default?.examples;
|
|
29
|
+
const envModule = examplesModule?.env;
|
|
30
|
+
if (envModule?.push) {
|
|
31
|
+
envs[destKey] = {
|
|
32
|
+
init: envModule.init,
|
|
33
|
+
push: envModule.push,
|
|
34
|
+
simulation: envModule.simulation || [],
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
// Silently skip destinations without env or invalid packages
|
|
40
|
+
// eslint-disable-next-line no-console
|
|
41
|
+
console.warn(`Warning: Could not load env for destination "${destKey}": ${error instanceof Error ? error.message : String(error)}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return envs;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=env-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-loader.js","sourceRoot":"","sources":["../../../src/commands/simulate/env-loader.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,YAAqC;IAErC,MAAM,IAAI,GAAmC,EAAE,CAAC;IAEhD,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjE,MAAM,WAAW,GAAG,UAA+B,CAAC;QAEpD,2BAA2B;QAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;YACxC,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,MAAM,CAAC;YAEtE,iBAAiB;YACjB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YAExC,4BAA4B;YAC5B,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;YACnE,MAAM,SAAS,GAAG,cAAc,EAAE,GAAG,CAAC;YAEtC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,GAAG;oBACd,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,EAAE;iBACvC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6DAA6D;YAC7D,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,gDAAgD,OAAO,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SimulateCommandOptions } from './types';
|
|
1
|
+
import type { SimulateCommandOptions } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* CLI command handler for simulate command
|
|
4
4
|
*/
|
|
@@ -42,6 +42,6 @@ export declare function simulate(configOrPath: string | unknown, event: unknown,
|
|
|
42
42
|
verbose?: boolean;
|
|
43
43
|
json?: boolean;
|
|
44
44
|
}): Promise<import('./types').SimulationResult>;
|
|
45
|
-
export * from './types';
|
|
46
|
-
export * from './simulator';
|
|
45
|
+
export * from './types.js';
|
|
46
|
+
export * from './simulator.js';
|
|
47
47
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAyEf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,QAAQ,CAC5B,YAAY,EAAE,MAAM,GAAG,OAAO,EAC9B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CACX,GACL,OAAO,CAAC,OAAO,SAAS,EAAE,gBAAgB,CAAC,CAgB7C;AAGD,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,29 +1,23 @@
|
|
|
1
|
-
import { simulateCore,
|
|
2
|
-
import { createLogger, executeCommand } from '../../core';
|
|
1
|
+
import { simulateCore, formatSimulationResult } from './simulator.js';
|
|
2
|
+
import { createCommandLogger, createLogger, executeCommand, getErrorMessage, buildCommonDockerArgs, } from '../../core/index.js';
|
|
3
|
+
import { loadJsonFromSource } from '../../config/index.js';
|
|
3
4
|
/**
|
|
4
5
|
* CLI command handler for simulate command
|
|
5
6
|
*/
|
|
6
7
|
export async function simulateCommand(options) {
|
|
7
|
-
const logger =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
});
|
|
12
|
-
// Build Docker args - file path as first positional arg
|
|
13
|
-
const dockerArgs = [options.config];
|
|
8
|
+
const logger = createCommandLogger(options);
|
|
9
|
+
// Build Docker args - start with common flags
|
|
10
|
+
const dockerArgs = buildCommonDockerArgs(options);
|
|
11
|
+
// Add simulate-specific flag
|
|
14
12
|
if (options.event)
|
|
15
13
|
dockerArgs.push('--event', options.event);
|
|
16
|
-
if (options.json)
|
|
17
|
-
dockerArgs.push('--json');
|
|
18
|
-
if (options.verbose)
|
|
19
|
-
dockerArgs.push('--verbose');
|
|
20
|
-
if (options.silent)
|
|
21
|
-
dockerArgs.push('--silent');
|
|
22
14
|
await executeCommand(async () => {
|
|
23
15
|
const startTime = Date.now();
|
|
24
16
|
try {
|
|
25
|
-
//
|
|
26
|
-
const event =
|
|
17
|
+
// Load event from inline JSON, file path, or URL
|
|
18
|
+
const event = await loadJsonFromSource(options.event, {
|
|
19
|
+
name: 'event',
|
|
20
|
+
});
|
|
27
21
|
// Execute simulation
|
|
28
22
|
const result = await simulateCore(options.config, event, {
|
|
29
23
|
json: options.json,
|
|
@@ -47,7 +41,7 @@ export async function simulateCommand(options) {
|
|
|
47
41
|
}
|
|
48
42
|
}
|
|
49
43
|
catch (error) {
|
|
50
|
-
const errorMessage =
|
|
44
|
+
const errorMessage = getErrorMessage(error);
|
|
51
45
|
if (options.json) {
|
|
52
46
|
// JSON error output - create output logger that always logs
|
|
53
47
|
const outputLogger = createLogger({ silent: false, json: false });
|
|
@@ -116,6 +110,6 @@ export async function simulate(configOrPath, event, options = {}) {
|
|
|
116
110
|
});
|
|
117
111
|
}
|
|
118
112
|
// Re-export types and utilities for testing
|
|
119
|
-
export * from './types';
|
|
120
|
-
export * from './simulator';
|
|
113
|
+
export * from './types.js';
|
|
114
|
+
export * from './simulator.js';
|
|
121
115
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/simulate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/simulate/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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 type { Elb } from '@walkeros/core';
|
|
8
|
+
import type { CallTracker, ApiCall } from './tracker.js';
|
|
9
|
+
export interface ExecutionResult {
|
|
10
|
+
collector: unknown;
|
|
11
|
+
elb: unknown;
|
|
12
|
+
elbResult: Elb.PushResult | undefined;
|
|
13
|
+
usage: Record<string, ApiCall[]>;
|
|
14
|
+
duration: number;
|
|
15
|
+
}
|
|
16
|
+
interface DestinationEnv {
|
|
17
|
+
init?: Record<string, unknown>;
|
|
18
|
+
push: Record<string, unknown>;
|
|
19
|
+
simulation?: string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Execute production IIFE bundle in JSDOM with env-based mocking
|
|
23
|
+
*
|
|
24
|
+
* Main orchestration function that:
|
|
25
|
+
* 1. Creates JSDOM virtual DOM
|
|
26
|
+
* 2. Builds sandbox from dynamically loaded envs
|
|
27
|
+
* 3. Executes IIFE in JSDOM
|
|
28
|
+
* 4. Waits for window.collector/elb assignment
|
|
29
|
+
* 5. Runs event through elb
|
|
30
|
+
* 6. Returns tracked API calls
|
|
31
|
+
*/
|
|
32
|
+
export declare function executeInJSDOM(bundlePath: string, destinations: Record<string, unknown>, event: {
|
|
33
|
+
name: string;
|
|
34
|
+
data?: unknown;
|
|
35
|
+
}, tracker: CallTracker, envs: Record<string, DestinationEnv>, timeout?: number): Promise<ExecutionResult>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=jsdom-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsdom-executor.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/jsdom-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AA2FD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EACvC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EACpC,OAAO,GAAE,MAAc,GACtB,OAAO,CAAC,eAAe,CAAC,CAsE1B"}
|