@walkeros/cli 0.4.0 → 0.4.2
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 +23 -0
- package/README.md +112 -42
- 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 +176 -166
- package/dist/__tests__/bundle/bundler.test.js.map +1 -1
- package/dist/__tests__/bundle/programmatic.test.js +77 -54
- 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-e2e.test.js +1 -1
- package/dist/__tests__/cli-e2e.test.js.map +1 -1
- package/dist/__tests__/cli.test.js +60 -117
- package/dist/__tests__/cli.test.js.map +1 -1
- package/dist/__tests__/config-loader.test.d.ts +1 -1
- package/dist/__tests__/config-loader.test.js +234 -212
- package/dist/__tests__/config-loader.test.js.map +1 -1
- package/dist/__tests__/core/build-cache.test.d.ts +2 -0
- package/dist/__tests__/core/build-cache.test.d.ts.map +1 -0
- package/dist/__tests__/core/build-cache.test.js +55 -0
- package/dist/__tests__/core/build-cache.test.js.map +1 -0
- package/dist/__tests__/core/cache-utils.test.d.ts +2 -0
- package/dist/__tests__/core/cache-utils.test.d.ts.map +1 -0
- package/dist/__tests__/core/cache-utils.test.js +70 -0
- package/dist/__tests__/core/cache-utils.test.js.map +1 -0
- 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 +54 -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__/simulate/node-executor.test.d.ts +5 -0
- package/dist/__tests__/simulate/node-executor.test.d.ts.map +1 -0
- package/dist/__tests__/simulate/node-executor.test.js +25 -0
- package/dist/__tests__/simulate/node-executor.test.js.map +1 -0
- package/dist/__tests__/simulate/server-simulate.integration.test.d.ts +5 -0
- package/dist/__tests__/simulate/server-simulate.integration.test.d.ts.map +1 -0
- package/dist/__tests__/simulate/server-simulate.integration.test.js +59 -0
- package/dist/__tests__/simulate/server-simulate.integration.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 +65 -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 +156 -54
- package/dist/commands/bundle/bundler.js.map +1 -1
- package/dist/commands/bundle/index.d.ts +17 -11
- package/dist/commands/bundle/index.d.ts.map +1 -1
- package/dist/commands/bundle/index.js +53 -53
- package/dist/commands/bundle/index.js.map +1 -1
- package/dist/commands/bundle/package-manager.d.ts +3 -2
- package/dist/commands/bundle/package-manager.d.ts.map +1 -1
- package/dist/commands/bundle/package-manager.js +34 -7
- package/dist/commands/bundle/package-manager.js.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 +2 -2
- package/dist/commands/bundle/template-engine.js.map +1 -1
- package/dist/commands/cache.d.ts +3 -0
- package/dist/commands/cache.d.ts.map +1 -0
- package/dist/commands/cache.js +44 -0
- package/dist/commands/cache.js.map +1 -0
- 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 +257 -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 +15 -16
- 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 +29 -0
- package/dist/commands/run/utils.d.ts.map +1 -0
- package/dist/commands/run/utils.js +52 -0
- package/dist/commands/run/utils.js.map +1 -0
- package/dist/commands/run/validators.d.ts +9 -5
- package/dist/commands/run/validators.d.ts.map +1 -1
- package/dist/commands/run/validators.js +15 -12
- 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 +4 -3
- package/dist/commands/simulate/index.d.ts.map +1 -1
- package/dist/commands/simulate/index.js +11 -19
- package/dist/commands/simulate/index.js.map +1 -1
- package/dist/commands/simulate/jsdom-executor.d.ts +13 -8
- package/dist/commands/simulate/jsdom-executor.d.ts.map +1 -1
- package/dist/commands/simulate/jsdom-executor.js +26 -49
- package/dist/commands/simulate/jsdom-executor.js.map +1 -1
- package/dist/commands/simulate/node-executor.d.ts +28 -0
- package/dist/commands/simulate/node-executor.d.ts.map +1 -0
- package/dist/commands/simulate/node-executor.js +94 -0
- package/dist/commands/simulate/node-executor.js.map +1 -0
- package/dist/commands/simulate/simulator.d.ts +1 -1
- package/dist/commands/simulate/simulator.d.ts.map +1 -1
- package/dist/commands/simulate/simulator.js +44 -36
- 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/build-defaults.d.ts +49 -0
- package/dist/config/build-defaults.d.ts.map +1 -0
- package/dist/config/build-defaults.js +72 -0
- package/dist/config/build-defaults.js.map +1 -0
- package/dist/config/index.d.ts +8 -9
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +7 -8
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +35 -28
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +108 -89
- package/dist/config/loader.js.map +1 -1
- package/dist/config/utils.d.ts.map +1 -1
- package/dist/config/utils.js +3 -2
- package/dist/config/utils.js.map +1 -1
- package/dist/config/validators.d.ts +36 -7
- package/dist/config/validators.d.ts.map +1 -1
- package/dist/config/validators.js +61 -21
- package/dist/config/validators.js.map +1 -1
- package/dist/core/asset-resolver.d.ts +8 -15
- package/dist/core/asset-resolver.d.ts.map +1 -1
- package/dist/core/asset-resolver.js +30 -30
- package/dist/core/asset-resolver.js.map +1 -1
- package/dist/core/build-cache.d.ts +23 -0
- package/dist/core/build-cache.d.ts.map +1 -0
- package/dist/core/build-cache.js +43 -0
- package/dist/core/build-cache.js.map +1 -0
- package/dist/core/cache-utils.d.ts +27 -0
- package/dist/core/cache-utils.d.ts.map +1 -0
- package/dist/core/cache-utils.js +60 -0
- package/dist/core/cache-utils.js.map +1 -0
- package/dist/core/docker.d.ts +17 -1
- package/dist/core/docker.d.ts.map +1 -1
- package/dist/core/docker.js +30 -26
- 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 +9 -6
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +9 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/local-packages.d.ts +19 -0
- package/dist/core/local-packages.d.ts.map +1 -0
- package/dist/core/local-packages.js +60 -0
- package/dist/core/local-packages.js.map +1 -0
- 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/examples/.npm-cache/content-v2/sha512/0d/2d/7581c288670eaf8538ddd9df145b78756ce3be0791c6e0b9cd33429b3bae894525b9bda287a3cedffbcdd2c7b3107bafc03f2b0367eea489eee1cc042abb +1 -0
- package/dist/examples/.npm-cache/content-v2/sha512/12/20/bc4f5acca143809f7e07da1fdafb38137d93243de4d5b403e6e10b92d0d3a6e51eab24fe9dbc9d3ed1cd72e8f7a406085e99c422bb2c7d1166cf9f1f564e +0 -0
- package/dist/examples/.npm-cache/content-v2/sha512/22/ee/fb2695b01871c1d36946bdcfb49f1b520a57200d0a0b221b1e7d5f047ab38a8b2ab0e5f0e25a00acde1f3f2f9d24430a18f1092d438bc1a9e9891cc45f75 +0 -0
- package/dist/examples/.npm-cache/content-v2/sha512/24/89/da1ce6a61bca6de7e132f241a675c01c83738bf6b78af25b5cce01d3030361332b3fe938571e2b721f1555da9ddf930fdcf8c02f0471556071590e68cc09 +0 -0
- package/dist/examples/.npm-cache/content-v2/sha512/47/fd/c6be997da99228c3e279b95d4a46d6913947078a178f54ac71795a159f3513b1483232f4c2d0a1f403178bf9f96bb19615de32a9e2133e949880c6bc15e2 +0 -0
- package/dist/examples/.npm-cache/content-v2/sha512/4b/1c/c1cb7f8b32102071a89fef97158daa32080ebaedfbbd596880d2213d84e305abc76d2a95a412ded55c1c3d487adcb1ceff87fc2c85d7e2856ebd9d3f16f3 +0 -0
- package/dist/examples/.npm-cache/content-v2/sha512/6e/53/ff864769671f44f39d8a3bf904cd646535b745cc4824a8bb3189193b474678049f43b5178ba15cad7f0289046105e70f1565afc84e907120b35a466690fd +1 -0
- package/dist/examples/.npm-cache/content-v2/sha512/70/4c/4c8837d446965c5551b4ea527e95fa011744fb727581d82cf35bb5599ea0b57d18baa490f7af93ef9a16e8e45e5c0802737da20575f4056a4a5c9a3cd288 +0 -0
- package/dist/examples/.npm-cache/content-v2/sha512/96/ad/05de3bbb12d7de8ea353f962bdaea7d2eb44f707f2973462a6635daf537c67b46cca7764fed7d464fe62152c3f783a07aba1ceb35e09ad446bff05a4b466 +1 -0
- package/dist/examples/.npm-cache/content-v2/sha512/b5/20/52dde94e6cef7170f6089c64a4843e57be18be450d956f4e455905aed047ae6a368451c93035e6ac3ee59576b600f03f815afba0836b3a16e10a9aaca4ba +1 -0
- package/dist/examples/.npm-cache/content-v2/sha512/c7/a9/d166a1c39f97df312c59261319ba1cf9aac178bda0a0cb697d5ddd78bd8dd38ef1bf40017bcc8633c2049896c2d70696d9bff9280851f270792ff38bb3a0 +1 -0
- package/dist/examples/.npm-cache/content-v2/sha512/e0/d0/8c14083b633e6adbd3c6a93da5fc0f6bbd456c5512ef276920bedd8d85d551052adff992de977aff326616a211aaa2d6ddcc801149e9b7f914f566359b6a +1 -0
- package/dist/examples/.npm-cache/content-v2/sha512/e7/c5/06ad3fd79ac4f1031fe0b16ea5e54e232ca397bbcd7592c679021cbfb027276099f8c848f3f7a7691f0102ad53aa64f9141e61d729b037a678bd60440d17 +1 -0
- package/dist/examples/.npm-cache/content-v2/sha512/f3/28/d5d32329604ed7d471a4949105daa2cc98858cf24f45b0b97c41d0eb0d5a9fe7bf1f69c792161cc6693e4fc1b52e886ac41875ebfb8fe47fafe417ca3e6e +0 -0
- package/dist/examples/.npm-cache/index-v5/04/5a/2b5d7a7c407d85d746baa0f5c9388a333e35a717a8a0a81943daa6cb1364 +3 -0
- package/dist/examples/.npm-cache/index-v5/12/9a/eba560cbace295d8ee04cf283015377bd77b379e70968fb6bc407c7fc410 +15 -0
- package/dist/examples/.npm-cache/index-v5/2f/a2/7b047564b0ee21ac835ec609e89153dd6549be554d098584d5bfd19fe043 +15 -0
- package/dist/examples/.npm-cache/index-v5/32/8e/322d58dd8d1e000be248ada51385bf96288e56039de9feec1a4c6a467653 +3 -0
- package/dist/examples/.npm-cache/index-v5/57/93/d1d7cd1402e3e26468db03f2870822bb2c9018a506cdfb3b405f38cd3e1c +3 -0
- package/dist/examples/.npm-cache/index-v5/5d/f8/0a1f4fa7149e4ff33e09eb6aea41ac8d1730c868a5d3ace91f762698acff +3 -0
- package/dist/examples/.npm-cache/index-v5/69/a4/a92c72d838259b051cdf8e0acfb2bc680b6d4cfc642314a7836c3f7b2c50 +15 -0
- package/dist/examples/.npm-cache/index-v5/71/31/6da3423bb203f3de5eb16c942431073f89be2cfcb40058ec91dcb5ce0abc +15 -0
- package/dist/examples/.npm-cache/index-v5/7b/94/72b6bffa050d9ef52a558dd220663695bc606f756be0dfa196ef4f3913ba +3 -0
- package/dist/examples/.npm-cache/index-v5/85/9e/99e97fdd562517e56285337db91d1a8f2f416b8d631cf4d7d754fa671299 +15 -0
- package/dist/examples/.npm-cache/index-v5/92/4c/9416ada81a9b3c679539fd1ab53f8de3d41ff268f35eba7a194389a85b06 +3 -0
- package/dist/examples/.npm-cache/index-v5/c1/5a/13df76b218deed8a6ef12961116af5183db98c53fad1b922fd9edc075247 +3 -0
- package/dist/examples/.npm-cache/index-v5/cb/11/253c55410a8ab7c4a9ea9d6e1bf8ef1450a581da64c478074dfd82c8bff6 +3 -0
- package/dist/examples/.npm-cache/index-v5/d5/ae/b57fad3a62b5ba2dbdf24b042a9e7b70820f3db00e5a630f02e1fea020dc +3 -0
- package/dist/examples/.npm-cache/index-v5/d6/32/2f620f83c7d14451de98de8298c2408e05a16cc0829bd16c891ac19d7a67 +3 -0
- package/dist/examples/.npm-cache/index-v5/dd/b5/01dc7a3cd8b6a03a69aee9af500d51ae19cb0aa12631a4aafd152148b8e5 +15 -0
- package/dist/examples/.npm-cache/index-v5/e0/cf/6b862c15d74630d3871cd813d305210ab741311deb10baf8813014e0bc30 +3 -0
- package/dist/examples/.npm-cache/index-v5/e2/be/e880ccd35950a814d3c1dded34d3938ac61b15a195321dc51357f801aad4 +15 -0
- package/dist/examples/.npm-cache/index-v5/e5/1f/f4affe0b392cd03288f23cc03abcb274ff11a2c8f8965299de681914abb2 +3 -0
- package/dist/examples/.npm-cache/index-v5/f3/5b/9ebe450958ff0d7cc44ab0a00080cb8a3ff1389744b5eab5f97b68a6a6af +3 -0
- package/dist/examples/.npm-cache/index-v5/fb/c1/0de405e902866d53e7c30cf36a97dc2578838622b261816f44dc377c9a80 +3 -0
- package/dist/examples/README.md +343 -0
- package/dist/examples/event.json +53 -0
- package/dist/examples/flow-order-complete.json +68 -0
- package/dist/examples/flow-simple.json +32 -0
- package/dist/examples/flow.json +82 -0
- package/dist/examples/server-collect.json +60 -0
- package/dist/examples/server-collect.mjs +13540 -0
- package/dist/examples/test.html +43 -0
- package/dist/examples/web-serve.js +25503 -0
- package/dist/examples/web-serve.json +74 -0
- package/dist/index.d.ts +98 -200
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2783 -120
- package/dist/index.js.map +1 -1
- package/dist/schemas/index.d.ts +9 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +9 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/primitives.d.ts +37 -0
- package/dist/schemas/primitives.d.ts.map +1 -0
- package/dist/schemas/primitives.js +43 -0
- package/dist/schemas/primitives.js.map +1 -0
- package/dist/schemas/run.d.ts +23 -0
- package/dist/schemas/run.d.ts.map +1 -0
- package/dist/schemas/run.js +20 -0
- package/dist/schemas/run.js.map +1 -0
- package/dist/templates/server.hbs +29 -0
- package/dist/templates/web.hbs +45 -0
- package/dist/types/bundle.d.ts +68 -190
- package/dist/types/bundle.d.ts.map +1 -1
- package/dist/types/bundle.js +2 -2
- 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/dist/walker.js +1 -0
- package/examples/README.md +42 -29
- package/examples/event.json +1 -1
- package/examples/flow-order-complete.json +57 -57
- package/examples/flow-simple.json +25 -25
- package/examples/flow.json +69 -69
- package/examples/server-collect.json +51 -44
- package/examples/server-collect.mjs +1360 -1190
- package/examples/web-serve.js +25469 -11
- package/examples/web-serve.json +62 -63
- package/package.json +3 -2
- 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/dist/config/defaults.d.ts +0 -33
- package/dist/config/defaults.d.ts.map +0 -1
- package/dist/config/defaults.js +0 -69
- package/dist/config/defaults.js.map +0 -1
- package/dist/config/parser.d.ts +0 -64
- package/dist/config/parser.d.ts.map +0 -1
- package/dist/config/parser.js +0 -151
- package/dist/config/parser.js.map +0 -1
|
@@ -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,29 @@
|
|
|
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
|
+
* Creates bundle in .tmp/ directory relative to config file (not /tmp)
|
|
10
|
+
* so Node.js module resolution finds node_modules.
|
|
11
|
+
*
|
|
12
|
+
* @param configPath - Path to the JSON configuration file
|
|
13
|
+
* @param options - Bundle options
|
|
14
|
+
* @param options.verbose - Enable verbose logging
|
|
15
|
+
* @param options.silent - Suppress output
|
|
16
|
+
* @returns Path to the bundled output file
|
|
17
|
+
*/
|
|
18
|
+
export declare function prepareBundleForRun(configPath: string, options: {
|
|
19
|
+
verbose?: boolean;
|
|
20
|
+
silent?: boolean;
|
|
21
|
+
}): Promise<string>;
|
|
22
|
+
/**
|
|
23
|
+
* Checks if a config file is pre-built or needs bundling
|
|
24
|
+
*
|
|
25
|
+
* @param configPath - Path to configuration file
|
|
26
|
+
* @returns True if file is pre-built (js/mjs/cjs), false if needs bundling (json)
|
|
27
|
+
*/
|
|
28
|
+
export declare function isPreBuiltConfig(configPath: string): boolean;
|
|
29
|
+
//# 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;AAMH;;;;;;;;;;;GAWG;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,CA0BjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAM5D"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run Command Utilities
|
|
3
|
+
*
|
|
4
|
+
* Shared utilities for the run command
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import fs from 'fs-extra';
|
|
8
|
+
import { bundle } from '../bundle/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* Prepares a JSON config file for execution by bundling it to a temporary location.
|
|
11
|
+
*
|
|
12
|
+
* Creates bundle in .tmp/ directory relative to config file (not /tmp)
|
|
13
|
+
* so Node.js module resolution finds node_modules.
|
|
14
|
+
*
|
|
15
|
+
* @param configPath - Path to the JSON configuration file
|
|
16
|
+
* @param options - Bundle options
|
|
17
|
+
* @param options.verbose - Enable verbose logging
|
|
18
|
+
* @param options.silent - Suppress output
|
|
19
|
+
* @returns Path to the bundled output file
|
|
20
|
+
*/
|
|
21
|
+
export async function prepareBundleForRun(configPath, options) {
|
|
22
|
+
// Create temp directory relative to config (ensures node_modules is findable)
|
|
23
|
+
const configDir = path.dirname(path.resolve(configPath));
|
|
24
|
+
const tempDir = path.join(configDir, '.tmp', `run-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`);
|
|
25
|
+
await fs.ensureDir(tempDir);
|
|
26
|
+
// Generate output path in temp directory
|
|
27
|
+
const tempPath = path.join(tempDir, 'bundle.mjs');
|
|
28
|
+
// Bundle with proper output override
|
|
29
|
+
await bundle(configPath, {
|
|
30
|
+
cache: true,
|
|
31
|
+
verbose: options.verbose,
|
|
32
|
+
silent: options.silent,
|
|
33
|
+
buildOverrides: {
|
|
34
|
+
output: tempPath,
|
|
35
|
+
format: 'esm',
|
|
36
|
+
platform: 'node',
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
return tempPath;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Checks if a config file is pre-built or needs bundling
|
|
43
|
+
*
|
|
44
|
+
* @param configPath - Path to configuration file
|
|
45
|
+
* @returns True if file is pre-built (js/mjs/cjs), false if needs bundling (json)
|
|
46
|
+
*/
|
|
47
|
+
export function isPreBuiltConfig(configPath) {
|
|
48
|
+
return (configPath.endsWith('.mjs') ||
|
|
49
|
+
configPath.endsWith('.js') ||
|
|
50
|
+
configPath.endsWith('.cjs'));
|
|
51
|
+
}
|
|
52
|
+
//# 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,UAAU,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,OAGC;IAED,8EAA8E;IAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,SAAS,EACT,MAAM,EACN,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAC9D,CAAC;IACF,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAE5B,yCAAyC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAElD,qCAAqC;IACrC,MAAM,MAAM,CAAC,UAAU,EAAE;QACvB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,cAAc,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,MAAM;SACjB;KACF,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,18 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Run Command Validators
|
|
3
3
|
*
|
|
4
|
-
* Validation logic for run command inputs
|
|
4
|
+
* Validation logic for run command inputs.
|
|
5
|
+
* Uses Zod schemas for type-safe validation.
|
|
5
6
|
*/
|
|
6
|
-
import type
|
|
7
|
+
import { type RunMode } from '../../schemas/index.js';
|
|
7
8
|
/**
|
|
8
|
-
* Validates run mode
|
|
9
|
+
* Validates run mode using Zod schema.
|
|
9
10
|
*
|
|
10
11
|
* @param mode - Mode to validate
|
|
11
12
|
* @throws Error if mode is invalid
|
|
12
13
|
*/
|
|
13
14
|
export declare function validateMode(mode: string): asserts mode is RunMode;
|
|
14
15
|
/**
|
|
15
|
-
* Validates flow file exists
|
|
16
|
+
* Validates flow file exists.
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
* File existence cannot be validated by Zod, so this remains a custom check.
|
|
16
20
|
*
|
|
17
21
|
* @param filePath - Path to flow configuration file (bare name, relative, or absolute)
|
|
18
22
|
* @returns Absolute path to flow file
|
|
@@ -20,7 +24,7 @@ export declare function validateMode(mode: string): asserts mode is RunMode;
|
|
|
20
24
|
*/
|
|
21
25
|
export declare function validateFlowFile(filePath: string): string;
|
|
22
26
|
/**
|
|
23
|
-
* Validates port number
|
|
27
|
+
* Validates port number using Zod schema.
|
|
24
28
|
*
|
|
25
29
|
* @param port - Port number to validate
|
|
26
30
|
* @throws Error if port is invalid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAGL,KAAK,OAAO,EACb,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CASlE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAazD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAS/C"}
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Run Command Validators
|
|
3
3
|
*
|
|
4
|
-
* Validation logic for run command inputs
|
|
4
|
+
* Validation logic for run command inputs.
|
|
5
|
+
* Uses Zod schemas for type-safe validation.
|
|
5
6
|
*/
|
|
6
7
|
import { existsSync } from 'fs';
|
|
7
|
-
import { resolveAsset } from '../../core/asset-resolver';
|
|
8
|
+
import { resolveAsset } from '../../core/asset-resolver.js';
|
|
9
|
+
import { RunModeSchema, PortSchema, } from '../../schemas/index.js';
|
|
8
10
|
/**
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
const VALID_MODES = ['collect', 'serve'];
|
|
12
|
-
/**
|
|
13
|
-
* Validates run mode
|
|
11
|
+
* Validates run mode using Zod schema.
|
|
14
12
|
*
|
|
15
13
|
* @param mode - Mode to validate
|
|
16
14
|
* @throws Error if mode is invalid
|
|
17
15
|
*/
|
|
18
16
|
export function validateMode(mode) {
|
|
19
|
-
|
|
17
|
+
const result = RunModeSchema.safeParse(mode);
|
|
18
|
+
if (!result.success) {
|
|
20
19
|
throw new Error(`Invalid mode: "${mode}"\n` +
|
|
21
|
-
` Valid modes:
|
|
20
|
+
` Valid modes: collect, serve\n` +
|
|
22
21
|
` Example: walkeros run collect ./flow.json`);
|
|
23
22
|
}
|
|
24
23
|
}
|
|
25
24
|
/**
|
|
26
|
-
* Validates flow file exists
|
|
25
|
+
* Validates flow file exists.
|
|
26
|
+
*
|
|
27
|
+
* @remarks
|
|
28
|
+
* File existence cannot be validated by Zod, so this remains a custom check.
|
|
27
29
|
*
|
|
28
30
|
* @param filePath - Path to flow configuration file (bare name, relative, or absolute)
|
|
29
31
|
* @returns Absolute path to flow file
|
|
@@ -40,13 +42,14 @@ export function validateFlowFile(filePath) {
|
|
|
40
42
|
return absolutePath;
|
|
41
43
|
}
|
|
42
44
|
/**
|
|
43
|
-
* Validates port number
|
|
45
|
+
* Validates port number using Zod schema.
|
|
44
46
|
*
|
|
45
47
|
* @param port - Port number to validate
|
|
46
48
|
* @throws Error if port is invalid
|
|
47
49
|
*/
|
|
48
50
|
export function validatePort(port) {
|
|
49
|
-
|
|
51
|
+
const result = PortSchema.safeParse(port);
|
|
52
|
+
if (!result.success) {
|
|
50
53
|
throw new Error(`Invalid port: ${port}\n` +
|
|
51
54
|
` Port must be an integer between 1 and 65535\n` +
|
|
52
55
|
` Example: --port 8080`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EACL,aAAa,EACb,UAAU,GAEX,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,KAAK;YACzB,kCAAkC;YAClC,8CAA8C,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;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,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,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,7 @@ 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
|
+
export { executeInNode } from './node-executor.js';
|
|
47
48
|
//# 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;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,25 +1,16 @@
|
|
|
1
|
-
import { simulateCore, formatSimulationResult } from './simulator';
|
|
2
|
-
import { createLogger, executeCommand } from '../../core';
|
|
3
|
-
import { loadJsonFromSource } from '../../config';
|
|
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';
|
|
4
4
|
/**
|
|
5
5
|
* CLI command handler for simulate command
|
|
6
6
|
*/
|
|
7
7
|
export async function simulateCommand(options) {
|
|
8
|
-
const logger =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
});
|
|
13
|
-
// Build Docker args - file path as first positional arg
|
|
14
|
-
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
|
|
15
12
|
if (options.event)
|
|
16
13
|
dockerArgs.push('--event', options.event);
|
|
17
|
-
if (options.json)
|
|
18
|
-
dockerArgs.push('--json');
|
|
19
|
-
if (options.verbose)
|
|
20
|
-
dockerArgs.push('--verbose');
|
|
21
|
-
if (options.silent)
|
|
22
|
-
dockerArgs.push('--silent');
|
|
23
14
|
await executeCommand(async () => {
|
|
24
15
|
const startTime = Date.now();
|
|
25
16
|
try {
|
|
@@ -50,7 +41,7 @@ export async function simulateCommand(options) {
|
|
|
50
41
|
}
|
|
51
42
|
}
|
|
52
43
|
catch (error) {
|
|
53
|
-
const errorMessage =
|
|
44
|
+
const errorMessage = getErrorMessage(error);
|
|
54
45
|
if (options.json) {
|
|
55
46
|
// JSON error output - create output logger that always logs
|
|
56
47
|
const outputLogger = createLogger({ silent: false, json: false });
|
|
@@ -119,6 +110,7 @@ export async function simulate(configOrPath, event, options = {}) {
|
|
|
119
110
|
});
|
|
120
111
|
}
|
|
121
112
|
// Re-export types and utilities for testing
|
|
122
|
-
export * from './types';
|
|
123
|
-
export * from './simulator';
|
|
113
|
+
export * from './types.js';
|
|
114
|
+
export * from './simulator.js';
|
|
115
|
+
export { executeInNode } from './node-executor.js';
|
|
124
116
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/simulate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/simulate/index.ts"],"names":[],"mappings":"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"}
|