@walkeros/cli 0.4.2 → 0.5.1-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/README.md +140 -9
- package/dist/examples/README.md +13 -1
- package/dist/examples/flow-order-complete.json +1 -2
- package/dist/examples/flow-simple.json +1 -2
- package/dist/examples/server-collect.json +4 -4
- package/dist/index.d.ts +1 -114
- package/dist/index.js +322 -387
- package/dist/index.js.map +1 -1
- package/examples/README.md +13 -1
- package/examples/flow-order-complete.json +1 -2
- package/examples/flow-simple.json +1 -2
- package/examples/server-collect.json +4 -4
- package/package.json +14 -16
- package/dist/__tests__/bundle/bundler-helpers.test.d.ts +0 -2
- package/dist/__tests__/bundle/bundler-helpers.test.d.ts.map +0 -1
- package/dist/__tests__/bundle/bundler-helpers.test.js +0 -285
- package/dist/__tests__/bundle/bundler-helpers.test.js.map +0 -1
- package/dist/__tests__/bundle/bundler.test.d.ts +0 -2
- package/dist/__tests__/bundle/bundler.test.d.ts.map +0 -1
- package/dist/__tests__/bundle/bundler.test.js +0 -293
- package/dist/__tests__/bundle/bundler.test.js.map +0 -1
- package/dist/__tests__/bundle/programmatic.test.d.ts +0 -2
- package/dist/__tests__/bundle/programmatic.test.d.ts.map +0 -1
- package/dist/__tests__/bundle/programmatic.test.js +0 -150
- package/dist/__tests__/bundle/programmatic.test.js.map +0 -1
- package/dist/__tests__/bundle/serializer.test.d.ts +0 -2
- package/dist/__tests__/bundle/serializer.test.d.ts.map +0 -1
- package/dist/__tests__/bundle/serializer.test.js +0 -173
- package/dist/__tests__/bundle/serializer.test.js.map +0 -1
- package/dist/__tests__/bundle/template-engine.test.d.ts +0 -2
- package/dist/__tests__/bundle/template-engine.test.d.ts.map +0 -1
- package/dist/__tests__/bundle/template-engine.test.js +0 -107
- package/dist/__tests__/bundle/template-engine.test.js.map +0 -1
- package/dist/__tests__/cli-e2e.test.d.ts +0 -8
- package/dist/__tests__/cli-e2e.test.d.ts.map +0 -1
- package/dist/__tests__/cli-e2e.test.js +0 -130
- package/dist/__tests__/cli-e2e.test.js.map +0 -1
- package/dist/__tests__/cli.test.d.ts +0 -2
- package/dist/__tests__/cli.test.d.ts.map +0 -1
- package/dist/__tests__/cli.test.js +0 -180
- package/dist/__tests__/cli.test.js.map +0 -1
- package/dist/__tests__/config-loader.test.d.ts +0 -7
- package/dist/__tests__/config-loader.test.d.ts.map +0 -1
- package/dist/__tests__/config-loader.test.js +0 -416
- package/dist/__tests__/config-loader.test.js.map +0 -1
- package/dist/__tests__/core/build-cache.test.d.ts +0 -2
- package/dist/__tests__/core/build-cache.test.d.ts.map +0 -1
- package/dist/__tests__/core/build-cache.test.js +0 -55
- package/dist/__tests__/core/build-cache.test.js.map +0 -1
- package/dist/__tests__/core/cache-utils.test.d.ts +0 -2
- package/dist/__tests__/core/cache-utils.test.d.ts.map +0 -1
- package/dist/__tests__/core/cache-utils.test.js +0 -70
- package/dist/__tests__/core/cache-utils.test.js.map +0 -1
- package/dist/__tests__/core/config.test.d.ts +0 -2
- package/dist/__tests__/core/config.test.d.ts.map +0 -1
- package/dist/__tests__/core/config.test.js +0 -72
- package/dist/__tests__/core/config.test.js.map +0 -1
- package/dist/__tests__/core/logger.test.d.ts +0 -2
- package/dist/__tests__/core/logger.test.d.ts.map +0 -1
- package/dist/__tests__/core/logger.test.js +0 -53
- package/dist/__tests__/core/logger.test.js.map +0 -1
- package/dist/__tests__/integration/bundle-run.integration.test.d.ts +0 -8
- package/dist/__tests__/integration/bundle-run.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/bundle-run.integration.test.js +0 -54
- package/dist/__tests__/integration/bundle-run.integration.test.js.map +0 -1
- package/dist/__tests__/push/push.test.d.ts +0 -7
- package/dist/__tests__/push/push.test.d.ts.map +0 -1
- package/dist/__tests__/push/push.test.js +0 -197
- package/dist/__tests__/push/push.test.js.map +0 -1
- package/dist/__tests__/simulate/env-loader.test.d.ts +0 -2
- package/dist/__tests__/simulate/env-loader.test.d.ts.map +0 -1
- package/dist/__tests__/simulate/env-loader.test.js +0 -47
- package/dist/__tests__/simulate/env-loader.test.js.map +0 -1
- package/dist/__tests__/simulate/node-executor.test.d.ts +0 -5
- package/dist/__tests__/simulate/node-executor.test.d.ts.map +0 -1
- package/dist/__tests__/simulate/node-executor.test.js +0 -25
- package/dist/__tests__/simulate/node-executor.test.js.map +0 -1
- package/dist/__tests__/simulate/server-simulate.integration.test.d.ts +0 -5
- package/dist/__tests__/simulate/server-simulate.integration.test.d.ts.map +0 -1
- package/dist/__tests__/simulate/server-simulate.integration.test.js +0 -59
- package/dist/__tests__/simulate/server-simulate.integration.test.js.map +0 -1
- package/dist/__tests__/smoke/production.smoke.test.d.ts +0 -8
- package/dist/__tests__/smoke/production.smoke.test.d.ts.map +0 -1
- package/dist/__tests__/smoke/production.smoke.test.js +0 -65
- package/dist/__tests__/smoke/production.smoke.test.js.map +0 -1
- package/dist/commands/bundle/bundler.d.ts +0 -14
- package/dist/commands/bundle/bundler.d.ts.map +0 -1
- package/dist/commands/bundle/bundler.js +0 -467
- package/dist/commands/bundle/bundler.js.map +0 -1
- package/dist/commands/bundle/index.d.ts +0 -57
- package/dist/commands/bundle/index.d.ts.map +0 -1
- package/dist/commands/bundle/index.js +0 -200
- package/dist/commands/bundle/index.js.map +0 -1
- package/dist/commands/bundle/package-manager.d.ts +0 -8
- package/dist/commands/bundle/package-manager.d.ts.map +0 -1
- package/dist/commands/bundle/package-manager.js +0 -197
- package/dist/commands/bundle/package-manager.js.map +0 -1
- package/dist/commands/bundle/serializer.d.ts +0 -23
- package/dist/commands/bundle/serializer.d.ts.map +0 -1
- package/dist/commands/bundle/serializer.js +0 -127
- package/dist/commands/bundle/serializer.js.map +0 -1
- package/dist/commands/bundle/stats.d.ts +0 -23
- package/dist/commands/bundle/stats.d.ts.map +0 -1
- package/dist/commands/bundle/stats.js +0 -52
- package/dist/commands/bundle/stats.js.map +0 -1
- package/dist/commands/bundle/template-engine.d.ts +0 -20
- package/dist/commands/bundle/template-engine.d.ts.map +0 -1
- package/dist/commands/bundle/template-engine.js +0 -54
- package/dist/commands/bundle/template-engine.js.map +0 -1
- package/dist/commands/cache.d.ts +0 -3
- package/dist/commands/cache.d.ts.map +0 -1
- package/dist/commands/cache.js +0 -44
- package/dist/commands/cache.js.map +0 -1
- package/dist/commands/push/index.d.ts +0 -7
- package/dist/commands/push/index.d.ts.map +0 -1
- package/dist/commands/push/index.js +0 -257
- package/dist/commands/push/index.js.map +0 -1
- package/dist/commands/push/types.d.ts +0 -21
- package/dist/commands/push/types.d.ts.map +0 -1
- package/dist/commands/push/types.js +0 -2
- package/dist/commands/push/types.js.map +0 -1
- package/dist/commands/run/__tests__/run.integration.test.d.ts +0 -8
- package/dist/commands/run/__tests__/run.integration.test.d.ts.map +0 -1
- package/dist/commands/run/__tests__/run.integration.test.js +0 -52
- package/dist/commands/run/__tests__/run.integration.test.js.map +0 -1
- package/dist/commands/run/__tests__/validators.test.d.ts +0 -2
- package/dist/commands/run/__tests__/validators.test.d.ts.map +0 -1
- package/dist/commands/run/__tests__/validators.test.js +0 -80
- package/dist/commands/run/__tests__/validators.test.js.map +0 -1
- package/dist/commands/run/execution.d.ts +0 -14
- package/dist/commands/run/execution.d.ts.map +0 -1
- package/dist/commands/run/execution.js +0 -37
- package/dist/commands/run/execution.js.map +0 -1
- package/dist/commands/run/index.d.ts +0 -39
- package/dist/commands/run/index.d.ts.map +0 -1
- package/dist/commands/run/index.js +0 -191
- package/dist/commands/run/index.js.map +0 -1
- package/dist/commands/run/types.d.ts +0 -60
- package/dist/commands/run/types.d.ts.map +0 -1
- package/dist/commands/run/types.js +0 -7
- package/dist/commands/run/types.js.map +0 -1
- package/dist/commands/run/utils.d.ts +0 -29
- package/dist/commands/run/utils.d.ts.map +0 -1
- package/dist/commands/run/utils.js +0 -52
- package/dist/commands/run/utils.js.map +0 -1
- package/dist/commands/run/validators.d.ts +0 -33
- package/dist/commands/run/validators.d.ts.map +0 -1
- package/dist/commands/run/validators.js +0 -58
- package/dist/commands/run/validators.js.map +0 -1
- package/dist/commands/simulate/env-loader.d.ts +0 -19
- package/dist/commands/simulate/env-loader.d.ts.map +0 -1
- package/dist/commands/simulate/env-loader.js +0 -46
- package/dist/commands/simulate/env-loader.js.map +0 -1
- package/dist/commands/simulate/index.d.ts +0 -48
- package/dist/commands/simulate/index.d.ts.map +0 -1
- package/dist/commands/simulate/index.js +0 -116
- package/dist/commands/simulate/index.js.map +0 -1
- package/dist/commands/simulate/jsdom-executor.d.ts +0 -37
- package/dist/commands/simulate/jsdom-executor.d.ts.map +0 -1
- package/dist/commands/simulate/jsdom-executor.js +0 -137
- package/dist/commands/simulate/jsdom-executor.js.map +0 -1
- package/dist/commands/simulate/node-executor.d.ts +0 -28
- package/dist/commands/simulate/node-executor.d.ts.map +0 -1
- package/dist/commands/simulate/node-executor.js +0 -94
- package/dist/commands/simulate/node-executor.js.map +0 -1
- package/dist/commands/simulate/simulator.d.ts +0 -14
- package/dist/commands/simulate/simulator.d.ts.map +0 -1
- package/dist/commands/simulate/simulator.js +0 -162
- package/dist/commands/simulate/simulator.js.map +0 -1
- package/dist/commands/simulate/tracker.d.ts +0 -30
- package/dist/commands/simulate/tracker.d.ts.map +0 -1
- package/dist/commands/simulate/tracker.js +0 -96
- package/dist/commands/simulate/tracker.js.map +0 -1
- package/dist/commands/simulate/types.d.ts +0 -18
- package/dist/commands/simulate/types.d.ts.map +0 -1
- package/dist/commands/simulate/types.js +0 -2
- package/dist/commands/simulate/types.js.map +0 -1
- package/dist/config/build-defaults.d.ts +0 -49
- package/dist/config/build-defaults.d.ts.map +0 -1
- package/dist/config/build-defaults.js +0 -72
- package/dist/config/build-defaults.js.map +0 -1
- package/dist/config/index.d.ts +0 -13
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -15
- package/dist/config/index.js.map +0 -1
- package/dist/config/loader.d.ts +0 -81
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -155
- package/dist/config/loader.js.map +0 -1
- package/dist/config/utils.d.ts +0 -114
- package/dist/config/utils.d.ts.map +0 -1
- package/dist/config/utils.js +0 -257
- package/dist/config/utils.js.map +0 -1
- package/dist/config/validators.d.ts +0 -52
- package/dist/config/validators.d.ts.map +0 -1
- package/dist/config/validators.js +0 -85
- package/dist/config/validators.js.map +0 -1
- package/dist/core/asset-resolver.d.ts +0 -34
- package/dist/core/asset-resolver.d.ts.map +0 -1
- package/dist/core/asset-resolver.js +0 -69
- package/dist/core/asset-resolver.js.map +0 -1
- package/dist/core/build-cache.d.ts +0 -23
- package/dist/core/build-cache.d.ts.map +0 -1
- package/dist/core/build-cache.js +0 -43
- package/dist/core/build-cache.js.map +0 -1
- package/dist/core/cache-utils.d.ts +0 -27
- package/dist/core/cache-utils.d.ts.map +0 -1
- package/dist/core/cache-utils.js +0 -60
- package/dist/core/cache-utils.js.map +0 -1
- package/dist/core/docker.d.ts +0 -99
- package/dist/core/docker.d.ts.map +0 -1
- package/dist/core/docker.js +0 -249
- package/dist/core/docker.js.map +0 -1
- package/dist/core/execution.d.ts +0 -34
- package/dist/core/execution.d.ts.map +0 -1
- package/dist/core/execution.js +0 -64
- package/dist/core/execution.js.map +0 -1
- package/dist/core/index.d.ts +0 -10
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -10
- package/dist/core/index.js.map +0 -1
- package/dist/core/local-packages.d.ts +0 -19
- package/dist/core/local-packages.d.ts.map +0 -1
- package/dist/core/local-packages.js +0 -60
- package/dist/core/local-packages.js.map +0 -1
- package/dist/core/logger.d.ts +0 -28
- package/dist/core/logger.d.ts.map +0 -1
- package/dist/core/logger.js +0 -88
- package/dist/core/logger.js.map +0 -1
- package/dist/core/output.d.ts +0 -30
- package/dist/core/output.d.ts.map +0 -1
- package/dist/core/output.js +0 -46
- package/dist/core/output.js.map +0 -1
- package/dist/core/temp-manager.d.ts +0 -51
- package/dist/core/temp-manager.d.ts.map +0 -1
- package/dist/core/temp-manager.js +0 -73
- package/dist/core/temp-manager.js.map +0 -1
- package/dist/core/timer.d.ts +0 -14
- package/dist/core/timer.d.ts.map +0 -1
- package/dist/core/timer.js +0 -29
- package/dist/core/timer.js.map +0 -1
- package/dist/core/utils.d.ts +0 -10
- package/dist/core/utils.d.ts.map +0 -1
- package/dist/core/utils.js +0 -12
- package/dist/core/utils.js.map +0 -1
- package/dist/examples/.npm-cache/content-v2/sha512/0d/2d/7581c288670eaf8538ddd9df145b78756ce3be0791c6e0b9cd33429b3bae894525b9bda287a3cedffbcdd2c7b3107bafc03f2b0367eea489eee1cc042abb +0 -1
- 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 +0 -1
- package/dist/examples/.npm-cache/content-v2/sha512/70/4c/4c8837d446965c5551b4ea527e95fa011744fb727581d82cf35bb5599ea0b57d18baa490f7af93ef9a16e8e45e5c0802737da20575f4056a4a5c9a3cd288 +0 -0
- package/dist/examples/.npm-cache/content-v2/sha512/96/ad/05de3bbb12d7de8ea353f962bdaea7d2eb44f707f2973462a6635daf537c67b46cca7764fed7d464fe62152c3f783a07aba1ceb35e09ad446bff05a4b466 +0 -1
- package/dist/examples/.npm-cache/content-v2/sha512/b5/20/52dde94e6cef7170f6089c64a4843e57be18be450d956f4e455905aed047ae6a368451c93035e6ac3ee59576b600f03f815afba0836b3a16e10a9aaca4ba +0 -1
- package/dist/examples/.npm-cache/content-v2/sha512/c7/a9/d166a1c39f97df312c59261319ba1cf9aac178bda0a0cb697d5ddd78bd8dd38ef1bf40017bcc8633c2049896c2d70696d9bff9280851f270792ff38bb3a0 +0 -1
- package/dist/examples/.npm-cache/content-v2/sha512/e0/d0/8c14083b633e6adbd3c6a93da5fc0f6bbd456c5512ef276920bedd8d85d551052adff992de977aff326616a211aaa2d6ddcc801149e9b7f914f566359b6a +0 -1
- package/dist/examples/.npm-cache/content-v2/sha512/e7/c5/06ad3fd79ac4f1031fe0b16ea5e54e232ca397bbcd7592c679021cbfb027276099f8c848f3f7a7691f0102ad53aa64f9141e61d729b037a678bd60440d17 +0 -1
- package/dist/examples/.npm-cache/content-v2/sha512/f3/28/d5d32329604ed7d471a4949105daa2cc98858cf24f45b0b97c41d0eb0d5a9fe7bf1f69c792161cc6693e4fc1b52e886ac41875ebfb8fe47fafe417ca3e6e +0 -0
- package/dist/examples/.npm-cache/index-v5/04/5a/2b5d7a7c407d85d746baa0f5c9388a333e35a717a8a0a81943daa6cb1364 +0 -3
- package/dist/examples/.npm-cache/index-v5/12/9a/eba560cbace295d8ee04cf283015377bd77b379e70968fb6bc407c7fc410 +0 -15
- package/dist/examples/.npm-cache/index-v5/2f/a2/7b047564b0ee21ac835ec609e89153dd6549be554d098584d5bfd19fe043 +0 -15
- package/dist/examples/.npm-cache/index-v5/32/8e/322d58dd8d1e000be248ada51385bf96288e56039de9feec1a4c6a467653 +0 -3
- package/dist/examples/.npm-cache/index-v5/57/93/d1d7cd1402e3e26468db03f2870822bb2c9018a506cdfb3b405f38cd3e1c +0 -3
- package/dist/examples/.npm-cache/index-v5/5d/f8/0a1f4fa7149e4ff33e09eb6aea41ac8d1730c868a5d3ace91f762698acff +0 -3
- package/dist/examples/.npm-cache/index-v5/69/a4/a92c72d838259b051cdf8e0acfb2bc680b6d4cfc642314a7836c3f7b2c50 +0 -15
- package/dist/examples/.npm-cache/index-v5/71/31/6da3423bb203f3de5eb16c942431073f89be2cfcb40058ec91dcb5ce0abc +0 -15
- package/dist/examples/.npm-cache/index-v5/7b/94/72b6bffa050d9ef52a558dd220663695bc606f756be0dfa196ef4f3913ba +0 -3
- package/dist/examples/.npm-cache/index-v5/85/9e/99e97fdd562517e56285337db91d1a8f2f416b8d631cf4d7d754fa671299 +0 -15
- package/dist/examples/.npm-cache/index-v5/92/4c/9416ada81a9b3c679539fd1ab53f8de3d41ff268f35eba7a194389a85b06 +0 -3
- package/dist/examples/.npm-cache/index-v5/c1/5a/13df76b218deed8a6ef12961116af5183db98c53fad1b922fd9edc075247 +0 -3
- package/dist/examples/.npm-cache/index-v5/cb/11/253c55410a8ab7c4a9ea9d6e1bf8ef1450a581da64c478074dfd82c8bff6 +0 -3
- package/dist/examples/.npm-cache/index-v5/d5/ae/b57fad3a62b5ba2dbdf24b042a9e7b70820f3db00e5a630f02e1fea020dc +0 -3
- package/dist/examples/.npm-cache/index-v5/d6/32/2f620f83c7d14451de98de8298c2408e05a16cc0829bd16c891ac19d7a67 +0 -3
- package/dist/examples/.npm-cache/index-v5/dd/b5/01dc7a3cd8b6a03a69aee9af500d51ae19cb0aa12631a4aafd152148b8e5 +0 -15
- package/dist/examples/.npm-cache/index-v5/e0/cf/6b862c15d74630d3871cd813d305210ab741311deb10baf8813014e0bc30 +0 -3
- package/dist/examples/.npm-cache/index-v5/e2/be/e880ccd35950a814d3c1dded34d3938ac61b15a195321dc51357f801aad4 +0 -15
- package/dist/examples/.npm-cache/index-v5/e5/1f/f4affe0b392cd03288f23cc03abcb274ff11a2c8f8965299de681914abb2 +0 -3
- package/dist/examples/.npm-cache/index-v5/f3/5b/9ebe450958ff0d7cc44ab0a00080cb8a3ff1389744b5eab5f97b68a6a6af +0 -3
- package/dist/examples/.npm-cache/index-v5/fb/c1/0de405e902866d53e7c30cf36a97dc2578838622b261816f44dc377c9a80 +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/schemas/index.d.ts +0 -9
- package/dist/schemas/index.d.ts.map +0 -1
- package/dist/schemas/index.js +0 -9
- package/dist/schemas/index.js.map +0 -1
- package/dist/schemas/primitives.d.ts +0 -37
- package/dist/schemas/primitives.d.ts.map +0 -1
- package/dist/schemas/primitives.js +0 -43
- package/dist/schemas/primitives.js.map +0 -1
- package/dist/schemas/run.d.ts +0 -23
- package/dist/schemas/run.d.ts.map +0 -1
- package/dist/schemas/run.js +0 -20
- package/dist/schemas/run.js.map +0 -1
- package/dist/templates/server.hbs +0 -29
- package/dist/templates/web.hbs +0 -45
- package/dist/types/bundle.d.ts +0 -146
- package/dist/types/bundle.d.ts.map +0 -1
- package/dist/types/bundle.js +0 -10
- package/dist/types/bundle.js.map +0 -1
- package/dist/types/global.d.ts +0 -51
- package/dist/types/global.d.ts.map +0 -1
- package/dist/types/global.js +0 -30
- package/dist/types/global.js.map +0 -1
- package/dist/types/index.d.ts +0 -8
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -8
- package/dist/types/index.js.map +0 -1
- package/dist/types/template.d.ts +0 -108
- package/dist/types/template.d.ts.map +0 -1
- package/dist/types/template.js +0 -10
- package/dist/types/template.js.map +0 -1
- package/dist/walker.js +0 -1
- package/examples/.npm-cache/content-v2/sha512/0d/2d/7581c288670eaf8538ddd9df145b78756ce3be0791c6e0b9cd33429b3bae894525b9bda287a3cedffbcdd2c7b3107bafc03f2b0367eea489eee1cc042abb +0 -1
- package/examples/.npm-cache/content-v2/sha512/12/20/bc4f5acca143809f7e07da1fdafb38137d93243de4d5b403e6e10b92d0d3a6e51eab24fe9dbc9d3ed1cd72e8f7a406085e99c422bb2c7d1166cf9f1f564e +0 -0
- package/examples/.npm-cache/content-v2/sha512/22/ee/fb2695b01871c1d36946bdcfb49f1b520a57200d0a0b221b1e7d5f047ab38a8b2ab0e5f0e25a00acde1f3f2f9d24430a18f1092d438bc1a9e9891cc45f75 +0 -0
- package/examples/.npm-cache/content-v2/sha512/24/89/da1ce6a61bca6de7e132f241a675c01c83738bf6b78af25b5cce01d3030361332b3fe938571e2b721f1555da9ddf930fdcf8c02f0471556071590e68cc09 +0 -0
- package/examples/.npm-cache/content-v2/sha512/47/fd/c6be997da99228c3e279b95d4a46d6913947078a178f54ac71795a159f3513b1483232f4c2d0a1f403178bf9f96bb19615de32a9e2133e949880c6bc15e2 +0 -0
- package/examples/.npm-cache/content-v2/sha512/4b/1c/c1cb7f8b32102071a89fef97158daa32080ebaedfbbd596880d2213d84e305abc76d2a95a412ded55c1c3d487adcb1ceff87fc2c85d7e2856ebd9d3f16f3 +0 -0
- package/examples/.npm-cache/content-v2/sha512/6e/53/ff864769671f44f39d8a3bf904cd646535b745cc4824a8bb3189193b474678049f43b5178ba15cad7f0289046105e70f1565afc84e907120b35a466690fd +0 -1
- package/examples/.npm-cache/content-v2/sha512/70/4c/4c8837d446965c5551b4ea527e95fa011744fb727581d82cf35bb5599ea0b57d18baa490f7af93ef9a16e8e45e5c0802737da20575f4056a4a5c9a3cd288 +0 -0
- package/examples/.npm-cache/content-v2/sha512/96/ad/05de3bbb12d7de8ea353f962bdaea7d2eb44f707f2973462a6635daf537c67b46cca7764fed7d464fe62152c3f783a07aba1ceb35e09ad446bff05a4b466 +0 -1
- package/examples/.npm-cache/content-v2/sha512/b5/20/52dde94e6cef7170f6089c64a4843e57be18be450d956f4e455905aed047ae6a368451c93035e6ac3ee59576b600f03f815afba0836b3a16e10a9aaca4ba +0 -1
- package/examples/.npm-cache/content-v2/sha512/c7/a9/d166a1c39f97df312c59261319ba1cf9aac178bda0a0cb697d5ddd78bd8dd38ef1bf40017bcc8633c2049896c2d70696d9bff9280851f270792ff38bb3a0 +0 -1
- package/examples/.npm-cache/content-v2/sha512/e0/d0/8c14083b633e6adbd3c6a93da5fc0f6bbd456c5512ef276920bedd8d85d551052adff992de977aff326616a211aaa2d6ddcc801149e9b7f914f566359b6a +0 -1
- package/examples/.npm-cache/content-v2/sha512/e7/c5/06ad3fd79ac4f1031fe0b16ea5e54e232ca397bbcd7592c679021cbfb027276099f8c848f3f7a7691f0102ad53aa64f9141e61d729b037a678bd60440d17 +0 -1
- package/examples/.npm-cache/content-v2/sha512/f3/28/d5d32329604ed7d471a4949105daa2cc98858cf24f45b0b97c41d0eb0d5a9fe7bf1f69c792161cc6693e4fc1b52e886ac41875ebfb8fe47fafe417ca3e6e +0 -0
- package/examples/.npm-cache/index-v5/04/5a/2b5d7a7c407d85d746baa0f5c9388a333e35a717a8a0a81943daa6cb1364 +0 -3
- package/examples/.npm-cache/index-v5/12/9a/eba560cbace295d8ee04cf283015377bd77b379e70968fb6bc407c7fc410 +0 -15
- package/examples/.npm-cache/index-v5/2f/a2/7b047564b0ee21ac835ec609e89153dd6549be554d098584d5bfd19fe043 +0 -15
- package/examples/.npm-cache/index-v5/32/8e/322d58dd8d1e000be248ada51385bf96288e56039de9feec1a4c6a467653 +0 -3
- package/examples/.npm-cache/index-v5/57/93/d1d7cd1402e3e26468db03f2870822bb2c9018a506cdfb3b405f38cd3e1c +0 -3
- package/examples/.npm-cache/index-v5/5d/f8/0a1f4fa7149e4ff33e09eb6aea41ac8d1730c868a5d3ace91f762698acff +0 -3
- package/examples/.npm-cache/index-v5/69/a4/a92c72d838259b051cdf8e0acfb2bc680b6d4cfc642314a7836c3f7b2c50 +0 -15
- package/examples/.npm-cache/index-v5/71/31/6da3423bb203f3de5eb16c942431073f89be2cfcb40058ec91dcb5ce0abc +0 -15
- package/examples/.npm-cache/index-v5/7b/94/72b6bffa050d9ef52a558dd220663695bc606f756be0dfa196ef4f3913ba +0 -3
- package/examples/.npm-cache/index-v5/85/9e/99e97fdd562517e56285337db91d1a8f2f416b8d631cf4d7d754fa671299 +0 -15
- package/examples/.npm-cache/index-v5/92/4c/9416ada81a9b3c679539fd1ab53f8de3d41ff268f35eba7a194389a85b06 +0 -3
- package/examples/.npm-cache/index-v5/c1/5a/13df76b218deed8a6ef12961116af5183db98c53fad1b922fd9edc075247 +0 -3
- package/examples/.npm-cache/index-v5/cb/11/253c55410a8ab7c4a9ea9d6e1bf8ef1450a581da64c478074dfd82c8bff6 +0 -3
- package/examples/.npm-cache/index-v5/d5/ae/b57fad3a62b5ba2dbdf24b042a9e7b70820f3db00e5a630f02e1fea020dc +0 -3
- package/examples/.npm-cache/index-v5/d6/32/2f620f83c7d14451de98de8298c2408e05a16cc0829bd16c891ac19d7a67 +0 -3
- package/examples/.npm-cache/index-v5/dd/b5/01dc7a3cd8b6a03a69aee9af500d51ae19cb0aa12631a4aafd152148b8e5 +0 -15
- package/examples/.npm-cache/index-v5/e0/cf/6b862c15d74630d3871cd813d305210ab741311deb10baf8813014e0bc30 +0 -3
- package/examples/.npm-cache/index-v5/e2/be/e880ccd35950a814d3c1dded34d3938ac61b15a195321dc51357f801aad4 +0 -15
- package/examples/.npm-cache/index-v5/e5/1f/f4affe0b392cd03288f23cc03abcb274ff11a2c8f8965299de681914abb2 +0 -3
- package/examples/.npm-cache/index-v5/f3/5b/9ebe450958ff0d7cc44ab0a00080cb8a3ff1389744b5eab5f97b68a6a6af +0 -3
- package/examples/.npm-cache/index-v5/fb/c1/0de405e902866d53e7c30cf36a97dc2578838622b261816f44dc377c9a80 +0 -3
- package/templates/server.hbs +0 -29
- package/templates/web.hbs +0 -45
package/dist/config/loader.js
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration Loader
|
|
3
|
-
*
|
|
4
|
-
* Loads and parses Flow.Setup configurations using core getFlowConfig().
|
|
5
|
-
* Build options are determined by static platform defaults.
|
|
6
|
-
*/
|
|
7
|
-
import path from 'path';
|
|
8
|
-
import fs from 'fs-extra';
|
|
9
|
-
import { getFlowConfig, getPlatform } from '@walkeros/core';
|
|
10
|
-
import { validateFlowSetup, isFlowSetup, getAvailableFlows as getFlowNames, } from './validators.js';
|
|
11
|
-
import { getBuildDefaults, getDefaultOutput } from './build-defaults.js';
|
|
12
|
-
/** Default folder for includes if it exists */
|
|
13
|
-
const DEFAULT_INCLUDE_FOLDER = './shared';
|
|
14
|
-
/**
|
|
15
|
-
* Load and parse bundle configuration.
|
|
16
|
-
*
|
|
17
|
-
* @remarks
|
|
18
|
-
* Uses Flow.Setup from @walkeros/core as the only config format.
|
|
19
|
-
* - Validates config structure
|
|
20
|
-
* - Uses core getFlowConfig() for variable/definition resolution
|
|
21
|
-
* - Determines platform from resolved config
|
|
22
|
-
* - Applies static build defaults based on platform
|
|
23
|
-
*
|
|
24
|
-
* @param rawConfig - Raw configuration object from JSON file
|
|
25
|
-
* @param options - Loading options
|
|
26
|
-
* @returns Parsed configuration with flow and build separated
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* ```typescript
|
|
30
|
-
* const config = loadBundleConfig(rawConfig, {
|
|
31
|
-
* configPath: './walkeros.config.json',
|
|
32
|
-
* flowName: 'production',
|
|
33
|
-
* });
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export function loadBundleConfig(rawConfig, options) {
|
|
37
|
-
// Validate as Flow.Setup
|
|
38
|
-
const setup = validateFlowSetup(rawConfig);
|
|
39
|
-
const availableFlows = getFlowNames(setup);
|
|
40
|
-
// Determine which flow to use
|
|
41
|
-
const flowName = resolveFlow(setup, options.flowName, availableFlows);
|
|
42
|
-
// Use core getFlowConfig() for resolution (variables, $refs, cascading)
|
|
43
|
-
const flowConfig = getFlowConfig(setup, flowName);
|
|
44
|
-
// Detect platform from resolved config
|
|
45
|
-
const platform = getPlatform(flowConfig);
|
|
46
|
-
if (!platform) {
|
|
47
|
-
throw new Error(`Invalid configuration: flow "${flowName}" must have a "web" or "server" key.`);
|
|
48
|
-
}
|
|
49
|
-
// Get static build defaults based on platform
|
|
50
|
-
const buildDefaults = getBuildDefaults(platform);
|
|
51
|
-
// Extract packages from flowConfig (if present)
|
|
52
|
-
const packages = flowConfig.packages || {};
|
|
53
|
-
// Resolve output path relative to config directory
|
|
54
|
-
let output = getDefaultOutput(platform);
|
|
55
|
-
if (options.buildOverrides?.output) {
|
|
56
|
-
output = options.buildOverrides.output;
|
|
57
|
-
}
|
|
58
|
-
// Get config directory for relative path resolution
|
|
59
|
-
const configDir = path.dirname(options.configPath);
|
|
60
|
-
// Make output path absolute relative to config file
|
|
61
|
-
if (!path.isAbsolute(output)) {
|
|
62
|
-
output = path.resolve(configDir, output);
|
|
63
|
-
}
|
|
64
|
-
// Get includes from config or use default if ./shared exists
|
|
65
|
-
let includes = setup.include;
|
|
66
|
-
if (!includes) {
|
|
67
|
-
const defaultIncludePath = path.resolve(configDir, DEFAULT_INCLUDE_FOLDER);
|
|
68
|
-
if (fs.pathExistsSync(defaultIncludePath)) {
|
|
69
|
-
includes = [DEFAULT_INCLUDE_FOLDER];
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
// Merge build options: defaults + CLI overrides
|
|
73
|
-
const buildOptions = {
|
|
74
|
-
...buildDefaults,
|
|
75
|
-
packages,
|
|
76
|
-
output,
|
|
77
|
-
include: includes,
|
|
78
|
-
configDir,
|
|
79
|
-
...options.buildOverrides,
|
|
80
|
-
};
|
|
81
|
-
// Log flow selection
|
|
82
|
-
const isMultiFlow = availableFlows.length > 1;
|
|
83
|
-
if (isMultiFlow && options.logger) {
|
|
84
|
-
options.logger.info(`📦 Using flow: ${flowName} (${availableFlows.length} total)`);
|
|
85
|
-
}
|
|
86
|
-
return {
|
|
87
|
-
flowConfig,
|
|
88
|
-
buildOptions,
|
|
89
|
-
flowName,
|
|
90
|
-
isMultiFlow,
|
|
91
|
-
availableFlows,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Resolve which flow to use.
|
|
96
|
-
*
|
|
97
|
-
* @param setup - Flow.Setup configuration
|
|
98
|
-
* @param requestedFlow - Flow name from CLI (optional)
|
|
99
|
-
* @param available - Available flow names
|
|
100
|
-
* @returns Flow name to use
|
|
101
|
-
* @throws Error if flow selection is invalid
|
|
102
|
-
*/
|
|
103
|
-
function resolveFlow(setup, requestedFlow, available) {
|
|
104
|
-
// If only one flow, use it automatically
|
|
105
|
-
if (available.length === 1) {
|
|
106
|
-
return available[0];
|
|
107
|
-
}
|
|
108
|
-
// Multiple flows require explicit selection
|
|
109
|
-
if (!requestedFlow) {
|
|
110
|
-
throw new Error(`Multiple flows found. Please specify a flow using --flow flag.\n` +
|
|
111
|
-
`Available flows: ${available.join(', ')}`);
|
|
112
|
-
}
|
|
113
|
-
// Validate the requested flow exists
|
|
114
|
-
if (!available.includes(requestedFlow)) {
|
|
115
|
-
throw new Error(`Flow "${requestedFlow}" not found in configuration.\n` +
|
|
116
|
-
`Available flows: ${available.join(', ')}`);
|
|
117
|
-
}
|
|
118
|
-
return requestedFlow;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Load all flows from a configuration.
|
|
122
|
-
*
|
|
123
|
-
* @remarks
|
|
124
|
-
* Used by the --all flag to build all flows.
|
|
125
|
-
*
|
|
126
|
-
* @param rawConfig - Raw configuration object
|
|
127
|
-
* @param options - Loading options (without flowName)
|
|
128
|
-
* @returns Array of loaded configurations for all flows
|
|
129
|
-
*/
|
|
130
|
-
export function loadAllFlows(rawConfig, options) {
|
|
131
|
-
// Validate as Flow.Setup
|
|
132
|
-
const setup = validateFlowSetup(rawConfig);
|
|
133
|
-
const flows = getFlowNames(setup);
|
|
134
|
-
if (options.logger) {
|
|
135
|
-
options.logger.info(`📦 Loading all ${flows.length} flows: ${flows.join(', ')}`);
|
|
136
|
-
}
|
|
137
|
-
// Load each flow
|
|
138
|
-
return flows.map((name) => loadBundleConfig(rawConfig, {
|
|
139
|
-
...options,
|
|
140
|
-
flowName: name,
|
|
141
|
-
}));
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Get list of available flows from configuration.
|
|
145
|
-
*
|
|
146
|
-
* @param rawConfig - Raw configuration object
|
|
147
|
-
* @returns Array of flow names
|
|
148
|
-
*/
|
|
149
|
-
export function getAvailableFlows(rawConfig) {
|
|
150
|
-
if (isFlowSetup(rawConfig)) {
|
|
151
|
-
return getFlowNames(rawConfig);
|
|
152
|
-
}
|
|
153
|
-
return [];
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
package/dist/config/utils.d.ts
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration Utility Functions
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Check if a string is a valid URL
|
|
6
|
-
*
|
|
7
|
-
* @param str - String to check
|
|
8
|
-
* @returns True if string is a valid HTTP/HTTPS URL
|
|
9
|
-
*/
|
|
10
|
-
export declare function isUrl(str: string): boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Download a file from a URL to a temporary location
|
|
13
|
-
*
|
|
14
|
-
* @param url - HTTP/HTTPS URL to download
|
|
15
|
-
* @returns Path to downloaded temporary file
|
|
16
|
-
* @throws Error if download fails or response is not OK
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* const tempPath = await downloadFromUrl('https://example.com/config.json')
|
|
21
|
-
* // Returns: "/tmp/walkeros-download-1647261462000-abc123.json"
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
export declare function downloadFromUrl(url: string): Promise<string>;
|
|
25
|
-
/**
|
|
26
|
-
* Substitute environment variables in a string.
|
|
27
|
-
*
|
|
28
|
-
* @param value - String with ${VAR} placeholders
|
|
29
|
-
* @returns String with environment variables substituted
|
|
30
|
-
* @throws Error if environment variable is not found
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```typescript
|
|
34
|
-
* substituteEnvVariables('${HOME}/config') // "/Users/name/config"
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
export declare function substituteEnvVariables(value: string): string;
|
|
38
|
-
/**
|
|
39
|
-
* Load and parse JSON configuration file from local path or URL.
|
|
40
|
-
*
|
|
41
|
-
* @param configPath - Path to JSON file or HTTP/HTTPS URL
|
|
42
|
-
* @returns Parsed configuration object and cleanup function
|
|
43
|
-
* @throws Error if file not found, download fails, or invalid JSON
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```typescript
|
|
47
|
-
* // Local file
|
|
48
|
-
* const config = await loadJsonConfig('./config.json')
|
|
49
|
-
*
|
|
50
|
-
* // Remote URL
|
|
51
|
-
* const config = await loadJsonConfig('https://example.com/config.json')
|
|
52
|
-
* ```
|
|
53
|
-
*/
|
|
54
|
-
export declare function loadJsonConfig<T>(configPath: string): Promise<T>;
|
|
55
|
-
/**
|
|
56
|
-
* Generate a unique temporary directory path.
|
|
57
|
-
*
|
|
58
|
-
* @param tempDir - Base temporary directory (default: ".tmp")
|
|
59
|
-
* @returns Absolute path to unique temp directory
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```typescript
|
|
63
|
-
* getTempDir() // "/workspaces/project/.tmp/cli-1647261462000-abc123"
|
|
64
|
-
* getTempDir('/tmp') // "/tmp/cli-1647261462000-abc123"
|
|
65
|
-
* ```
|
|
66
|
-
*/
|
|
67
|
-
export declare function getTempDir(tempDir?: string): string;
|
|
68
|
-
/**
|
|
69
|
-
* Load JSON from inline string, file path, or URL.
|
|
70
|
-
*
|
|
71
|
-
* Supports three input formats:
|
|
72
|
-
* 1. Inline JSON string - parsed directly
|
|
73
|
-
* 2. Local file path - read and parsed
|
|
74
|
-
* 3. HTTP/HTTPS URL - downloaded and parsed
|
|
75
|
-
*
|
|
76
|
-
* Detection priority:
|
|
77
|
-
* 1. URL (http://, https://) → download and parse
|
|
78
|
-
* 2. Existing file path → read and parse
|
|
79
|
-
* 3. Valid JSON string → parse directly
|
|
80
|
-
* 4. Simple string → treat as {name: string} for backward compatibility
|
|
81
|
-
*
|
|
82
|
-
* @param source - JSON string, file path, or URL
|
|
83
|
-
* @param options - Optional configuration
|
|
84
|
-
* @param options.name - Parameter name for error messages (e.g., "event", "config")
|
|
85
|
-
* @param options.required - Throw error if source is empty (default: false)
|
|
86
|
-
* @param options.fallback - Default value if source is empty
|
|
87
|
-
* @returns Parsed JSON object
|
|
88
|
-
* @throws Error if source is required but empty, or if loading/parsing fails
|
|
89
|
-
*
|
|
90
|
-
* @example
|
|
91
|
-
* ```typescript
|
|
92
|
-
* // Inline JSON
|
|
93
|
-
* await loadJsonFromSource('{"name":"order complete","data":{}}')
|
|
94
|
-
*
|
|
95
|
-
* // File path
|
|
96
|
-
* await loadJsonFromSource('./examples/event.json')
|
|
97
|
-
*
|
|
98
|
-
* // URL
|
|
99
|
-
* await loadJsonFromSource('https://example.com/event.json')
|
|
100
|
-
*
|
|
101
|
-
* // With options
|
|
102
|
-
* await loadJsonFromSource(input, {
|
|
103
|
-
* name: 'event',
|
|
104
|
-
* required: true,
|
|
105
|
-
* fallback: { name: 'default' }
|
|
106
|
-
* })
|
|
107
|
-
* ```
|
|
108
|
-
*/
|
|
109
|
-
export declare function loadJsonFromSource<T = unknown>(source: string | undefined, options?: {
|
|
110
|
-
name?: string;
|
|
111
|
-
required?: boolean;
|
|
112
|
-
fallback?: T;
|
|
113
|
-
}): Promise<T>;
|
|
114
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkClE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAmCtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,GAAG,MAAM,CAMnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAClD,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,CAAC;CACd,GACA,OAAO,CAAC,CAAC,CAAC,CAmEZ"}
|
package/dist/config/utils.js
DELETED
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration Utility Functions
|
|
3
|
-
*/
|
|
4
|
-
import fs from 'fs-extra';
|
|
5
|
-
import path from 'path';
|
|
6
|
-
import os from 'os';
|
|
7
|
-
import { getErrorMessage } from '../core/index.js';
|
|
8
|
-
/**
|
|
9
|
-
* Check if a string is a valid URL
|
|
10
|
-
*
|
|
11
|
-
* @param str - String to check
|
|
12
|
-
* @returns True if string is a valid HTTP/HTTPS URL
|
|
13
|
-
*/
|
|
14
|
-
export function isUrl(str) {
|
|
15
|
-
try {
|
|
16
|
-
const url = new URL(str);
|
|
17
|
-
return url.protocol === 'http:' || url.protocol === 'https:';
|
|
18
|
-
}
|
|
19
|
-
catch {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Download a file from a URL to a temporary location
|
|
25
|
-
*
|
|
26
|
-
* @param url - HTTP/HTTPS URL to download
|
|
27
|
-
* @returns Path to downloaded temporary file
|
|
28
|
-
* @throws Error if download fails or response is not OK
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```typescript
|
|
32
|
-
* const tempPath = await downloadFromUrl('https://example.com/config.json')
|
|
33
|
-
* // Returns: "/tmp/walkeros-download-1647261462000-abc123.json"
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export async function downloadFromUrl(url) {
|
|
37
|
-
if (!isUrl(url)) {
|
|
38
|
-
throw new Error(`Invalid URL: ${url}`);
|
|
39
|
-
}
|
|
40
|
-
try {
|
|
41
|
-
const response = await fetch(url);
|
|
42
|
-
if (!response.ok) {
|
|
43
|
-
throw new Error(`Failed to download ${url}: ${response.status} ${response.statusText}`);
|
|
44
|
-
}
|
|
45
|
-
const content = await response.text();
|
|
46
|
-
// Extract filename from URL or generate one
|
|
47
|
-
const urlObj = new URL(url);
|
|
48
|
-
const urlFilename = path.basename(urlObj.pathname);
|
|
49
|
-
const extension = path.extname(urlFilename) || '.json';
|
|
50
|
-
const randomId = Math.random().toString(36).substring(2, 11);
|
|
51
|
-
const filename = `walkeros-download-${Date.now()}-${randomId}${extension}`;
|
|
52
|
-
// Write to system temp directory
|
|
53
|
-
const tempPath = path.join(os.tmpdir(), filename);
|
|
54
|
-
await fs.writeFile(tempPath, content, 'utf-8');
|
|
55
|
-
return tempPath;
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
if (error instanceof Error) {
|
|
59
|
-
throw new Error(`Failed to download from URL: ${error.message}`);
|
|
60
|
-
}
|
|
61
|
-
throw error;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Substitute environment variables in a string.
|
|
66
|
-
*
|
|
67
|
-
* @param value - String with ${VAR} placeholders
|
|
68
|
-
* @returns String with environment variables substituted
|
|
69
|
-
* @throws Error if environment variable is not found
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```typescript
|
|
73
|
-
* substituteEnvVariables('${HOME}/config') // "/Users/name/config"
|
|
74
|
-
* ```
|
|
75
|
-
*/
|
|
76
|
-
export function substituteEnvVariables(value) {
|
|
77
|
-
return value.replace(/\${([^}]+)}/g, (_, envVar) => {
|
|
78
|
-
const envValue = process.env[envVar];
|
|
79
|
-
if (!envValue) {
|
|
80
|
-
throw new Error(`Environment variable ${envVar} not found`);
|
|
81
|
-
}
|
|
82
|
-
return envValue;
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Load and parse JSON configuration file from local path or URL.
|
|
87
|
-
*
|
|
88
|
-
* @param configPath - Path to JSON file or HTTP/HTTPS URL
|
|
89
|
-
* @returns Parsed configuration object and cleanup function
|
|
90
|
-
* @throws Error if file not found, download fails, or invalid JSON
|
|
91
|
-
*
|
|
92
|
-
* @example
|
|
93
|
-
* ```typescript
|
|
94
|
-
* // Local file
|
|
95
|
-
* const config = await loadJsonConfig('./config.json')
|
|
96
|
-
*
|
|
97
|
-
* // Remote URL
|
|
98
|
-
* const config = await loadJsonConfig('https://example.com/config.json')
|
|
99
|
-
* ```
|
|
100
|
-
*/
|
|
101
|
-
export async function loadJsonConfig(configPath) {
|
|
102
|
-
let absolutePath;
|
|
103
|
-
let isTemporary = false;
|
|
104
|
-
// Check if input is a URL
|
|
105
|
-
if (isUrl(configPath)) {
|
|
106
|
-
// Download from URL to temp location
|
|
107
|
-
absolutePath = await downloadFromUrl(configPath);
|
|
108
|
-
isTemporary = true;
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
// Local file path
|
|
112
|
-
absolutePath = path.resolve(configPath);
|
|
113
|
-
if (!(await fs.pathExists(absolutePath))) {
|
|
114
|
-
throw new Error(`Configuration file not found: ${absolutePath}`);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
try {
|
|
118
|
-
const rawConfig = await fs.readJson(absolutePath);
|
|
119
|
-
return rawConfig;
|
|
120
|
-
}
|
|
121
|
-
catch (error) {
|
|
122
|
-
throw new Error(`Invalid JSON in config file: ${configPath}. ${error instanceof Error ? error.message : error}`);
|
|
123
|
-
}
|
|
124
|
-
finally {
|
|
125
|
-
// Clean up temporary downloaded file
|
|
126
|
-
if (isTemporary) {
|
|
127
|
-
try {
|
|
128
|
-
await fs.remove(absolutePath);
|
|
129
|
-
}
|
|
130
|
-
catch {
|
|
131
|
-
// Ignore cleanup errors
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Generate a unique temporary directory path.
|
|
138
|
-
*
|
|
139
|
-
* @param tempDir - Base temporary directory (default: ".tmp")
|
|
140
|
-
* @returns Absolute path to unique temp directory
|
|
141
|
-
*
|
|
142
|
-
* @example
|
|
143
|
-
* ```typescript
|
|
144
|
-
* getTempDir() // "/workspaces/project/.tmp/cli-1647261462000-abc123"
|
|
145
|
-
* getTempDir('/tmp') // "/tmp/cli-1647261462000-abc123"
|
|
146
|
-
* ```
|
|
147
|
-
*/
|
|
148
|
-
export function getTempDir(tempDir = '.tmp') {
|
|
149
|
-
const randomId = Math.random().toString(36).substring(2, 11);
|
|
150
|
-
const basePath = path.isAbsolute(tempDir)
|
|
151
|
-
? tempDir
|
|
152
|
-
: path.join(process.cwd(), tempDir);
|
|
153
|
-
return path.join(basePath, `cli-${Date.now()}-${randomId}`);
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Load JSON from inline string, file path, or URL.
|
|
157
|
-
*
|
|
158
|
-
* Supports three input formats:
|
|
159
|
-
* 1. Inline JSON string - parsed directly
|
|
160
|
-
* 2. Local file path - read and parsed
|
|
161
|
-
* 3. HTTP/HTTPS URL - downloaded and parsed
|
|
162
|
-
*
|
|
163
|
-
* Detection priority:
|
|
164
|
-
* 1. URL (http://, https://) → download and parse
|
|
165
|
-
* 2. Existing file path → read and parse
|
|
166
|
-
* 3. Valid JSON string → parse directly
|
|
167
|
-
* 4. Simple string → treat as {name: string} for backward compatibility
|
|
168
|
-
*
|
|
169
|
-
* @param source - JSON string, file path, or URL
|
|
170
|
-
* @param options - Optional configuration
|
|
171
|
-
* @param options.name - Parameter name for error messages (e.g., "event", "config")
|
|
172
|
-
* @param options.required - Throw error if source is empty (default: false)
|
|
173
|
-
* @param options.fallback - Default value if source is empty
|
|
174
|
-
* @returns Parsed JSON object
|
|
175
|
-
* @throws Error if source is required but empty, or if loading/parsing fails
|
|
176
|
-
*
|
|
177
|
-
* @example
|
|
178
|
-
* ```typescript
|
|
179
|
-
* // Inline JSON
|
|
180
|
-
* await loadJsonFromSource('{"name":"order complete","data":{}}')
|
|
181
|
-
*
|
|
182
|
-
* // File path
|
|
183
|
-
* await loadJsonFromSource('./examples/event.json')
|
|
184
|
-
*
|
|
185
|
-
* // URL
|
|
186
|
-
* await loadJsonFromSource('https://example.com/event.json')
|
|
187
|
-
*
|
|
188
|
-
* // With options
|
|
189
|
-
* await loadJsonFromSource(input, {
|
|
190
|
-
* name: 'event',
|
|
191
|
-
* required: true,
|
|
192
|
-
* fallback: { name: 'default' }
|
|
193
|
-
* })
|
|
194
|
-
* ```
|
|
195
|
-
*/
|
|
196
|
-
export async function loadJsonFromSource(source, options) {
|
|
197
|
-
const paramName = options?.name || 'input';
|
|
198
|
-
// Handle empty/undefined input
|
|
199
|
-
if (!source || source.trim() === '') {
|
|
200
|
-
if (options?.required) {
|
|
201
|
-
throw new Error(`${paramName} is required`);
|
|
202
|
-
}
|
|
203
|
-
if (options?.fallback !== undefined) {
|
|
204
|
-
return options.fallback;
|
|
205
|
-
}
|
|
206
|
-
return {};
|
|
207
|
-
}
|
|
208
|
-
const trimmedSource = source.trim();
|
|
209
|
-
// 1. Check if URL
|
|
210
|
-
if (isUrl(trimmedSource)) {
|
|
211
|
-
try {
|
|
212
|
-
const tempPath = await downloadFromUrl(trimmedSource);
|
|
213
|
-
try {
|
|
214
|
-
const data = await fs.readJson(tempPath);
|
|
215
|
-
return data;
|
|
216
|
-
}
|
|
217
|
-
finally {
|
|
218
|
-
// Clean up temp file
|
|
219
|
-
try {
|
|
220
|
-
await fs.remove(tempPath);
|
|
221
|
-
}
|
|
222
|
-
catch {
|
|
223
|
-
// Ignore cleanup errors
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
catch (error) {
|
|
228
|
-
throw new Error(`Failed to load ${paramName} from URL ${trimmedSource}: ${getErrorMessage(error)}`);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
// 2. Check if file path exists
|
|
232
|
-
const resolvedPath = path.resolve(trimmedSource);
|
|
233
|
-
if (await fs.pathExists(resolvedPath)) {
|
|
234
|
-
try {
|
|
235
|
-
const data = await fs.readJson(resolvedPath);
|
|
236
|
-
return data;
|
|
237
|
-
}
|
|
238
|
-
catch (error) {
|
|
239
|
-
throw new Error(`Failed to parse ${paramName} from file ${trimmedSource}: ${getErrorMessage(error)}`);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
// 3. Try to parse as inline JSON
|
|
243
|
-
try {
|
|
244
|
-
const parsed = JSON.parse(trimmedSource);
|
|
245
|
-
return parsed;
|
|
246
|
-
}
|
|
247
|
-
catch (jsonError) {
|
|
248
|
-
// 4. Fallback: treat as event name string for backward compatibility
|
|
249
|
-
// This allows simple strings like "page view" to work
|
|
250
|
-
if (!trimmedSource.startsWith('{') && !trimmedSource.startsWith('[')) {
|
|
251
|
-
return { name: trimmedSource };
|
|
252
|
-
}
|
|
253
|
-
// If it looks like JSON but failed to parse, throw helpful error
|
|
254
|
-
throw new Error(`Failed to parse ${paramName}. Input appears to be JSON but contains errors: ${jsonError instanceof Error ? jsonError.message : String(jsonError)}`);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/config/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,sBAAsB,GAAG,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtC,4CAA4C;QAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,qBAAqB,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC;QAE3E,iCAAiC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,YAAY,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,UAAkB;IACxD,IAAI,YAAoB,CAAC;IACzB,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,0BAA0B;IAC1B,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACtB,qCAAqC;QACrC,YAAY,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QACjD,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,SAAc,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,gCAAgC,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAChG,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,qCAAqC;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAC,OAAO,GAAG,MAAM;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QACvC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAA0B,EAC1B,OAIC;IAED,MAAM,SAAS,GAAG,OAAO,EAAE,IAAI,IAAI,OAAO,CAAC;IAE3C,+BAA+B;IAC/B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACpC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,cAAc,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,QAAQ,CAAC;QAC1B,CAAC;QACD,OAAO,EAAO,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAEpC,kBAAkB;IAClB,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,OAAO,IAAS,CAAC;YACnB,CAAC;oBAAS,CAAC;gBACT,qBAAqB;gBACrB,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,kBAAkB,SAAS,aAAa,aAAa,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC7C,OAAO,IAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,mBAAmB,SAAS,cAAc,aAAa,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACzC,OAAO,MAAW,CAAC;IACrB,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,qEAAqE;QACrE,sDAAsD;QACtD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAO,CAAC;QACtC,CAAC;QAED,iEAAiE;QACjE,MAAM,IAAI,KAAK,CACb,mBAAmB,SAAS,mDAAmD,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CACpJ,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration Type Guards and Validators
|
|
3
|
-
*
|
|
4
|
-
* Type checking utilities for configuration validation.
|
|
5
|
-
* Uses Zod schemas from @walkeros/core for Flow.Setup validation.
|
|
6
|
-
*/
|
|
7
|
-
import type { Flow } from '@walkeros/core';
|
|
8
|
-
/**
|
|
9
|
-
* Type guard: Check if value is a plain object.
|
|
10
|
-
*/
|
|
11
|
-
export declare function isObject(value: unknown): value is Record<string, unknown>;
|
|
12
|
-
/**
|
|
13
|
-
* Detect platform from flow config.
|
|
14
|
-
*
|
|
15
|
-
* Platform is determined by the presence of `web` or `server` key.
|
|
16
|
-
*/
|
|
17
|
-
export declare function detectPlatform(flowConfig: Record<string, unknown>): 'web' | 'server' | undefined;
|
|
18
|
-
/**
|
|
19
|
-
* Type guard: Check if config is a valid Flow.Setup structure.
|
|
20
|
-
*
|
|
21
|
-
* @remarks
|
|
22
|
-
* Uses Zod validation from @walkeros/core.
|
|
23
|
-
* Returns false instead of throwing on invalid input.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```typescript
|
|
27
|
-
* if (isFlowSetup(config)) {
|
|
28
|
-
* const flowConfig = getFlowConfig(config, 'production');
|
|
29
|
-
* }
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export declare function isFlowSetup(data: unknown): data is Flow.Setup;
|
|
33
|
-
/**
|
|
34
|
-
* Validate Flow.Setup and throw descriptive error if invalid.
|
|
35
|
-
*
|
|
36
|
-
* @remarks
|
|
37
|
-
* Uses Zod validation from @walkeros/core.
|
|
38
|
-
* Provides detailed error messages from Zod.
|
|
39
|
-
*
|
|
40
|
-
* @param data - Raw configuration data
|
|
41
|
-
* @returns Validated Flow.Setup
|
|
42
|
-
* @throws Error with descriptive message if validation fails
|
|
43
|
-
*/
|
|
44
|
-
export declare function validateFlowSetup(data: unknown): Flow.Setup;
|
|
45
|
-
/**
|
|
46
|
-
* Get available flow names from a Flow.Setup.
|
|
47
|
-
*
|
|
48
|
-
* @param setup - Flow.Setup configuration
|
|
49
|
-
* @returns Array of flow names
|
|
50
|
-
*/
|
|
51
|
-
export declare function getAvailableFlows(setup: Flow.Setup): string[];
|
|
52
|
-
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/config/validators.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAK3C;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,KAAK,GAAG,QAAQ,GAAG,SAAS,CAQ9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAG7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAkB3D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,CAE7D"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration Type Guards and Validators
|
|
3
|
-
*
|
|
4
|
-
* Type checking utilities for configuration validation.
|
|
5
|
-
* Uses Zod schemas from @walkeros/core for Flow.Setup validation.
|
|
6
|
-
*/
|
|
7
|
-
import { schemas } from '@walkeros/core/dev';
|
|
8
|
-
const { safeParseSetup } = schemas;
|
|
9
|
-
/**
|
|
10
|
-
* Type guard: Check if value is a plain object.
|
|
11
|
-
*/
|
|
12
|
-
export function isObject(value) {
|
|
13
|
-
return (typeof value === 'object' &&
|
|
14
|
-
value !== null &&
|
|
15
|
-
!Array.isArray(value) &&
|
|
16
|
-
Object.prototype.toString.call(value) === '[object Object]');
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Detect platform from flow config.
|
|
20
|
-
*
|
|
21
|
-
* Platform is determined by the presence of `web` or `server` key.
|
|
22
|
-
*/
|
|
23
|
-
export function detectPlatform(flowConfig) {
|
|
24
|
-
if ('web' in flowConfig && flowConfig.web !== undefined) {
|
|
25
|
-
return 'web';
|
|
26
|
-
}
|
|
27
|
-
if ('server' in flowConfig && flowConfig.server !== undefined) {
|
|
28
|
-
return 'server';
|
|
29
|
-
}
|
|
30
|
-
return undefined;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Type guard: Check if config is a valid Flow.Setup structure.
|
|
34
|
-
*
|
|
35
|
-
* @remarks
|
|
36
|
-
* Uses Zod validation from @walkeros/core.
|
|
37
|
-
* Returns false instead of throwing on invalid input.
|
|
38
|
-
*
|
|
39
|
-
* @example
|
|
40
|
-
* ```typescript
|
|
41
|
-
* if (isFlowSetup(config)) {
|
|
42
|
-
* const flowConfig = getFlowConfig(config, 'production');
|
|
43
|
-
* }
|
|
44
|
-
* ```
|
|
45
|
-
*/
|
|
46
|
-
export function isFlowSetup(data) {
|
|
47
|
-
const result = safeParseSetup(data);
|
|
48
|
-
return result.success;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Validate Flow.Setup and throw descriptive error if invalid.
|
|
52
|
-
*
|
|
53
|
-
* @remarks
|
|
54
|
-
* Uses Zod validation from @walkeros/core.
|
|
55
|
-
* Provides detailed error messages from Zod.
|
|
56
|
-
*
|
|
57
|
-
* @param data - Raw configuration data
|
|
58
|
-
* @returns Validated Flow.Setup
|
|
59
|
-
* @throws Error with descriptive message if validation fails
|
|
60
|
-
*/
|
|
61
|
-
export function validateFlowSetup(data) {
|
|
62
|
-
const result = safeParseSetup(data);
|
|
63
|
-
if (!result.success) {
|
|
64
|
-
// Format Zod errors for CLI display
|
|
65
|
-
const errors = result.error.issues
|
|
66
|
-
.map((issue) => {
|
|
67
|
-
const path = issue.path.length > 0 ? issue.path.map(String).join('.') : 'root';
|
|
68
|
-
return ` - ${path}: ${issue.message}`;
|
|
69
|
-
})
|
|
70
|
-
.join('\n');
|
|
71
|
-
throw new Error(`Invalid configuration:\n${errors}`);
|
|
72
|
-
}
|
|
73
|
-
// Cast to Flow.Setup since Zod's inferred type is compatible but not identical
|
|
74
|
-
return result.data;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Get available flow names from a Flow.Setup.
|
|
78
|
-
*
|
|
79
|
-
* @param setup - Flow.Setup configuration
|
|
80
|
-
* @returns Array of flow names
|
|
81
|
-
*/
|
|
82
|
-
export function getAvailableFlows(setup) {
|
|
83
|
-
return Object.keys(setup.flows);
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=validators.js.map
|