@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
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
/**
|
|
8
|
+
* Build defaults for web platform (browser bundles).
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* These settings produce browser-compatible IIFE bundles.
|
|
12
|
+
*/
|
|
13
|
+
export const WEB_BUILD_DEFAULTS = {
|
|
14
|
+
format: 'iife',
|
|
15
|
+
platform: 'browser',
|
|
16
|
+
target: 'es2020',
|
|
17
|
+
template: 'web.hbs',
|
|
18
|
+
minify: true,
|
|
19
|
+
sourcemap: false,
|
|
20
|
+
cache: true,
|
|
21
|
+
tempDir: '.tmp',
|
|
22
|
+
windowCollector: 'collector',
|
|
23
|
+
windowElb: 'elb',
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Build defaults for server platform (Node.js bundles).
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* These settings produce Node.js-compatible ESM bundles.
|
|
30
|
+
*/
|
|
31
|
+
export const SERVER_BUILD_DEFAULTS = {
|
|
32
|
+
format: 'esm',
|
|
33
|
+
platform: 'node',
|
|
34
|
+
target: 'node20',
|
|
35
|
+
template: 'server.hbs',
|
|
36
|
+
minify: true,
|
|
37
|
+
sourcemap: false,
|
|
38
|
+
cache: true,
|
|
39
|
+
tempDir: '.tmp',
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Default output paths by platform.
|
|
43
|
+
*/
|
|
44
|
+
export const DEFAULT_OUTPUT_PATHS = {
|
|
45
|
+
web: './dist/walker.js',
|
|
46
|
+
server: './dist/bundle.mjs',
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Get build defaults for a platform.
|
|
50
|
+
*
|
|
51
|
+
* @param platform - Target platform ('web' or 'server')
|
|
52
|
+
* @returns Platform-specific build defaults
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* const defaults = getBuildDefaults('web');
|
|
57
|
+
* // { format: 'iife', platform: 'browser', ... }
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export function getBuildDefaults(platform) {
|
|
61
|
+
return platform === 'web' ? WEB_BUILD_DEFAULTS : SERVER_BUILD_DEFAULTS;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get default output path for a platform.
|
|
65
|
+
*
|
|
66
|
+
* @param platform - Target platform ('web' or 'server')
|
|
67
|
+
* @returns Default output file path
|
|
68
|
+
*/
|
|
69
|
+
export function getDefaultOutput(platform) {
|
|
70
|
+
return DEFAULT_OUTPUT_PATHS[platform];
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=build-defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-defaults.js","sourceRoot":"","sources":["../../src/config/build-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA8C;IAC3E,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,MAAM;IACf,eAAe,EAAE,WAAW;IAC5B,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAChC;IACE,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,MAAM;CAChB,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,EAAE,kBAAkB;IACvB,MAAM,EAAE,mBAAmB;CACnB,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAA0B;IAE1B,OAAO,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA0B;IACzD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Configuration Module
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Config format: Flow.Setup from @walkeros/core
|
|
5
|
+
* Build options: Static platform defaults from build-defaults.ts
|
|
5
6
|
*/
|
|
6
|
-
export { isObject,
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export type {
|
|
11
|
-
export {
|
|
12
|
-
export type { LoadConfigResult, LoadConfigOptions } from './loader';
|
|
13
|
-
export type { BuildOptions, MinifyOptions, EnvironmentConfig, Setup, } from '../types/bundle';
|
|
7
|
+
export { isObject, detectPlatform, isFlowSetup, validateFlowSetup, getAvailableFlows as getFlowNames, } from './validators.js';
|
|
8
|
+
export { WEB_BUILD_DEFAULTS, SERVER_BUILD_DEFAULTS, DEFAULT_OUTPUT_PATHS, getBuildDefaults, getDefaultOutput, } from './build-defaults.js';
|
|
9
|
+
export { substituteEnvVariables, loadJsonConfig, loadJsonFromSource, getTempDir, } from './utils.js';
|
|
10
|
+
export { loadBundleConfig, loadAllFlows, getAvailableFlows } from './loader.js';
|
|
11
|
+
export type { LoadConfigResult, LoadConfigOptions } from './loader.js';
|
|
12
|
+
export type { BuildOptions, CLIBuildOptions, MinifyOptions, Flow, } from '../types/bundle.js';
|
|
14
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,QAAQ,EACR,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,iBAAiB,IAAI,YAAY,GAClC,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGvE,YAAY,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,IAAI,GACL,MAAM,oBAAoB,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Configuration Module
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Config format: Flow.Setup from @walkeros/core
|
|
5
|
+
* Build options: Static platform defaults from build-defaults.ts
|
|
5
6
|
*/
|
|
6
7
|
// Type guards and validators
|
|
7
|
-
export { isObject,
|
|
8
|
+
export { isObject, detectPlatform, isFlowSetup, validateFlowSetup, getAvailableFlows as getFlowNames, } from './validators.js';
|
|
9
|
+
// Build defaults
|
|
10
|
+
export { WEB_BUILD_DEFAULTS, SERVER_BUILD_DEFAULTS, DEFAULT_OUTPUT_PATHS, getBuildDefaults, getDefaultOutput, } from './build-defaults.js';
|
|
8
11
|
// Utility functions
|
|
9
|
-
export { substituteEnvVariables, loadJsonConfig, loadJsonFromSource, getTempDir, } from './utils';
|
|
10
|
-
// Platform defaults
|
|
11
|
-
export { getDefaultBuildOptions, ensureBuildOptions } from './defaults';
|
|
12
|
-
// Parser
|
|
13
|
-
export { parseBundleConfig, safeParseBundleConfig, normalizeConfigs, } from './parser';
|
|
12
|
+
export { substituteEnvVariables, loadJsonConfig, loadJsonFromSource, getTempDir, } from './utils.js';
|
|
14
13
|
// Loader
|
|
15
|
-
export { loadBundleConfig,
|
|
14
|
+
export { loadBundleConfig, loadAllFlows, getAvailableFlows } from './loader.js';
|
|
16
15
|
//# sourceMappingURL=index.js.map
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,6BAA6B;AAC7B,OAAO,EACL,QAAQ,EACR,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,iBAAiB,IAAI,YAAY,GAClC,MAAM,iBAAiB,CAAC;AAEzB,iBAAiB;AACjB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,oBAAoB;AACpB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/config/loader.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Configuration Loader
|
|
3
3
|
*
|
|
4
|
-
* Loads and parses configurations
|
|
5
|
-
*
|
|
6
|
-
* - Multi-environment setups
|
|
7
|
-
* - Environment selection
|
|
4
|
+
* Loads and parses Flow.Setup configurations using core getFlowConfig().
|
|
5
|
+
* Build options are determined by static platform defaults.
|
|
8
6
|
*/
|
|
9
|
-
import type
|
|
10
|
-
import type { BuildOptions } from '../types/bundle';
|
|
7
|
+
import { type Flow } from '@walkeros/core';
|
|
8
|
+
import type { BuildOptions } from '../types/bundle.js';
|
|
11
9
|
/**
|
|
12
10
|
* Result of configuration loading.
|
|
13
11
|
*/
|
|
@@ -16,12 +14,12 @@ export interface LoadConfigResult {
|
|
|
16
14
|
flowConfig: Flow.Config;
|
|
17
15
|
/** Build-time configuration */
|
|
18
16
|
buildOptions: BuildOptions;
|
|
19
|
-
/** Name of the selected
|
|
20
|
-
|
|
21
|
-
/** Whether
|
|
22
|
-
|
|
23
|
-
/** All available
|
|
24
|
-
|
|
17
|
+
/** Name of the selected flow */
|
|
18
|
+
flowName: string;
|
|
19
|
+
/** Whether multiple flows are available */
|
|
20
|
+
isMultiFlow: boolean;
|
|
21
|
+
/** All available flow names */
|
|
22
|
+
availableFlows: string[];
|
|
25
23
|
}
|
|
26
24
|
/**
|
|
27
25
|
* Options for loading configuration.
|
|
@@ -29,8 +27,10 @@ export interface LoadConfigResult {
|
|
|
29
27
|
export interface LoadConfigOptions {
|
|
30
28
|
/** Path to config file */
|
|
31
29
|
configPath: string;
|
|
32
|
-
/**
|
|
33
|
-
|
|
30
|
+
/** Flow name to load (required for multi-flow, optional for single-flow) */
|
|
31
|
+
flowName?: string;
|
|
32
|
+
/** CLI build overrides (future: --output, --minify, etc.) */
|
|
33
|
+
buildOverrides?: Partial<BuildOptions>;
|
|
34
34
|
/** Logger for warnings */
|
|
35
35
|
logger?: {
|
|
36
36
|
warn: (message: string) => void;
|
|
@@ -41,34 +41,41 @@ export interface LoadConfigOptions {
|
|
|
41
41
|
* Load and parse bundle configuration.
|
|
42
42
|
*
|
|
43
43
|
* @remarks
|
|
44
|
-
*
|
|
45
|
-
* -
|
|
46
|
-
* -
|
|
47
|
-
* -
|
|
48
|
-
*
|
|
49
|
-
* For multi-environment configs, requires `environment` option.
|
|
44
|
+
* Uses Flow.Setup from @walkeros/core as the only config format.
|
|
45
|
+
* - Validates config structure
|
|
46
|
+
* - Uses core getFlowConfig() for variable/definition resolution
|
|
47
|
+
* - Determines platform from resolved config
|
|
48
|
+
* - Applies static build defaults based on platform
|
|
50
49
|
*
|
|
51
50
|
* @param rawConfig - Raw configuration object from JSON file
|
|
52
51
|
* @param options - Loading options
|
|
53
52
|
* @returns Parsed configuration with flow and build separated
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* const config = loadBundleConfig(rawConfig, {
|
|
57
|
+
* configPath: './walkeros.config.json',
|
|
58
|
+
* flowName: 'production',
|
|
59
|
+
* });
|
|
60
|
+
* ```
|
|
54
61
|
*/
|
|
55
62
|
export declare function loadBundleConfig(rawConfig: unknown, options: LoadConfigOptions): LoadConfigResult;
|
|
56
63
|
/**
|
|
57
|
-
* Load all
|
|
64
|
+
* Load all flows from a configuration.
|
|
58
65
|
*
|
|
59
66
|
* @remarks
|
|
60
|
-
* Used by the --all flag to build all
|
|
67
|
+
* Used by the --all flag to build all flows.
|
|
61
68
|
*
|
|
62
69
|
* @param rawConfig - Raw configuration object
|
|
63
|
-
* @param options - Loading options
|
|
64
|
-
* @returns Array of loaded configurations for all
|
|
70
|
+
* @param options - Loading options (without flowName)
|
|
71
|
+
* @returns Array of loaded configurations for all flows
|
|
65
72
|
*/
|
|
66
|
-
export declare function
|
|
73
|
+
export declare function loadAllFlows(rawConfig: unknown, options: Omit<LoadConfigOptions, 'flowName'>): LoadConfigResult[];
|
|
67
74
|
/**
|
|
68
|
-
* Get list of available
|
|
75
|
+
* Get list of available flows from configuration.
|
|
69
76
|
*
|
|
70
77
|
* @param rawConfig - Raw configuration object
|
|
71
|
-
* @returns Array of
|
|
78
|
+
* @returns Array of flow names
|
|
72
79
|
*/
|
|
73
|
-
export declare function
|
|
80
|
+
export declare function getAvailableFlows(rawConfig: unknown): string[];
|
|
74
81
|
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAA8B,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAWvD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,+BAA+B;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,+BAA+B;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACvC,0BAA0B;IAC1B,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACjC,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CAyElB;AAwCD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAC3C,gBAAgB,EAAE,CAkBpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,CAK9D"}
|
package/dist/config/loader.js
CHANGED
|
@@ -1,135 +1,154 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Configuration Loader
|
|
3
3
|
*
|
|
4
|
-
* Loads and parses configurations
|
|
5
|
-
*
|
|
6
|
-
* - Multi-environment setups
|
|
7
|
-
* - Environment selection
|
|
4
|
+
* Loads and parses Flow.Setup configurations using core getFlowConfig().
|
|
5
|
+
* Build options are determined by static platform defaults.
|
|
8
6
|
*/
|
|
9
|
-
import
|
|
10
|
-
import
|
|
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';
|
|
11
14
|
/**
|
|
12
15
|
* Load and parse bundle configuration.
|
|
13
16
|
*
|
|
14
17
|
* @remarks
|
|
15
|
-
*
|
|
16
|
-
* -
|
|
17
|
-
* -
|
|
18
|
-
* -
|
|
19
|
-
*
|
|
20
|
-
* For multi-environment configs, requires `environment` option.
|
|
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
|
|
21
23
|
*
|
|
22
24
|
* @param rawConfig - Raw configuration object from JSON file
|
|
23
25
|
* @param options - Loading options
|
|
24
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
|
+
* ```
|
|
25
35
|
*/
|
|
26
36
|
export function loadBundleConfig(rawConfig, options) {
|
|
27
|
-
//
|
|
28
|
-
|
|
29
|
-
|
|
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.`);
|
|
30
48
|
}
|
|
31
|
-
//
|
|
32
|
-
|
|
33
|
-
|
|
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;
|
|
34
57
|
}
|
|
35
|
-
//
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
: `not an object (got ${typeof rawConfig})`;
|
|
41
|
-
throw new Error(`Invalid configuration format at ${options.configPath}.\n` +
|
|
42
|
-
`Configuration ${configType}.\n\n` +
|
|
43
|
-
`Expected either:\n` +
|
|
44
|
-
` 1. Multi-environment: { version: 1, environments: { prod: { flow: {...}, build: {...} } } }\n` +
|
|
45
|
-
` 2. Single-environment: { flow: { platform: "web" | "server", ... }, build: { packages: {...}, ... } }`);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Load multi-environment configuration.
|
|
49
|
-
*/
|
|
50
|
-
function loadMultiEnvironmentConfig(setup, options) {
|
|
51
|
-
const availableEnvironments = Object.keys(setup.environments);
|
|
52
|
-
// Validate environment selection
|
|
53
|
-
if (!options.environment) {
|
|
54
|
-
throw new Error(`Multi-environment configuration detected. Please specify an environment using --env flag.\n` +
|
|
55
|
-
`Available environments: ${availableEnvironments.join(', ')}`);
|
|
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);
|
|
56
63
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
+
}
|
|
61
71
|
}
|
|
62
|
-
//
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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)`);
|
|
68
85
|
}
|
|
69
86
|
return {
|
|
70
87
|
flowConfig,
|
|
71
88
|
buildOptions,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
89
|
+
flowName,
|
|
90
|
+
isMultiFlow,
|
|
91
|
+
availableFlows,
|
|
75
92
|
};
|
|
76
93
|
}
|
|
77
94
|
/**
|
|
78
|
-
*
|
|
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
|
|
79
102
|
*/
|
|
80
|
-
function
|
|
81
|
-
//
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
options.logger.warn(`--env flag specified but configuration is single-environment. Ignoring flag.`);
|
|
103
|
+
function resolveFlow(setup, requestedFlow, available) {
|
|
104
|
+
// If only one flow, use it automatically
|
|
105
|
+
if (available.length === 1) {
|
|
106
|
+
return available[0];
|
|
85
107
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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;
|
|
92
119
|
}
|
|
93
|
-
// Legacy format support removed in v0.3.0
|
|
94
|
-
// Migration: Convert old format { platform, sources, destinations, packages, code, output }
|
|
95
|
-
// To new format: { flow: { platform, sources, destinations }, build: { packages, code, output } }
|
|
96
|
-
// See docs/MIGRATION.md for details
|
|
97
120
|
/**
|
|
98
|
-
* Load all
|
|
121
|
+
* Load all flows from a configuration.
|
|
99
122
|
*
|
|
100
123
|
* @remarks
|
|
101
|
-
* Used by the --all flag to build all
|
|
124
|
+
* Used by the --all flag to build all flows.
|
|
102
125
|
*
|
|
103
126
|
* @param rawConfig - Raw configuration object
|
|
104
|
-
* @param options - Loading options
|
|
105
|
-
* @returns Array of loaded configurations for all
|
|
127
|
+
* @param options - Loading options (without flowName)
|
|
128
|
+
* @returns Array of loaded configurations for all flows
|
|
106
129
|
*/
|
|
107
|
-
export function
|
|
108
|
-
//
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
`Your configuration appears to be single-environment.`);
|
|
112
|
-
}
|
|
113
|
-
const setup = rawConfig;
|
|
114
|
-
const environments = Object.keys(setup.environments);
|
|
130
|
+
export function loadAllFlows(rawConfig, options) {
|
|
131
|
+
// Validate as Flow.Setup
|
|
132
|
+
const setup = validateFlowSetup(rawConfig);
|
|
133
|
+
const flows = getFlowNames(setup);
|
|
115
134
|
if (options.logger) {
|
|
116
|
-
options.logger.info(`📦 Loading all ${
|
|
135
|
+
options.logger.info(`📦 Loading all ${flows.length} flows: ${flows.join(', ')}`);
|
|
117
136
|
}
|
|
118
|
-
// Load each
|
|
119
|
-
return
|
|
137
|
+
// Load each flow
|
|
138
|
+
return flows.map((name) => loadBundleConfig(rawConfig, {
|
|
120
139
|
...options,
|
|
121
|
-
|
|
140
|
+
flowName: name,
|
|
122
141
|
}));
|
|
123
142
|
}
|
|
124
143
|
/**
|
|
125
|
-
* Get list of available
|
|
144
|
+
* Get list of available flows from configuration.
|
|
126
145
|
*
|
|
127
146
|
* @param rawConfig - Raw configuration object
|
|
128
|
-
* @returns Array of
|
|
147
|
+
* @returns Array of flow names
|
|
129
148
|
*/
|
|
130
|
-
export function
|
|
131
|
-
if (
|
|
132
|
-
return
|
|
149
|
+
export function getAvailableFlows(rawConfig) {
|
|
150
|
+
if (isFlowSetup(rawConfig)) {
|
|
151
|
+
return getFlowNames(rawConfig);
|
|
133
152
|
}
|
|
134
153
|
return [];
|
|
135
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
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
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import fs from 'fs-extra';
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import os from 'os';
|
|
7
|
+
import { getErrorMessage } from '../core/index.js';
|
|
7
8
|
/**
|
|
8
9
|
* Check if a string is a valid URL
|
|
9
10
|
*
|
|
@@ -224,7 +225,7 @@ export async function loadJsonFromSource(source, options) {
|
|
|
224
225
|
}
|
|
225
226
|
}
|
|
226
227
|
catch (error) {
|
|
227
|
-
throw new Error(`Failed to load ${paramName} from URL ${trimmedSource}: ${
|
|
228
|
+
throw new Error(`Failed to load ${paramName} from URL ${trimmedSource}: ${getErrorMessage(error)}`);
|
|
228
229
|
}
|
|
229
230
|
}
|
|
230
231
|
// 2. Check if file path exists
|
|
@@ -235,7 +236,7 @@ export async function loadJsonFromSource(source, options) {
|
|
|
235
236
|
return data;
|
|
236
237
|
}
|
|
237
238
|
catch (error) {
|
|
238
|
-
throw new Error(`Failed to parse ${paramName} from file ${trimmedSource}: ${
|
|
239
|
+
throw new Error(`Failed to parse ${paramName} from file ${trimmedSource}: ${getErrorMessage(error)}`);
|
|
239
240
|
}
|
|
240
241
|
}
|
|
241
242
|
// 3. Try to parse as inline JSON
|
package/dist/config/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"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"}
|