@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,7 +5,7 @@
|
|
|
5
5
|
* with env-based mocking from destination examples.
|
|
6
6
|
*/
|
|
7
7
|
import type { Elb } from '@walkeros/core';
|
|
8
|
-
import type { CallTracker, ApiCall } from './tracker';
|
|
8
|
+
import type { CallTracker, ApiCall } from './tracker.js';
|
|
9
9
|
export interface ExecutionResult {
|
|
10
10
|
collector: unknown;
|
|
11
11
|
elb: unknown;
|
|
@@ -13,20 +13,25 @@ export interface ExecutionResult {
|
|
|
13
13
|
usage: Record<string, ApiCall[]>;
|
|
14
14
|
duration: number;
|
|
15
15
|
}
|
|
16
|
+
interface DestinationEnv {
|
|
17
|
+
init?: Record<string, unknown>;
|
|
18
|
+
push: Record<string, unknown>;
|
|
19
|
+
simulation?: string[];
|
|
20
|
+
}
|
|
16
21
|
/**
|
|
17
22
|
* Execute production IIFE bundle in JSDOM with env-based mocking
|
|
18
23
|
*
|
|
19
24
|
* Main orchestration function that:
|
|
20
25
|
* 1. Creates JSDOM virtual DOM
|
|
21
|
-
* 2.
|
|
22
|
-
* 3.
|
|
23
|
-
* 4.
|
|
24
|
-
* 5.
|
|
25
|
-
* 6.
|
|
26
|
-
* 7. Returns tracked API calls
|
|
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
|
|
27
31
|
*/
|
|
28
32
|
export declare function executeInJSDOM(bundlePath: string, destinations: Record<string, unknown>, event: {
|
|
29
33
|
name: string;
|
|
30
34
|
data?: unknown;
|
|
31
|
-
}, tracker: CallTracker, timeout?: number): Promise<ExecutionResult>;
|
|
35
|
+
}, tracker: CallTracker, envs: Record<string, DestinationEnv>, timeout?: number): Promise<ExecutionResult>;
|
|
36
|
+
export {};
|
|
32
37
|
//# sourceMappingURL=jsdom-executor.d.ts.map
|
|
@@ -1 +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;
|
|
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"}
|
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { JSDOM, VirtualConsole } from 'jsdom';
|
|
8
8
|
import fs from 'fs-extra';
|
|
9
|
+
import { getErrorMessage } from '../../core/index.js';
|
|
9
10
|
/**
|
|
10
|
-
* Build sandbox from destination-provided
|
|
11
|
+
* Build sandbox from destination-provided envs
|
|
11
12
|
*
|
|
12
|
-
* Merges env mocks from each destination's
|
|
13
|
+
* Merges env mocks from each destination's envs, wrapping
|
|
13
14
|
* specified paths with CallTracker for API call tracking.
|
|
14
15
|
*/
|
|
15
|
-
function
|
|
16
|
+
function buildSandboxFromEnvs(envs, destinations, tracker) {
|
|
16
17
|
// Base browser APIs (not provided by destinations)
|
|
17
18
|
const baseBrowserMocks = {
|
|
18
19
|
Image: class MockImage {
|
|
@@ -30,11 +31,11 @@ function buildSandboxFromExamples(examples, destinations, tracker) {
|
|
|
30
31
|
};
|
|
31
32
|
// Add destination-specific env mocks
|
|
32
33
|
for (const [destKey, destConfig] of Object.entries(destinations)) {
|
|
33
|
-
const
|
|
34
|
-
if (!
|
|
34
|
+
const destEnv = envs[destKey];
|
|
35
|
+
if (!destEnv?.push)
|
|
35
36
|
continue;
|
|
36
|
-
const mockEnv =
|
|
37
|
-
const trackPaths =
|
|
37
|
+
const mockEnv = destEnv.push;
|
|
38
|
+
const trackPaths = destEnv.simulation || [];
|
|
38
39
|
// Use existing CallTracker to wrap env
|
|
39
40
|
const trackedEnv = tracker.wrapEnv(mockEnv, trackPaths.map((p) => `${destKey}:${p}`));
|
|
40
41
|
// Merge window properties
|
|
@@ -77,14 +78,13 @@ function waitForWindowProperty(window, prop, timeout = 5000) {
|
|
|
77
78
|
*
|
|
78
79
|
* Main orchestration function that:
|
|
79
80
|
* 1. Creates JSDOM virtual DOM
|
|
80
|
-
* 2.
|
|
81
|
-
* 3.
|
|
82
|
-
* 4.
|
|
83
|
-
* 5.
|
|
84
|
-
* 6.
|
|
85
|
-
* 7. Returns tracked API calls
|
|
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
86
|
*/
|
|
87
|
-
export async function executeInJSDOM(bundlePath, destinations, event, tracker, timeout = 10000) {
|
|
87
|
+
export async function executeInJSDOM(bundlePath, destinations, event, tracker, envs, timeout = 10000) {
|
|
88
88
|
const start = Date.now();
|
|
89
89
|
// 1. Create JSDOM virtual DOM with console suppression
|
|
90
90
|
const virtualConsole = new VirtualConsole();
|
|
@@ -96,59 +96,36 @@ export async function executeInJSDOM(bundlePath, destinations, event, tracker, t
|
|
|
96
96
|
virtualConsole,
|
|
97
97
|
});
|
|
98
98
|
const { window } = dom;
|
|
99
|
-
// 2.
|
|
100
|
-
const
|
|
101
|
-
// 3. Split bundle into setup (examples) and IIFE parts
|
|
102
|
-
// Look for the IIFE pattern: (async () => {
|
|
103
|
-
const iifeMatch = bundleCode.match(/(\(async\s*\(\)\s*=>\s*\{[\s\S]*\}\)\(\);?)/);
|
|
104
|
-
if (!iifeMatch) {
|
|
105
|
-
throw new Error('Could not find IIFE pattern in bundle');
|
|
106
|
-
}
|
|
107
|
-
const iifeStart = iifeMatch.index;
|
|
108
|
-
const setupPart = bundleCode.substring(0, iifeStart);
|
|
109
|
-
const iifePart = bundleCode.substring(iifeStart);
|
|
110
|
-
// 4. Execute setup part to get examples
|
|
111
|
-
const setupScript = window.document.createElement('script');
|
|
112
|
-
setupScript.textContent = setupPart;
|
|
113
|
-
try {
|
|
114
|
-
window.document.body.appendChild(setupScript);
|
|
115
|
-
}
|
|
116
|
-
catch (error) {
|
|
117
|
-
throw new Error(`Failed to execute bundle setup: ${error instanceof Error ? error.message : String(error)}`);
|
|
118
|
-
}
|
|
119
|
-
// 5. Extract examples from window (should be set by setup part)
|
|
120
|
-
const examples = window.__walkerOS_examples || {};
|
|
121
|
-
// 6. Build sandbox from examples and inject into window
|
|
122
|
-
const sandbox = buildSandboxFromExamples(examples, destinations, tracker);
|
|
99
|
+
// 2. Build sandbox from dynamically loaded envs and inject into window
|
|
100
|
+
const sandbox = buildSandboxFromEnvs(envs, destinations, tracker);
|
|
123
101
|
Object.assign(window, sandbox.window);
|
|
124
102
|
Object.assign(window.document, sandbox.document);
|
|
125
|
-
//
|
|
126
|
-
const
|
|
127
|
-
iifeScript.textContent = iifePart;
|
|
103
|
+
// 3. Load and execute bundle code
|
|
104
|
+
const bundleCode = await fs.readFile(bundlePath, 'utf8');
|
|
128
105
|
try {
|
|
129
|
-
window.
|
|
106
|
+
window.eval(bundleCode);
|
|
130
107
|
}
|
|
131
108
|
catch (error) {
|
|
132
|
-
throw new Error(`
|
|
109
|
+
throw new Error(`Bundle execution failed: ${getErrorMessage(error)}`);
|
|
133
110
|
}
|
|
134
|
-
//
|
|
111
|
+
// 4. Wait for window.collector and window.elb assignments
|
|
135
112
|
try {
|
|
136
113
|
await waitForWindowProperty(window, 'collector', timeout);
|
|
137
114
|
await waitForWindowProperty(window, 'elb', timeout);
|
|
138
115
|
}
|
|
139
116
|
catch (error) {
|
|
140
|
-
throw new Error(`Window property assignment failed: ${
|
|
117
|
+
throw new Error(`Window property assignment failed: ${getErrorMessage(error)}`);
|
|
141
118
|
}
|
|
142
119
|
const { collector, elb } = window;
|
|
143
|
-
//
|
|
120
|
+
// 5. Run event through elb
|
|
144
121
|
let elbResult;
|
|
145
122
|
try {
|
|
146
|
-
elbResult = await elb(event.name, event.data);
|
|
123
|
+
elbResult = (await elb(event.name, event.data));
|
|
147
124
|
}
|
|
148
125
|
catch (error) {
|
|
149
|
-
throw new Error(`Event execution failed: ${
|
|
126
|
+
throw new Error(`Event execution failed: ${getErrorMessage(error)}`);
|
|
150
127
|
}
|
|
151
|
-
//
|
|
128
|
+
// 6. Return results with tracked calls
|
|
152
129
|
return {
|
|
153
130
|
collector,
|
|
154
131
|
elb,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsdom-executor.js","sourceRoot":"","sources":["../../../src/commands/simulate/jsdom-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"jsdom-executor.js","sourceRoot":"","sources":["../../../src/commands/simulate/jsdom-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js-based executor for simulating ESM server bundles
|
|
3
|
+
*
|
|
4
|
+
* Executes server bundles via dynamic import with env-based mocking.
|
|
5
|
+
*/
|
|
6
|
+
import type { Elb } from '@walkeros/core';
|
|
7
|
+
import type { CallTracker, ApiCall } from './tracker.js';
|
|
8
|
+
export interface ExecutionResult {
|
|
9
|
+
collector: unknown;
|
|
10
|
+
elb: unknown;
|
|
11
|
+
elbResult: Elb.PushResult | undefined;
|
|
12
|
+
usage: Record<string, ApiCall[]>;
|
|
13
|
+
duration: number;
|
|
14
|
+
}
|
|
15
|
+
interface DestinationEnv {
|
|
16
|
+
init?: Record<string, unknown>;
|
|
17
|
+
push: Record<string, unknown>;
|
|
18
|
+
simulation?: string[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Execute server ESM bundle in Node.js with env-based mocking
|
|
22
|
+
*/
|
|
23
|
+
export declare function executeInNode(bundlePath: string, destinations: Record<string, unknown>, event: {
|
|
24
|
+
name: string;
|
|
25
|
+
data?: unknown;
|
|
26
|
+
}, tracker: CallTracker, envs: Record<string, DestinationEnv>, timeout?: number): Promise<ExecutionResult>;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=node-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-executor.d.ts","sourceRoot":"","sources":["../../../src/commands/simulate/node-executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,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;AAoDD;;GAEG;AACH,wBAAsB,aAAa,CACjC,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,CA6D1B"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js-based executor for simulating ESM server bundles
|
|
3
|
+
*
|
|
4
|
+
* Executes server bundles via dynamic import with env-based mocking.
|
|
5
|
+
*/
|
|
6
|
+
import { pathToFileURL } from 'url';
|
|
7
|
+
import { getErrorMessage } from '../../core/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Build global mocks from destination-provided envs
|
|
10
|
+
*/
|
|
11
|
+
function buildGlobalMocksFromEnvs(envs, destinations, tracker) {
|
|
12
|
+
const globalMocks = {};
|
|
13
|
+
for (const [destKey] of Object.entries(destinations)) {
|
|
14
|
+
const destEnv = envs[destKey];
|
|
15
|
+
if (!destEnv?.push)
|
|
16
|
+
continue;
|
|
17
|
+
const mockEnv = destEnv.push;
|
|
18
|
+
const trackPaths = destEnv.simulation || [];
|
|
19
|
+
const trackedEnv = tracker.wrapEnv(mockEnv, trackPaths.map((p) => `${destKey}:${p}`));
|
|
20
|
+
Object.assign(globalMocks, trackedEnv);
|
|
21
|
+
}
|
|
22
|
+
return globalMocks;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Inject mocks into global scope and return cleanup function
|
|
26
|
+
*/
|
|
27
|
+
function injectGlobalMocks(mocks) {
|
|
28
|
+
const originalValues = {};
|
|
29
|
+
for (const [key, value] of Object.entries(mocks)) {
|
|
30
|
+
originalValues[key] = globalThis[key];
|
|
31
|
+
globalThis[key] = value;
|
|
32
|
+
}
|
|
33
|
+
return () => {
|
|
34
|
+
for (const [key, value] of Object.entries(originalValues)) {
|
|
35
|
+
if (value === undefined) {
|
|
36
|
+
delete globalThis[key];
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
globalThis[key] = value;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Execute server ESM bundle in Node.js with env-based mocking
|
|
46
|
+
*/
|
|
47
|
+
export async function executeInNode(bundlePath, destinations, event, tracker, envs, timeout = 30000) {
|
|
48
|
+
const start = Date.now();
|
|
49
|
+
const globalMocks = buildGlobalMocksFromEnvs(envs, destinations, tracker);
|
|
50
|
+
const cleanupMocks = injectGlobalMocks(globalMocks);
|
|
51
|
+
try {
|
|
52
|
+
const executeWithTimeout = async () => {
|
|
53
|
+
// Jest has issues with file:// URLs in dynamic imports, use path directly
|
|
54
|
+
// Outside Jest, use file:// URL with cache-busting to prevent module caching
|
|
55
|
+
const importUrl = process.env.JEST_WORKER_ID
|
|
56
|
+
? bundlePath
|
|
57
|
+
: `${pathToFileURL(bundlePath).href}?t=${Date.now()}`;
|
|
58
|
+
const module = await import(importUrl);
|
|
59
|
+
if (!module.default || typeof module.default !== 'function') {
|
|
60
|
+
throw new Error('Bundle does not export default factory function');
|
|
61
|
+
}
|
|
62
|
+
const result = await module.default();
|
|
63
|
+
if (!result || !result.elb || typeof result.elb !== 'function') {
|
|
64
|
+
throw new Error('Factory function did not return valid result with elb');
|
|
65
|
+
}
|
|
66
|
+
const { collector, elb } = result;
|
|
67
|
+
let elbResult;
|
|
68
|
+
try {
|
|
69
|
+
elbResult = (await elb(event.name, event.data));
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
throw new Error(`Event execution failed: ${getErrorMessage(error)}`);
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
collector,
|
|
76
|
+
elb,
|
|
77
|
+
elbResult,
|
|
78
|
+
usage: tracker.getCalls(),
|
|
79
|
+
duration: Date.now() - start,
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
83
|
+
setTimeout(() => reject(new Error(`Server simulation timeout after ${timeout}ms`)), timeout);
|
|
84
|
+
});
|
|
85
|
+
return await Promise.race([executeWithTimeout(), timeoutPromise]);
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
throw new Error(`Node execution failed: ${getErrorMessage(error)}`);
|
|
89
|
+
}
|
|
90
|
+
finally {
|
|
91
|
+
cleanupMocks();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=node-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-executor.js","sourceRoot":"","sources":["../../../src/commands/simulate/node-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAiBA,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,CA6H3B"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import fs from 'fs-extra';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { CallTracker } from './tracker';
|
|
8
|
-
import { executeInJSDOM } from './jsdom-executor';
|
|
3
|
+
import { getPlatform } from '@walkeros/core';
|
|
4
|
+
import { createLogger, getErrorMessage } from '../../core/index.js';
|
|
5
|
+
import { loadJsonConfig, loadBundleConfig, getTempDir, isObject, } from '../../config/index.js';
|
|
6
|
+
import { bundleCore } from '../bundle/bundler.js';
|
|
7
|
+
import { CallTracker } from './tracker.js';
|
|
8
|
+
import { executeInJSDOM } from './jsdom-executor.js';
|
|
9
|
+
import { executeInNode } from './node-executor.js';
|
|
10
|
+
import { loadDestinationEnvs } from './env-loader.js';
|
|
9
11
|
/**
|
|
10
12
|
* Generate a unique ID for temp files
|
|
11
13
|
*/
|
|
@@ -27,7 +29,7 @@ export async function simulateCore(configPath, event, options = {}) {
|
|
|
27
29
|
logger.info('📦 Loading bundle configuration...');
|
|
28
30
|
const fullConfigPath = path.resolve(configPath);
|
|
29
31
|
const rawConfig = await loadJsonConfig(fullConfigPath);
|
|
30
|
-
|
|
32
|
+
loadBundleConfig(rawConfig, { configPath: fullConfigPath });
|
|
31
33
|
// Execute simulation
|
|
32
34
|
logger.info(`🚀 Executing simulation with event: ${JSON.stringify(event)}`);
|
|
33
35
|
const result = await executeSimulation(event, fullConfigPath);
|
|
@@ -41,7 +43,7 @@ export async function simulateCore(configPath, event, options = {}) {
|
|
|
41
43
|
return result;
|
|
42
44
|
}
|
|
43
45
|
catch (error) {
|
|
44
|
-
const errorMessage =
|
|
46
|
+
const errorMessage = getErrorMessage(error);
|
|
45
47
|
logger.error(`💥 Simulation error: ${errorMessage}`);
|
|
46
48
|
return {
|
|
47
49
|
success: false,
|
|
@@ -87,41 +89,47 @@ export async function executeSimulation(event, configPath) {
|
|
|
87
89
|
await fs.ensureDir(tempDir);
|
|
88
90
|
// 1. Load config
|
|
89
91
|
const rawConfig = await loadJsonConfig(configPath);
|
|
90
|
-
const { flowConfig, buildOptions } =
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
packageConfig !== null &&
|
|
97
|
-
'version' in packageConfig &&
|
|
98
|
-
typeof packageConfig.version === 'string'
|
|
99
|
-
? packageConfig.version
|
|
100
|
-
: undefined) || 'latest',
|
|
101
|
-
}));
|
|
102
|
-
const packagePaths = await downloadPackages(packagesArray, tempDir, // downloadPackages will add 'node_modules' subdirectory itself
|
|
103
|
-
createLogger({ silent: true }), buildOptions.cache);
|
|
104
|
-
// 3. Create tracker
|
|
92
|
+
const { flowConfig, buildOptions } = loadBundleConfig(rawConfig, {
|
|
93
|
+
configPath,
|
|
94
|
+
});
|
|
95
|
+
// Detect platform from flowConfig
|
|
96
|
+
const platform = getPlatform(flowConfig);
|
|
97
|
+
// 2. Create tracker
|
|
105
98
|
const tracker = new CallTracker();
|
|
106
|
-
//
|
|
107
|
-
const tempOutput = path.join(tempDir, `simulation-bundle-${generateId()}
|
|
99
|
+
// 3. Create temporary bundle
|
|
100
|
+
const tempOutput = path.join(tempDir, `simulation-bundle-${generateId()}.${platform === 'web' ? 'js' : 'mjs'}`);
|
|
108
101
|
const destinations = flowConfig.destinations;
|
|
109
|
-
// Create build options for simulation -
|
|
102
|
+
// Create build options for simulation - platform-aware bundling
|
|
110
103
|
const simulationBuildOptions = {
|
|
111
104
|
...buildOptions,
|
|
112
|
-
code: buildOptions.code || '',
|
|
105
|
+
code: buildOptions.code || '',
|
|
113
106
|
output: tempOutput,
|
|
114
|
-
tempDir,
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
107
|
+
tempDir,
|
|
108
|
+
...(platform === 'web'
|
|
109
|
+
? {
|
|
110
|
+
format: 'iife',
|
|
111
|
+
platform: 'browser',
|
|
112
|
+
windowCollector: 'collector',
|
|
113
|
+
windowElb: 'elb',
|
|
114
|
+
}
|
|
115
|
+
: {
|
|
116
|
+
format: 'esm',
|
|
117
|
+
platform: 'node',
|
|
118
|
+
}),
|
|
119
119
|
};
|
|
120
|
-
//
|
|
120
|
+
// 4. Bundle (downloads packages internally)
|
|
121
121
|
await bundleCore(flowConfig, simulationBuildOptions, createLogger({ silent: true }), false);
|
|
122
122
|
bundlePath = tempOutput;
|
|
123
|
-
//
|
|
124
|
-
const
|
|
123
|
+
// 5. Load env examples dynamically from destination packages
|
|
124
|
+
const envs = await loadDestinationEnvs(destinations || {});
|
|
125
|
+
// 6. Execute based on platform
|
|
126
|
+
let result;
|
|
127
|
+
if (platform === 'web') {
|
|
128
|
+
result = await executeInJSDOM(tempOutput, destinations || {}, typedEvent, tracker, envs, 10000);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
result = await executeInNode(tempOutput, destinations || {}, typedEvent, tracker, envs, 30000);
|
|
132
|
+
}
|
|
125
133
|
const elbResult = result.elbResult;
|
|
126
134
|
const usage = result.usage;
|
|
127
135
|
const duration = Date.now() - startTime;
|
|
@@ -137,7 +145,7 @@ export async function executeSimulation(event, configPath) {
|
|
|
137
145
|
const duration = Date.now() - startTime;
|
|
138
146
|
return {
|
|
139
147
|
success: false,
|
|
140
|
-
error:
|
|
148
|
+
error: getErrorMessage(error),
|
|
141
149
|
duration,
|
|
142
150
|
};
|
|
143
151
|
}
|
|
@@ -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,
|
|
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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static Build Defaults
|
|
3
|
+
*
|
|
4
|
+
* Platform-specific build defaults for CLI bundling.
|
|
5
|
+
* Build options are CLI concerns, separate from Flow configuration.
|
|
6
|
+
*/
|
|
7
|
+
import type { BuildOptions } from '../types/bundle.js';
|
|
8
|
+
/**
|
|
9
|
+
* Build defaults for web platform (browser bundles).
|
|
10
|
+
*
|
|
11
|
+
* @remarks
|
|
12
|
+
* These settings produce browser-compatible IIFE bundles.
|
|
13
|
+
*/
|
|
14
|
+
export declare const WEB_BUILD_DEFAULTS: Omit<BuildOptions, 'output' | 'packages'>;
|
|
15
|
+
/**
|
|
16
|
+
* Build defaults for server platform (Node.js bundles).
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
* These settings produce Node.js-compatible ESM bundles.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SERVER_BUILD_DEFAULTS: Omit<BuildOptions, 'output' | 'packages'>;
|
|
22
|
+
/**
|
|
23
|
+
* Default output paths by platform.
|
|
24
|
+
*/
|
|
25
|
+
export declare const DEFAULT_OUTPUT_PATHS: {
|
|
26
|
+
readonly web: "./dist/walker.js";
|
|
27
|
+
readonly server: "./dist/bundle.mjs";
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Get build defaults for a platform.
|
|
31
|
+
*
|
|
32
|
+
* @param platform - Target platform ('web' or 'server')
|
|
33
|
+
* @returns Platform-specific build defaults
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const defaults = getBuildDefaults('web');
|
|
38
|
+
* // { format: 'iife', platform: 'browser', ... }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function getBuildDefaults(platform: 'web' | 'server'): Omit<BuildOptions, 'output' | 'packages'>;
|
|
42
|
+
/**
|
|
43
|
+
* Get default output path for a platform.
|
|
44
|
+
*
|
|
45
|
+
* @param platform - Target platform ('web' or 'server')
|
|
46
|
+
* @returns Default output file path
|
|
47
|
+
*/
|
|
48
|
+
export declare function getDefaultOutput(platform: 'web' | 'server'): string;
|
|
49
|
+
//# sourceMappingURL=build-defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-defaults.d.ts","sourceRoot":"","sources":["../../src/config/build-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,UAAU,CAWxE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,UAAU,CAUzE,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;CAGvB,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,KAAK,GAAG,QAAQ,GACzB,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,UAAU,CAAC,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAEnE"}
|