@walkeros/cli 0.4.1 → 0.5.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 +26 -0
- package/README.md +247 -46
- package/dist/__tests__/bundle/bundler-helpers.test.js +0 -134
- package/dist/__tests__/bundle/bundler-helpers.test.js.map +1 -1
- package/dist/__tests__/bundle/bundler.test.js +253 -183
- package/dist/__tests__/bundle/bundler.test.js.map +1 -1
- package/dist/__tests__/bundle/programmatic.test.js +74 -53
- package/dist/__tests__/bundle/programmatic.test.js.map +1 -1
- package/dist/__tests__/cli.test.js +58 -46
- 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 +229 -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__/integration/bundle-run.integration.test.js +8 -4
- package/dist/__tests__/integration/bundle-run.integration.test.js.map +1 -1
- 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 +58 -0
- package/dist/__tests__/simulate/server-simulate.integration.test.js.map +1 -0
- package/dist/__tests__/smoke/production.smoke.test.js +9 -2
- package/dist/__tests__/smoke/production.smoke.test.js.map +1 -1
- package/dist/commands/bundle/bundler.d.ts +18 -0
- package/dist/commands/bundle/bundler.d.ts.map +1 -1
- package/dist/commands/bundle/bundler.js +286 -80
- package/dist/commands/bundle/bundler.js.map +1 -1
- package/dist/commands/bundle/index.d.ts +16 -10
- package/dist/commands/bundle/index.d.ts.map +1 -1
- package/dist/commands/bundle/index.js +44 -32
- package/dist/commands/bundle/index.js.map +1 -1
- package/dist/commands/bundle/package-manager.d.ts +2 -1
- 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/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.map +1 -1
- package/dist/commands/push/index.js +49 -44
- package/dist/commands/push/index.js.map +1 -1
- package/dist/commands/push/types.d.ts +1 -1
- package/dist/commands/push/types.d.ts.map +1 -1
- package/dist/commands/run/__tests__/run.integration.test.js +14 -15
- package/dist/commands/run/__tests__/run.integration.test.js.map +1 -1
- package/dist/commands/run/execution.d.ts.map +1 -1
- package/dist/commands/run/execution.js +6 -2
- package/dist/commands/run/execution.js.map +1 -1
- package/dist/commands/run/utils.d.ts +4 -1
- package/dist/commands/run/utils.d.ts.map +1 -1
- package/dist/commands/run/utils.js +18 -24
- package/dist/commands/run/utils.js.map +1 -1
- 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 +14 -11
- package/dist/commands/run/validators.js.map +1 -1
- package/dist/commands/simulate/index.d.ts +1 -0
- package/dist/commands/simulate/index.d.ts.map +1 -1
- package/dist/commands/simulate/index.js +1 -0
- package/dist/commands/simulate/index.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.map +1 -1
- package/dist/commands/simulate/simulator.js +36 -32
- package/dist/commands/simulate/simulator.js.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 +70 -0
- package/dist/config/build-defaults.js.map +1 -0
- package/dist/config/index.d.ts +6 -7
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +6 -7
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +34 -27
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +107 -92
- package/dist/config/loader.js.map +1 -1
- package/dist/config/validators.d.ts +34 -8
- package/dist/config/validators.d.ts.map +1 -1
- package/dist/config/validators.js +59 -21
- package/dist/config/validators.js.map +1 -1
- package/dist/core/asset-resolver.d.ts +9 -16
- package/dist/core/asset-resolver.d.ts.map +1 -1
- package/dist/core/asset-resolver.js +30 -41
- 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.map +1 -1
- package/dist/core/docker.js +14 -27
- package/dist/core/docker.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- 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/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 +355 -0
- package/dist/examples/event.json +53 -0
- package/dist/examples/flow-order-complete.json +67 -0
- package/dist/examples/flow-simple.json +31 -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 +80 -310
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +924 -736
- 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/types/bundle.d.ts +64 -191
- package/dist/types/bundle.d.ts.map +1 -1
- package/dist/types/bundle.js +2 -2
- package/dist/walker.js +1 -0
- package/examples/README.md +55 -30
- package/examples/flow-order-complete.json +56 -57
- package/examples/flow-simple.json +24 -25
- package/examples/flow.json +69 -69
- package/examples/server-collect.json +51 -44
- package/examples/server-collect.mjs +1 -1
- package/examples/web-serve.json +62 -63
- package/package.json +2 -4
- 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/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/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/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 -128
- package/dist/config/parser.d.ts.map +0 -1
- package/dist/config/parser.js +0 -256
- package/dist/config/parser.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/templates/server.hbs +0 -29
- package/templates/web.hbs +0 -45
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static Build Defaults
|
|
3
|
+
*
|
|
4
|
+
* Platform-specific build defaults for CLI bundling.
|
|
5
|
+
* Build options are CLI concerns, separate from Flow configuration.
|
|
6
|
+
*/
|
|
7
|
+
import type { BuildOptions } from '../types/bundle.js';
|
|
8
|
+
/**
|
|
9
|
+
* Build defaults for web platform (browser bundles).
|
|
10
|
+
*
|
|
11
|
+
* @remarks
|
|
12
|
+
* These settings produce browser-compatible IIFE bundles.
|
|
13
|
+
*/
|
|
14
|
+
export declare const WEB_BUILD_DEFAULTS: Omit<BuildOptions, 'output' | 'packages'>;
|
|
15
|
+
/**
|
|
16
|
+
* Build defaults for server platform (Node.js bundles).
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
* These settings produce Node.js-compatible ESM bundles.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SERVER_BUILD_DEFAULTS: Omit<BuildOptions, 'output' | 'packages'>;
|
|
22
|
+
/**
|
|
23
|
+
* Default output paths by platform.
|
|
24
|
+
*/
|
|
25
|
+
export declare const DEFAULT_OUTPUT_PATHS: {
|
|
26
|
+
readonly web: "./dist/walker.js";
|
|
27
|
+
readonly server: "./dist/bundle.mjs";
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Get build defaults for a platform.
|
|
31
|
+
*
|
|
32
|
+
* @param platform - Target platform ('web' or 'server')
|
|
33
|
+
* @returns Platform-specific build defaults
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const defaults = getBuildDefaults('web');
|
|
38
|
+
* // { format: 'iife', platform: 'browser', ... }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function getBuildDefaults(platform: 'web' | 'server'): Omit<BuildOptions, 'output' | 'packages'>;
|
|
42
|
+
/**
|
|
43
|
+
* Get default output path for a platform.
|
|
44
|
+
*
|
|
45
|
+
* @param platform - Target platform ('web' or 'server')
|
|
46
|
+
* @returns Default output file path
|
|
47
|
+
*/
|
|
48
|
+
export declare function getDefaultOutput(platform: 'web' | 'server'): string;
|
|
49
|
+
//# sourceMappingURL=build-defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-defaults.d.ts","sourceRoot":"","sources":["../../src/config/build-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,UAAU,CAUxE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,UAAU,CASzE,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;CAGvB,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,KAAK,GAAG,QAAQ,GACzB,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,UAAU,CAAC,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAEnE"}
|
|
@@ -0,0 +1,70 @@
|
|
|
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
|
+
minify: true,
|
|
18
|
+
sourcemap: false,
|
|
19
|
+
cache: true,
|
|
20
|
+
tempDir: '.tmp',
|
|
21
|
+
windowCollector: 'collector',
|
|
22
|
+
windowElb: 'elb',
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Build defaults for server platform (Node.js bundles).
|
|
26
|
+
*
|
|
27
|
+
* @remarks
|
|
28
|
+
* These settings produce Node.js-compatible ESM bundles.
|
|
29
|
+
*/
|
|
30
|
+
export const SERVER_BUILD_DEFAULTS = {
|
|
31
|
+
format: 'esm',
|
|
32
|
+
platform: 'node',
|
|
33
|
+
target: 'node20',
|
|
34
|
+
minify: true,
|
|
35
|
+
sourcemap: false,
|
|
36
|
+
cache: true,
|
|
37
|
+
tempDir: '.tmp',
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Default output paths by platform.
|
|
41
|
+
*/
|
|
42
|
+
export const DEFAULT_OUTPUT_PATHS = {
|
|
43
|
+
web: './dist/walker.js',
|
|
44
|
+
server: './dist/bundle.mjs',
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Get build defaults for a platform.
|
|
48
|
+
*
|
|
49
|
+
* @param platform - Target platform ('web' or 'server')
|
|
50
|
+
* @returns Platform-specific build defaults
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const defaults = getBuildDefaults('web');
|
|
55
|
+
* // { format: 'iife', platform: 'browser', ... }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export function getBuildDefaults(platform) {
|
|
59
|
+
return platform === 'web' ? WEB_BUILD_DEFAULTS : SERVER_BUILD_DEFAULTS;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get default output path for a platform.
|
|
63
|
+
*
|
|
64
|
+
* @param platform - Target platform ('web' or 'server')
|
|
65
|
+
* @returns Default output file path
|
|
66
|
+
*/
|
|
67
|
+
export function getDefaultOutput(platform) {
|
|
68
|
+
return DEFAULT_OUTPUT_PATHS[platform];
|
|
69
|
+
}
|
|
70
|
+
//# 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,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,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 { 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';
|
|
7
9
|
export { substituteEnvVariables, loadJsonConfig, loadJsonFromSource, getTempDir, } from './utils.js';
|
|
8
|
-
export {
|
|
9
|
-
export { parseBundleConfig, safeParseBundleConfig, normalizeConfigs, } from './parser.js';
|
|
10
|
-
export type { ParsedConfig } from './parser.js';
|
|
11
|
-
export { loadBundleConfig, loadAllEnvironments, getAvailableEnvironments, } from './loader.js';
|
|
10
|
+
export { loadBundleConfig, loadAllFlows, getAvailableFlows } from './loader.js';
|
|
12
11
|
export type { LoadConfigResult, LoadConfigOptions } from './loader.js';
|
|
13
|
-
export type { BuildOptions,
|
|
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
12
|
export { substituteEnvVariables, loadJsonConfig, loadJsonFromSource, getTempDir, } from './utils.js';
|
|
10
|
-
// Platform defaults
|
|
11
|
-
export { getDefaultBuildOptions, ensureBuildOptions } from './defaults.js';
|
|
12
|
-
// Parser
|
|
13
|
-
export { parseBundleConfig, safeParseBundleConfig, normalizeConfigs, } from './parser.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,12 +1,10 @@
|
|
|
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
|
|
7
|
+
import { type Flow } from '@walkeros/core';
|
|
10
8
|
import type { BuildOptions } from '../types/bundle.js';
|
|
11
9
|
/**
|
|
12
10
|
* Result of configuration loading.
|
|
@@ -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,139 +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
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
//
|
|
33
|
-
const
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
|
|
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.`);
|
|
37
48
|
}
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
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;
|
|
41
57
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Load multi-environment configuration.
|
|
49
|
-
*
|
|
50
|
-
* @deprecated Kept for backward compatibility. Use loadBundleConfig() instead.
|
|
51
|
-
*/
|
|
52
|
-
function loadMultiEnvironmentConfig(setup, options) {
|
|
53
|
-
const availableEnvironments = Object.keys(setup.environments);
|
|
54
|
-
// Validate environment selection
|
|
55
|
-
if (!options.environment) {
|
|
56
|
-
throw new Error(`Multi-environment configuration detected. Please specify an environment using --env flag.\n` +
|
|
57
|
-
`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);
|
|
58
63
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
+
}
|
|
63
71
|
}
|
|
64
|
-
//
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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)`);
|
|
70
85
|
}
|
|
71
86
|
return {
|
|
72
87
|
flowConfig,
|
|
73
88
|
buildOptions,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
89
|
+
flowName,
|
|
90
|
+
isMultiFlow,
|
|
91
|
+
availableFlows,
|
|
77
92
|
};
|
|
78
93
|
}
|
|
79
94
|
/**
|
|
80
|
-
*
|
|
95
|
+
* Resolve which flow to use.
|
|
81
96
|
*
|
|
82
|
-
* @
|
|
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
|
|
83
102
|
*/
|
|
84
|
-
function
|
|
85
|
-
//
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
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];
|
|
89
107
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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;
|
|
96
119
|
}
|
|
97
|
-
// Legacy format support removed in v0.3.0
|
|
98
|
-
// Migration: Convert old format { platform, sources, destinations, packages, code, output }
|
|
99
|
-
// To new format: { flow: { platform, sources, destinations }, build: { packages, code, output } }
|
|
100
|
-
// See docs/MIGRATION.md for details
|
|
101
120
|
/**
|
|
102
|
-
* Load all
|
|
121
|
+
* Load all flows from a configuration.
|
|
103
122
|
*
|
|
104
123
|
* @remarks
|
|
105
|
-
* Used by the --all flag to build all
|
|
124
|
+
* Used by the --all flag to build all flows.
|
|
106
125
|
*
|
|
107
126
|
* @param rawConfig - Raw configuration object
|
|
108
|
-
* @param options - Loading options
|
|
109
|
-
* @returns Array of loaded configurations for all
|
|
127
|
+
* @param options - Loading options (without flowName)
|
|
128
|
+
* @returns Array of loaded configurations for all flows
|
|
110
129
|
*/
|
|
111
|
-
export function
|
|
112
|
-
//
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
`Your configuration appears to be single-environment.`);
|
|
116
|
-
}
|
|
117
|
-
const setup = rawConfig;
|
|
118
|
-
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);
|
|
119
134
|
if (options.logger) {
|
|
120
|
-
options.logger.info(`📦 Loading all ${
|
|
135
|
+
options.logger.info(`📦 Loading all ${flows.length} flows: ${flows.join(', ')}`);
|
|
121
136
|
}
|
|
122
|
-
// Load each
|
|
123
|
-
return
|
|
137
|
+
// Load each flow
|
|
138
|
+
return flows.map((name) => loadBundleConfig(rawConfig, {
|
|
124
139
|
...options,
|
|
125
|
-
|
|
140
|
+
flowName: name,
|
|
126
141
|
}));
|
|
127
142
|
}
|
|
128
143
|
/**
|
|
129
|
-
* Get list of available
|
|
144
|
+
* Get list of available flows from configuration.
|
|
130
145
|
*
|
|
131
146
|
* @param rawConfig - Raw configuration object
|
|
132
|
-
* @returns Array of
|
|
147
|
+
* @returns Array of flow names
|
|
133
148
|
*/
|
|
134
|
-
export function
|
|
135
|
-
if (
|
|
136
|
-
return
|
|
149
|
+
export function getAvailableFlows(rawConfig) {
|
|
150
|
+
if (isFlowSetup(rawConfig)) {
|
|
151
|
+
return getFlowNames(rawConfig);
|
|
137
152
|
}
|
|
138
153
|
return [];
|
|
139
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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"}
|