@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/config/validators.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;AAEnC;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAC5D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAmC;IAEnC,IAAI,KAAK,IAAI,UAAU,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9D,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,oCAAoC;QACpC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpE,OAAO,OAAO,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,+EAA+E;IAC/E,OAAO,MAAM,CAAC,IAAkB,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAiB;IACjD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Asset Resolver
|
|
3
|
-
*
|
|
4
|
-
* Unified path resolution for package assets (templates, examples) and user assets.
|
|
5
|
-
* Assets are always siblings to the CLI entry point (in dist/ for production).
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Get the directory containing CLI assets (templates, examples).
|
|
9
|
-
*
|
|
10
|
-
* In production: assets are in dist/ alongside the bundled CLI
|
|
11
|
-
* In development: assets are at package root
|
|
12
|
-
*
|
|
13
|
-
* @returns Absolute path to assets directory
|
|
14
|
-
*/
|
|
15
|
-
export declare function getAssetDir(): string;
|
|
16
|
-
/**
|
|
17
|
-
* Asset type for resolution strategy
|
|
18
|
-
*/
|
|
19
|
-
export type AssetType = 'template' | 'config' | 'bundle';
|
|
20
|
-
/**
|
|
21
|
-
* Resolve asset path using unified strategy
|
|
22
|
-
*
|
|
23
|
-
* Resolution rules:
|
|
24
|
-
* 1. Bare names (no / or \) → Package asset (templates or examples)
|
|
25
|
-
* 2. Relative paths (./ or ../) → User asset relative to base directory
|
|
26
|
-
* 3. Absolute paths → Use as-is
|
|
27
|
-
*
|
|
28
|
-
* @param assetPath - Path to resolve
|
|
29
|
-
* @param assetType - Type of asset (determines package subdirectory)
|
|
30
|
-
* @param baseDir - Base directory for relative paths (defaults to cwd)
|
|
31
|
-
* @returns Absolute path to asset
|
|
32
|
-
*/
|
|
33
|
-
export declare function resolveAsset(assetPath: string, assetType: AssetType, baseDir?: string): string;
|
|
34
|
-
//# sourceMappingURL=asset-resolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asset-resolver.d.ts","sourceRoot":"","sources":["../../src/core/asset-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;;;;;;GAOG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAkBpC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAkBR"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Asset Resolver
|
|
3
|
-
*
|
|
4
|
-
* Unified path resolution for package assets (templates, examples) and user assets.
|
|
5
|
-
* Assets are always siblings to the CLI entry point (in dist/ for production).
|
|
6
|
-
*/
|
|
7
|
-
import { fileURLToPath } from 'url';
|
|
8
|
-
import { existsSync } from 'fs';
|
|
9
|
-
import path from 'path';
|
|
10
|
-
/**
|
|
11
|
-
* Cached asset directory to avoid repeated filesystem checks
|
|
12
|
-
*/
|
|
13
|
-
let cachedAssetDir;
|
|
14
|
-
/**
|
|
15
|
-
* Get the directory containing CLI assets (templates, examples).
|
|
16
|
-
*
|
|
17
|
-
* In production: assets are in dist/ alongside the bundled CLI
|
|
18
|
-
* In development: assets are at package root
|
|
19
|
-
*
|
|
20
|
-
* @returns Absolute path to assets directory
|
|
21
|
-
*/
|
|
22
|
-
export function getAssetDir() {
|
|
23
|
-
if (cachedAssetDir)
|
|
24
|
-
return cachedAssetDir;
|
|
25
|
-
const currentFile = fileURLToPath(import.meta.url);
|
|
26
|
-
let dir = path.dirname(currentFile);
|
|
27
|
-
// Walk up until we find a directory with templates/ sibling
|
|
28
|
-
while (dir !== path.dirname(dir)) {
|
|
29
|
-
if (existsSync(path.join(dir, 'templates'))) {
|
|
30
|
-
cachedAssetDir = dir;
|
|
31
|
-
return dir;
|
|
32
|
-
}
|
|
33
|
-
dir = path.dirname(dir);
|
|
34
|
-
}
|
|
35
|
-
// Fallback to current file's directory (shouldn't happen if build is correct)
|
|
36
|
-
cachedAssetDir = path.dirname(currentFile);
|
|
37
|
-
return cachedAssetDir;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Resolve asset path using unified strategy
|
|
41
|
-
*
|
|
42
|
-
* Resolution rules:
|
|
43
|
-
* 1. Bare names (no / or \) → Package asset (templates or examples)
|
|
44
|
-
* 2. Relative paths (./ or ../) → User asset relative to base directory
|
|
45
|
-
* 3. Absolute paths → Use as-is
|
|
46
|
-
*
|
|
47
|
-
* @param assetPath - Path to resolve
|
|
48
|
-
* @param assetType - Type of asset (determines package subdirectory)
|
|
49
|
-
* @param baseDir - Base directory for relative paths (defaults to cwd)
|
|
50
|
-
* @returns Absolute path to asset
|
|
51
|
-
*/
|
|
52
|
-
export function resolveAsset(assetPath, assetType, baseDir) {
|
|
53
|
-
// Bare name → package asset
|
|
54
|
-
if (!assetPath.includes('/') && !assetPath.includes('\\')) {
|
|
55
|
-
const assetDir = getAssetDir();
|
|
56
|
-
if (assetType === 'template') {
|
|
57
|
-
return path.join(assetDir, 'templates', assetPath);
|
|
58
|
-
}
|
|
59
|
-
// config or bundle → examples directory
|
|
60
|
-
return path.join(assetDir, 'examples', assetPath);
|
|
61
|
-
}
|
|
62
|
-
// Absolute path → use as-is
|
|
63
|
-
if (path.isAbsolute(assetPath)) {
|
|
64
|
-
return assetPath;
|
|
65
|
-
}
|
|
66
|
-
// Relative path → resolve from base directory
|
|
67
|
-
return path.resolve(baseDir || process.cwd(), assetPath);
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=asset-resolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asset-resolver.js","sourceRoot":"","sources":["../../src/core/asset-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,IAAI,cAAkC,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEpC,4DAA4D;IAC5D,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YAC5C,cAAc,GAAG,GAAG,CAAC;YACrB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,8EAA8E;IAC9E,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,OAAO,cAAc,CAAC;AACxB,CAAC;AAOD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAiB,EACjB,SAAoB,EACpB,OAAgB;IAEhB,4BAA4B;IAC5B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QACD,wCAAwC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,4BAA4B;IAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8CAA8C;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Build artifact cache for flow.json configurations
|
|
3
|
-
*
|
|
4
|
-
* Caches compiled bundles based on configuration content + date.
|
|
5
|
-
* Enables intelligent cache reuse with daily rebuild guarantee.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Get the cache file path for a flow.json configuration
|
|
9
|
-
*/
|
|
10
|
-
export declare function getBuildCachePath(configContent: string, cacheDir?: string): Promise<string>;
|
|
11
|
-
/**
|
|
12
|
-
* Check if a cached build exists for the given configuration
|
|
13
|
-
*/
|
|
14
|
-
export declare function isBuildCached(configContent: string, cacheDir?: string): Promise<boolean>;
|
|
15
|
-
/**
|
|
16
|
-
* Store a build artifact in the cache
|
|
17
|
-
*/
|
|
18
|
-
export declare function cacheBuild(configContent: string, buildOutput: string, cacheDir?: string): Promise<void>;
|
|
19
|
-
/**
|
|
20
|
-
* Retrieve a cached build artifact
|
|
21
|
-
*/
|
|
22
|
-
export declare function getCachedBuild(configContent: string, cacheDir?: string): Promise<string | null>;
|
|
23
|
-
//# sourceMappingURL=build-cache.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-cache.d.ts","sourceRoot":"","sources":["../../src/core/build-cache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,MAAM,EACrB,QAAQ,GAAE,MAAwB,GACjC,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,EACrB,QAAQ,GAAE,MAAwB,GACjC,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAwB,GACjC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,QAAQ,GAAE,MAAwB,GACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB"}
|
package/dist/core/build-cache.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Build artifact cache for flow.json configurations
|
|
3
|
-
*
|
|
4
|
-
* Caches compiled bundles based on configuration content + date.
|
|
5
|
-
* Enables intelligent cache reuse with daily rebuild guarantee.
|
|
6
|
-
*/
|
|
7
|
-
import fs from 'fs-extra';
|
|
8
|
-
import path from 'path';
|
|
9
|
-
import { getFlowConfigCacheKey } from './cache-utils';
|
|
10
|
-
const BUILD_CACHE_DIR = path.join('.tmp', 'cache', 'builds');
|
|
11
|
-
/**
|
|
12
|
-
* Get the cache file path for a flow.json configuration
|
|
13
|
-
*/
|
|
14
|
-
export async function getBuildCachePath(configContent, cacheDir = BUILD_CACHE_DIR) {
|
|
15
|
-
const cacheKey = await getFlowConfigCacheKey(configContent);
|
|
16
|
-
return path.join(cacheDir, `${cacheKey}.js`);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Check if a cached build exists for the given configuration
|
|
20
|
-
*/
|
|
21
|
-
export async function isBuildCached(configContent, cacheDir = BUILD_CACHE_DIR) {
|
|
22
|
-
const cachePath = await getBuildCachePath(configContent, cacheDir);
|
|
23
|
-
return fs.pathExists(cachePath);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Store a build artifact in the cache
|
|
27
|
-
*/
|
|
28
|
-
export async function cacheBuild(configContent, buildOutput, cacheDir = BUILD_CACHE_DIR) {
|
|
29
|
-
const cachePath = await getBuildCachePath(configContent, cacheDir);
|
|
30
|
-
await fs.ensureDir(path.dirname(cachePath));
|
|
31
|
-
await fs.writeFile(cachePath, buildOutput, 'utf-8');
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Retrieve a cached build artifact
|
|
35
|
-
*/
|
|
36
|
-
export async function getCachedBuild(configContent, cacheDir = BUILD_CACHE_DIR) {
|
|
37
|
-
const cachePath = await getBuildCachePath(configContent, cacheDir);
|
|
38
|
-
if (await fs.pathExists(cachePath)) {
|
|
39
|
-
return await fs.readFile(cachePath, 'utf-8');
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=build-cache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-cache.js","sourceRoot":"","sources":["../../src/core/build-cache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,aAAqB,EACrB,WAAmB,eAAe;IAElC,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,aAAqB,EACrB,WAAmB,eAAe;IAElC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,aAAqB,EACrB,WAAmB,EACnB,WAAmB,eAAe;IAElC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,aAAqB,EACrB,WAAmB,eAAe;IAElC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAEnE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cache utility functions for hash-based cache keys
|
|
3
|
-
*
|
|
4
|
-
* Implements content-based and date-based cache invalidation for:
|
|
5
|
-
* - NPM package cache (mutable versions include daily date)
|
|
6
|
-
* - Build artifact cache (content + date hashing)
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Check if a version specifier is mutable (can change over time)
|
|
10
|
-
*/
|
|
11
|
-
export declare function isMutableVersion(version: string): boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Get today's date in YYYY-MM-DD format
|
|
14
|
-
*/
|
|
15
|
-
export declare function getTodayDate(): string;
|
|
16
|
-
/**
|
|
17
|
-
* Generate cache key for npm package.
|
|
18
|
-
* Mutable versions include date for daily invalidation.
|
|
19
|
-
* Exact versions are cached indefinitely.
|
|
20
|
-
*/
|
|
21
|
-
export declare function getPackageCacheKey(packageName: string, version: string, date?: string): Promise<string>;
|
|
22
|
-
/**
|
|
23
|
-
* Generate cache key for flow.json configuration.
|
|
24
|
-
* Includes date for daily rebuild guarantee.
|
|
25
|
-
*/
|
|
26
|
-
export declare function getFlowConfigCacheKey(content: string, date?: string): Promise<string>;
|
|
27
|
-
//# sourceMappingURL=cache-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache-utils.d.ts","sourceRoot":"","sources":["../../src/core/cache-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQzD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAYjB;AAWD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAKjB"}
|
package/dist/core/cache-utils.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cache utility functions for hash-based cache keys
|
|
3
|
-
*
|
|
4
|
-
* Implements content-based and date-based cache invalidation for:
|
|
5
|
-
* - NPM package cache (mutable versions include daily date)
|
|
6
|
-
* - Build artifact cache (content + date hashing)
|
|
7
|
-
*/
|
|
8
|
-
import { getHashServer } from '@walkeros/server-core';
|
|
9
|
-
const HASH_LENGTH = 12;
|
|
10
|
-
/**
|
|
11
|
-
* Check if a version specifier is mutable (can change over time)
|
|
12
|
-
*/
|
|
13
|
-
export function isMutableVersion(version) {
|
|
14
|
-
return (version === 'latest' ||
|
|
15
|
-
version.includes('^') ||
|
|
16
|
-
version.includes('~') ||
|
|
17
|
-
version.includes('*') ||
|
|
18
|
-
version.includes('x'));
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Get today's date in YYYY-MM-DD format
|
|
22
|
-
*/
|
|
23
|
-
export function getTodayDate() {
|
|
24
|
-
return new Date().toISOString().split('T')[0];
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Generate cache key for npm package.
|
|
28
|
-
* Mutable versions include date for daily invalidation.
|
|
29
|
-
* Exact versions are cached indefinitely.
|
|
30
|
-
*/
|
|
31
|
-
export async function getPackageCacheKey(packageName, version, date) {
|
|
32
|
-
const safeName = packageName.replace(/\//g, '-').replace(/@/g, '');
|
|
33
|
-
if (isMutableVersion(version)) {
|
|
34
|
-
const dateStr = date ?? getTodayDate();
|
|
35
|
-
const input = `${safeName}@${version}:${dateStr}`;
|
|
36
|
-
return getHashServer(input, HASH_LENGTH);
|
|
37
|
-
}
|
|
38
|
-
// Exact version - no date component
|
|
39
|
-
const input = `${safeName}@${version}`;
|
|
40
|
-
return getHashServer(input, HASH_LENGTH);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Normalize JSON content for consistent hashing.
|
|
44
|
-
* Handles whitespace and property order variations.
|
|
45
|
-
*/
|
|
46
|
-
function normalizeJson(content) {
|
|
47
|
-
const parsed = JSON.parse(content);
|
|
48
|
-
return JSON.stringify(parsed);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Generate cache key for flow.json configuration.
|
|
52
|
-
* Includes date for daily rebuild guarantee.
|
|
53
|
-
*/
|
|
54
|
-
export async function getFlowConfigCacheKey(content, date) {
|
|
55
|
-
const dateStr = date ?? getTodayDate();
|
|
56
|
-
const normalized = normalizeJson(content);
|
|
57
|
-
const input = `${normalized}:${dateStr}`;
|
|
58
|
-
return getHashServer(input, HASH_LENGTH);
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=cache-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache-utils.js","sourceRoot":"","sources":["../../src/core/cache-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,CACL,OAAO,KAAK,QAAQ;QACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAmB,EACnB,OAAe,EACf,IAAa;IAEb,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEnE,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,QAAQ,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QAClD,OAAO,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,oCAAoC;IACpC,MAAM,KAAK,GAAG,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;IACvC,OAAO,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAe,EACf,IAAa;IAEb,MAAM,OAAO,GAAG,IAAI,IAAI,YAAY,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC;IACzC,OAAO,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC3C,CAAC"}
|
package/dist/core/docker.d.ts
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Docker Execution Utilities
|
|
3
|
-
*
|
|
4
|
-
* Handles Docker container execution for CLI commands.
|
|
5
|
-
*/
|
|
6
|
-
import type { GlobalOptions } from '../types/global.js';
|
|
7
|
-
/**
|
|
8
|
-
* Docker image for CLI/build tools (bundle, simulate)
|
|
9
|
-
* Uses explicit version by default, can be overridden with env var
|
|
10
|
-
*/
|
|
11
|
-
export declare const CLI_DOCKER_IMAGE: string;
|
|
12
|
-
/**
|
|
13
|
-
* Docker image for production runtime (run command)
|
|
14
|
-
* Uses explicit version by default, can be overridden with env var
|
|
15
|
-
*/
|
|
16
|
-
export declare const RUNTIME_DOCKER_IMAGE: string;
|
|
17
|
-
/**
|
|
18
|
-
* @deprecated Use CLI_DOCKER_IMAGE or RUNTIME_DOCKER_IMAGE instead
|
|
19
|
-
*/
|
|
20
|
-
export declare const DOCKER_IMAGE: string;
|
|
21
|
-
/**
|
|
22
|
-
* Build common Docker arguments from CLI options
|
|
23
|
-
*
|
|
24
|
-
* Extracts common flags (config, json, verbose, silent) that are shared
|
|
25
|
-
* across bundle and simulate commands. Command-specific flags should be
|
|
26
|
-
* added after calling this function.
|
|
27
|
-
*
|
|
28
|
-
* @param options - CLI options containing common flags
|
|
29
|
-
* @returns Array of command-line arguments starting with config path
|
|
30
|
-
*/
|
|
31
|
-
export declare function buildCommonDockerArgs(options: {
|
|
32
|
-
config: string;
|
|
33
|
-
json?: boolean;
|
|
34
|
-
verbose?: boolean;
|
|
35
|
-
silent?: boolean;
|
|
36
|
-
}): string[];
|
|
37
|
-
/**
|
|
38
|
-
* Build Docker command for executing CLI commands
|
|
39
|
-
*
|
|
40
|
-
* @param command - CLI command (bundle, simulate, run)
|
|
41
|
-
* @param args - Command arguments
|
|
42
|
-
* @param options - Global options
|
|
43
|
-
* @param configFile - Optional config file path to mount in Docker
|
|
44
|
-
* @returns Docker command array
|
|
45
|
-
*/
|
|
46
|
-
export declare function buildDockerCommand(command: string, args: string[], options?: GlobalOptions, configFile?: string): string[];
|
|
47
|
-
/**
|
|
48
|
-
* Execute command in Docker container
|
|
49
|
-
*
|
|
50
|
-
* @param command - CLI command
|
|
51
|
-
* @param args - Command arguments
|
|
52
|
-
* @param options - Global options
|
|
53
|
-
* @param configFile - Optional config file path to mount in Docker
|
|
54
|
-
* @returns Promise that resolves when command completes
|
|
55
|
-
*/
|
|
56
|
-
export declare function executeInDocker(command: string, args: string[], options?: GlobalOptions, configFile?: string): Promise<void>;
|
|
57
|
-
/**
|
|
58
|
-
* Check if Docker is available
|
|
59
|
-
*
|
|
60
|
-
* @returns Promise resolving to true if Docker is available
|
|
61
|
-
*/
|
|
62
|
-
export declare function isDockerAvailable(): Promise<boolean>;
|
|
63
|
-
/**
|
|
64
|
-
* Check if Docker image exists locally
|
|
65
|
-
*
|
|
66
|
-
* @param image - Docker image name
|
|
67
|
-
* @returns Promise resolving to true if image exists
|
|
68
|
-
*/
|
|
69
|
-
export declare function imageExists(image?: string): Promise<boolean>;
|
|
70
|
-
/**
|
|
71
|
-
* Build Docker command for run command (production runtime)
|
|
72
|
-
*
|
|
73
|
-
* @param mode - Run mode (collect | serve)
|
|
74
|
-
* @param flowPath - Path to pre-built .mjs bundle (for collect mode) or custom file (for serve mode)
|
|
75
|
-
* @param options - Runtime options
|
|
76
|
-
* @returns Docker command array
|
|
77
|
-
*/
|
|
78
|
-
export declare function buildDockerRunCommand(mode: 'collect' | 'serve', flowPath: string | null, options?: {
|
|
79
|
-
port?: number;
|
|
80
|
-
host?: string;
|
|
81
|
-
serveName?: string;
|
|
82
|
-
servePath?: string;
|
|
83
|
-
}): string[];
|
|
84
|
-
/**
|
|
85
|
-
* Execute run command in Docker container (production runtime)
|
|
86
|
-
*
|
|
87
|
-
* @param mode - Run mode (collect | serve)
|
|
88
|
-
* @param flowPath - Path to pre-built .mjs bundle (for collect mode) or custom file (for serve mode)
|
|
89
|
-
* @param options - Runtime and global options
|
|
90
|
-
* @returns Promise that resolves when command completes
|
|
91
|
-
*/
|
|
92
|
-
export declare function executeRunInDocker(mode: 'collect' | 'serve', flowPath: string | null, options?: {
|
|
93
|
-
port?: number;
|
|
94
|
-
host?: string;
|
|
95
|
-
serveName?: string;
|
|
96
|
-
servePath?: string;
|
|
97
|
-
silent?: boolean;
|
|
98
|
-
}): Promise<void>;
|
|
99
|
-
//# sourceMappingURL=docker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/core/docker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAC2C,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAEI,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,YAAY,QAAmB,CAAC;AAE7C;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,MAAM,EAAE,CASX;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,aAAkB,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,EAAE,CAiDV;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,aAAkB,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAS1D;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,KAAK,GAAE,MAAyB,GAC/B,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,GAAG,OAAO,EACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,MAAM,EAAE,CA8DV;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,SAAS,GAAG,OAAO,EACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CACb,GACL,OAAO,CAAC,IAAI,CAAC,CAqBf"}
|
package/dist/core/docker.js
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Docker Execution Utilities
|
|
3
|
-
*
|
|
4
|
-
* Handles Docker container execution for CLI commands.
|
|
5
|
-
*/
|
|
6
|
-
import { spawn } from 'child_process';
|
|
7
|
-
import path from 'path';
|
|
8
|
-
import { VERSION as DOCKER_VERSION } from '@walkeros/docker';
|
|
9
|
-
import { isUrl } from '../config/utils.js';
|
|
10
|
-
const CLI_VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : '0.0.0';
|
|
11
|
-
/**
|
|
12
|
-
* Docker image for CLI/build tools (bundle, simulate)
|
|
13
|
-
* Uses explicit version by default, can be overridden with env var
|
|
14
|
-
*/
|
|
15
|
-
export const CLI_DOCKER_IMAGE = process.env.WALKEROS_CLI_DOCKER_IMAGE || `walkeros/cli:${CLI_VERSION}`;
|
|
16
|
-
/**
|
|
17
|
-
* Docker image for production runtime (run command)
|
|
18
|
-
* Uses explicit version by default, can be overridden with env var
|
|
19
|
-
*/
|
|
20
|
-
export const RUNTIME_DOCKER_IMAGE = process.env.WALKEROS_RUNTIME_DOCKER_IMAGE ||
|
|
21
|
-
`walkeros/docker:${DOCKER_VERSION}`;
|
|
22
|
-
/**
|
|
23
|
-
* @deprecated Use CLI_DOCKER_IMAGE or RUNTIME_DOCKER_IMAGE instead
|
|
24
|
-
*/
|
|
25
|
-
export const DOCKER_IMAGE = CLI_DOCKER_IMAGE;
|
|
26
|
-
/**
|
|
27
|
-
* Build common Docker arguments from CLI options
|
|
28
|
-
*
|
|
29
|
-
* Extracts common flags (config, json, verbose, silent) that are shared
|
|
30
|
-
* across bundle and simulate commands. Command-specific flags should be
|
|
31
|
-
* added after calling this function.
|
|
32
|
-
*
|
|
33
|
-
* @param options - CLI options containing common flags
|
|
34
|
-
* @returns Array of command-line arguments starting with config path
|
|
35
|
-
*/
|
|
36
|
-
export function buildCommonDockerArgs(options) {
|
|
37
|
-
const args = [options.config];
|
|
38
|
-
// Common flags
|
|
39
|
-
if (options.json)
|
|
40
|
-
args.push('--json');
|
|
41
|
-
if (options.verbose)
|
|
42
|
-
args.push('--verbose');
|
|
43
|
-
if (options.silent)
|
|
44
|
-
args.push('--silent');
|
|
45
|
-
return args;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Build Docker command for executing CLI commands
|
|
49
|
-
*
|
|
50
|
-
* @param command - CLI command (bundle, simulate, run)
|
|
51
|
-
* @param args - Command arguments
|
|
52
|
-
* @param options - Global options
|
|
53
|
-
* @param configFile - Optional config file path to mount in Docker
|
|
54
|
-
* @returns Docker command array
|
|
55
|
-
*/
|
|
56
|
-
export function buildDockerCommand(command, args, options = {}, configFile) {
|
|
57
|
-
const cwd = process.cwd();
|
|
58
|
-
const cmd = ['docker', 'run', '--rm'];
|
|
59
|
-
// Mount config file if provided (only for local files, not URLs)
|
|
60
|
-
if (configFile && !isUrl(configFile)) {
|
|
61
|
-
const configPath = path.resolve(cwd, configFile);
|
|
62
|
-
// Mount config file at /config/flow.json (read-only, separate from workspace)
|
|
63
|
-
cmd.push('-v', `${configPath}:/config/flow.json:ro`);
|
|
64
|
-
// Update args to use container path - replace first occurrence of config file path
|
|
65
|
-
args = args.map((arg) => (arg === configFile ? '/config/flow.json' : arg));
|
|
66
|
-
}
|
|
67
|
-
// For URLs, pass them through as-is - container will download them
|
|
68
|
-
// Mount current directory for output files
|
|
69
|
-
cmd.push('-v', `${cwd}:/workspace`);
|
|
70
|
-
cmd.push('-w', '/workspace');
|
|
71
|
-
// Add user mapping on Linux/Mac to prevent permission issues
|
|
72
|
-
if (process.platform !== 'win32') {
|
|
73
|
-
try {
|
|
74
|
-
const uid = process.getuid?.();
|
|
75
|
-
const gid = process.getgid?.();
|
|
76
|
-
if (uid !== undefined && gid !== undefined) {
|
|
77
|
-
cmd.push('--user', `${uid}:${gid}`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
// Ignore if not available
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
// Pass through environment variables
|
|
85
|
-
if (options.verbose) {
|
|
86
|
-
cmd.push('-e', 'VERBOSE=true');
|
|
87
|
-
}
|
|
88
|
-
if (options.silent) {
|
|
89
|
-
cmd.push('-e', 'SILENT=true');
|
|
90
|
-
}
|
|
91
|
-
// Add the Docker image (CLI tools for bundle/simulate)
|
|
92
|
-
cmd.push(CLI_DOCKER_IMAGE);
|
|
93
|
-
// Add the command and arguments
|
|
94
|
-
cmd.push(command, ...args);
|
|
95
|
-
return cmd;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Execute command in Docker container
|
|
99
|
-
*
|
|
100
|
-
* @param command - CLI command
|
|
101
|
-
* @param args - Command arguments
|
|
102
|
-
* @param options - Global options
|
|
103
|
-
* @param configFile - Optional config file path to mount in Docker
|
|
104
|
-
* @returns Promise that resolves when command completes
|
|
105
|
-
*/
|
|
106
|
-
export async function executeInDocker(command, args, options = {}, configFile) {
|
|
107
|
-
// Force --local execution inside container to prevent nested Docker attempts
|
|
108
|
-
// Architecture: Host CLI decides environment (Docker vs local),
|
|
109
|
-
// Container CLI always executes locally (no Docker-in-Docker)
|
|
110
|
-
const containerArgs = [...args, '--local'];
|
|
111
|
-
const dockerCmd = buildDockerCommand(command, containerArgs, options, configFile);
|
|
112
|
-
return new Promise((resolve, reject) => {
|
|
113
|
-
const proc = spawn(dockerCmd[0], dockerCmd.slice(1), {
|
|
114
|
-
stdio: options.silent ? 'ignore' : 'inherit',
|
|
115
|
-
shell: false,
|
|
116
|
-
});
|
|
117
|
-
proc.on('error', (error) => {
|
|
118
|
-
reject(new Error(`Docker execution failed: ${error.message}`));
|
|
119
|
-
});
|
|
120
|
-
proc.on('exit', (code) => {
|
|
121
|
-
if (code === 0) {
|
|
122
|
-
resolve();
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
reject(new Error(`Docker command exited with code ${code}`));
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Check if Docker is available
|
|
132
|
-
*
|
|
133
|
-
* @returns Promise resolving to true if Docker is available
|
|
134
|
-
*/
|
|
135
|
-
export async function isDockerAvailable() {
|
|
136
|
-
return new Promise((resolve) => {
|
|
137
|
-
const proc = spawn('docker', ['--version'], {
|
|
138
|
-
stdio: 'ignore',
|
|
139
|
-
});
|
|
140
|
-
proc.on('error', () => resolve(false));
|
|
141
|
-
proc.on('exit', (code) => resolve(code === 0));
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Check if Docker image exists locally
|
|
146
|
-
*
|
|
147
|
-
* @param image - Docker image name
|
|
148
|
-
* @returns Promise resolving to true if image exists
|
|
149
|
-
*/
|
|
150
|
-
export async function imageExists(image = CLI_DOCKER_IMAGE) {
|
|
151
|
-
return new Promise((resolve) => {
|
|
152
|
-
const proc = spawn('docker', ['image', 'inspect', image], {
|
|
153
|
-
stdio: 'ignore',
|
|
154
|
-
});
|
|
155
|
-
proc.on('error', () => resolve(false));
|
|
156
|
-
proc.on('exit', (code) => resolve(code === 0));
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Build Docker command for run command (production runtime)
|
|
161
|
-
*
|
|
162
|
-
* @param mode - Run mode (collect | serve)
|
|
163
|
-
* @param flowPath - Path to pre-built .mjs bundle (for collect mode) or custom file (for serve mode)
|
|
164
|
-
* @param options - Runtime options
|
|
165
|
-
* @returns Docker command array
|
|
166
|
-
*/
|
|
167
|
-
export function buildDockerRunCommand(mode, flowPath, options = {}) {
|
|
168
|
-
const cwd = process.cwd();
|
|
169
|
-
const cmd = ['docker', 'run', '--rm'];
|
|
170
|
-
// Set MODE environment variable
|
|
171
|
-
cmd.push('-e', `MODE=${mode}`);
|
|
172
|
-
// Mount entire dist folder for collect mode (includes bundle + shared folders)
|
|
173
|
-
// Must mount to /app/dist (not /app) to preserve container's node_modules
|
|
174
|
-
// This allows relative paths like ./shared/credentials/sa.json to work
|
|
175
|
-
if (mode === 'collect' && flowPath) {
|
|
176
|
-
const absoluteFlowPath = path.resolve(cwd, flowPath);
|
|
177
|
-
const flowDir = path.dirname(absoluteFlowPath);
|
|
178
|
-
const flowFile = path.basename(absoluteFlowPath);
|
|
179
|
-
cmd.push('-v', `${flowDir}:/app/dist:ro`);
|
|
180
|
-
cmd.push('-e', `FLOW=/app/dist/${flowFile}`);
|
|
181
|
-
}
|
|
182
|
-
// Mount custom file for serve mode
|
|
183
|
-
if (mode === 'serve' && flowPath) {
|
|
184
|
-
const absoluteFilePath = path.resolve(cwd, flowPath);
|
|
185
|
-
cmd.push('-v', `${absoluteFilePath}:/app/bundle.mjs:ro`);
|
|
186
|
-
cmd.push('-e', 'FILE_PATH=/app/bundle.mjs');
|
|
187
|
-
}
|
|
188
|
-
// Port mapping - always map port for serve mode, use default if not specified
|
|
189
|
-
const port = options.port !== undefined ? options.port : 8080;
|
|
190
|
-
cmd.push('-p', `${port}:${port}`);
|
|
191
|
-
cmd.push('-e', `PORT=${port}`);
|
|
192
|
-
// Host
|
|
193
|
-
if (options.host) {
|
|
194
|
-
cmd.push('-e', `HOST=${options.host}`);
|
|
195
|
-
}
|
|
196
|
-
// Serve name (filename in URL)
|
|
197
|
-
if (options.serveName) {
|
|
198
|
-
cmd.push('-e', `SERVE_NAME=${options.serveName}`);
|
|
199
|
-
}
|
|
200
|
-
// Serve path (URL directory path)
|
|
201
|
-
if (options.servePath) {
|
|
202
|
-
cmd.push('-e', `SERVE_PATH=${options.servePath}`);
|
|
203
|
-
}
|
|
204
|
-
// Add user mapping on Linux/Mac to prevent permission issues
|
|
205
|
-
if (process.platform !== 'win32') {
|
|
206
|
-
try {
|
|
207
|
-
const uid = process.getuid?.();
|
|
208
|
-
const gid = process.getgid?.();
|
|
209
|
-
if (uid !== undefined && gid !== undefined) {
|
|
210
|
-
cmd.push('--user', `${uid}:${gid}`);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
catch {
|
|
214
|
-
// Ignore if not available
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
// Add the runtime Docker image
|
|
218
|
-
cmd.push(RUNTIME_DOCKER_IMAGE);
|
|
219
|
-
return cmd;
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Execute run command in Docker container (production runtime)
|
|
223
|
-
*
|
|
224
|
-
* @param mode - Run mode (collect | serve)
|
|
225
|
-
* @param flowPath - Path to pre-built .mjs bundle (for collect mode) or custom file (for serve mode)
|
|
226
|
-
* @param options - Runtime and global options
|
|
227
|
-
* @returns Promise that resolves when command completes
|
|
228
|
-
*/
|
|
229
|
-
export async function executeRunInDocker(mode, flowPath, options = {}) {
|
|
230
|
-
const dockerCmd = buildDockerRunCommand(mode, flowPath, options);
|
|
231
|
-
return new Promise((resolve, reject) => {
|
|
232
|
-
const proc = spawn(dockerCmd[0], dockerCmd.slice(1), {
|
|
233
|
-
stdio: options.silent ? 'ignore' : 'inherit',
|
|
234
|
-
shell: false,
|
|
235
|
-
});
|
|
236
|
-
proc.on('error', (error) => {
|
|
237
|
-
reject(new Error(`Docker execution failed: ${error.message}`));
|
|
238
|
-
});
|
|
239
|
-
proc.on('exit', (code) => {
|
|
240
|
-
if (code === 0) {
|
|
241
|
-
resolve();
|
|
242
|
-
}
|
|
243
|
-
else {
|
|
244
|
-
reject(new Error(`Docker command exited with code ${code}`));
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
//# sourceMappingURL=docker.js.map
|
package/dist/core/docker.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/core/docker.ts"],"names":[],"mappings":"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"}
|