@walkeros/cli 0.3.4 → 0.3.6

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.
Files changed (64) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +22 -0
  3. package/dist/__tests__/bundle/bundler.test.js +10 -14
  4. package/dist/__tests__/bundle/bundler.test.js.map +1 -1
  5. package/dist/__tests__/bundle/programmatic.test.js +5 -0
  6. package/dist/__tests__/bundle/programmatic.test.js.map +1 -1
  7. package/dist/__tests__/cli.test.js +4 -0
  8. package/dist/__tests__/cli.test.js.map +1 -1
  9. package/dist/__tests__/config-loader.test.js +3 -2
  10. package/dist/__tests__/config-loader.test.js.map +1 -1
  11. package/dist/commands/bundle/bundler.d.ts.map +1 -1
  12. package/dist/commands/bundle/bundler.js +3 -3
  13. package/dist/commands/bundle/bundler.js.map +1 -1
  14. package/dist/commands/bundle/index.d.ts.map +1 -1
  15. package/dist/commands/bundle/index.js +2 -2
  16. package/dist/commands/bundle/index.js.map +1 -1
  17. package/dist/commands/bundle/template-engine.d.ts +2 -0
  18. package/dist/commands/bundle/template-engine.d.ts.map +1 -1
  19. package/dist/commands/bundle/template-engine.js +5 -2
  20. package/dist/commands/bundle/template-engine.js.map +1 -1
  21. package/dist/commands/run/index.d.ts.map +1 -1
  22. package/dist/commands/run/index.js +8 -3
  23. package/dist/commands/run/index.js.map +1 -1
  24. package/dist/commands/run/types.d.ts +8 -4
  25. package/dist/commands/run/types.d.ts.map +1 -1
  26. package/dist/commands/run/validators.d.ts +1 -1
  27. package/dist/commands/run/validators.d.ts.map +1 -1
  28. package/dist/commands/run/validators.js +4 -3
  29. package/dist/commands/run/validators.js.map +1 -1
  30. package/dist/config/defaults.d.ts.map +1 -1
  31. package/dist/config/defaults.js +1 -4
  32. package/dist/config/defaults.js.map +1 -1
  33. package/dist/config/parser.d.ts.map +1 -1
  34. package/dist/config/parser.js +5 -0
  35. package/dist/config/parser.js.map +1 -1
  36. package/dist/config/utils.d.ts +34 -4
  37. package/dist/config/utils.d.ts.map +1 -1
  38. package/dist/config/utils.js +95 -7
  39. package/dist/config/utils.js.map +1 -1
  40. package/dist/core/asset-resolver.d.ts +41 -0
  41. package/dist/core/asset-resolver.d.ts.map +1 -0
  42. package/dist/core/asset-resolver.js +69 -0
  43. package/dist/core/asset-resolver.js.map +1 -0
  44. package/dist/core/docker.d.ts +8 -4
  45. package/dist/core/docker.d.ts.map +1 -1
  46. package/dist/core/docker.js +50 -15
  47. package/dist/core/docker.js.map +1 -1
  48. package/dist/core/index.d.ts +1 -0
  49. package/dist/core/index.d.ts.map +1 -1
  50. package/dist/core/index.js +1 -0
  51. package/dist/core/index.js.map +1 -1
  52. package/dist/index.d.ts +13 -6
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +217 -98
  55. package/dist/index.js.map +1 -1
  56. package/dist/types/bundle.d.ts +5 -2
  57. package/dist/types/bundle.d.ts.map +1 -1
  58. package/examples/README.md +330 -0
  59. package/examples/server-collect.json +53 -0
  60. package/examples/server-collect.mjs +13370 -0
  61. package/examples/web-serve.json +74 -0
  62. package/examples/web-serve.mjs +19456 -0
  63. package/package.json +5 -3
  64. /package/templates/{base.hbs → web.hbs} +0 -0
@@ -92,7 +92,8 @@ export async function runCommand(mode, options) {
92
92
  await executeRunInDocker(mode, flowPath, {
93
93
  port: options.port,
94
94
  host: options.host,
95
- staticDir: options.staticDir,
95
+ serveName: options.serveName,
96
+ servePath: options.servePath,
96
97
  silent: options.silent,
97
98
  });
98
99
  }
@@ -118,7 +119,9 @@ export async function runCommand(mode, options) {
118
119
  const config = {
119
120
  port: options.port,
120
121
  host: options.host,
121
- staticDir: options.staticDir,
122
+ serveName: options.serveName,
123
+ servePath: options.servePath,
124
+ filePath: flowPath || undefined,
122
125
  };
123
126
  await runServeMode(config);
124
127
  break;
@@ -233,7 +236,9 @@ export async function run(mode, options) {
233
236
  const config = {
234
237
  port: options.port,
235
238
  host: options.host,
236
- staticDir: options.staticDir,
239
+ serveName: options.serveName,
240
+ servePath: options.servePath,
241
+ filePath: flowPath,
237
242
  };
238
243
  await runServeMode(config);
239
244
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/run/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/run/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EACL,OAAO,EACP,YAAY,GAGb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EACL,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAQ5E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAY,EACZ,OAA0B;IAE1B,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,0BAA0B;QAC1B,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,6DAA6D;QAC7D,MAAM,UAAU,GACd,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC1B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE9B,IAAI,QAAQ,GAAkB,IAAI,CAAC;QAEnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,UAAU,EAAE,CAAC;gBACf,gCAAgC;gBAChC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,2BAA2B;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBAC5C,CAAC;gBAED,qCAAqC;gBACrC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,EAAE,CAAC,MAAM,EAAE,EACX,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CACvE,CAAC;gBAEF,kDAAkD;gBAClD,MAAM,aAAa,GACjB,OAAO,SAAS,KAAK,QAAQ;oBAC7B,SAAS,KAAK,IAAI;oBAClB,OAAO,IAAI,SAAS;oBACpB,OAAQ,SAAqC,CAAC,KAAK,KAAK,QAAQ;oBAC9D,CAAC,CAAG,SAAqC,CAAC,KAGtC;oBACJ,CAAC,CAAC,EAAE,CAAC;gBAET,MAAM,gBAAgB,GAAG;oBACvB,GAAI,SAAqC;oBACzC,KAAK,EAAE;wBACL,GAAG,aAAa;wBAChB,MAAM,EAAE,QAAQ;qBACjB;iBACF,CAAC;gBAEF,MAAM,MAAM,CAAC,gBAAgB,EAAE;oBAC7B,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM;iBACvC,CAAC,CAAC;gBAEH,QAAQ,GAAG,QAAQ,CAAC;gBAEpB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACrC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC/B,4CAA4C;YAC5C,MAAM,eAAe,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAClD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,kBAAkB,CAAC,IAA2B,EAAE,QAAQ,EAAE;gBAC9D,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC,iBAAiB,SAAS,aAAa,CAAC,CAAC;YACvD,CAAC;YAED,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBAC5D,CAAC;oBACD,MAAM,MAAM,GAAkB;wBAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;qBACnB,CAAC;oBACF,MAAM,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAChC,MAAM;gBACR,CAAC;gBAED,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,MAAM,GAAgB;wBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,QAAQ,EAAE,QAAQ,IAAI,SAAS;qBAChC,CAAC;oBACF,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC3B,MAAM;gBACR,CAAC;gBAED;oBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,yFAAyF;IAC3F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,KAAK;gBACd,IAAI;gBACJ,KAAK,EAAE,YAAY;gBACnB,QAAQ;aACT,CAAC;YACF,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,IAAa,EACb,OAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,kBAAkB;QAClB,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,QAAgB,CAAC;QACrB,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvC,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,qDAAqD;QACrD,MAAM,UAAU,GACd,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YACzB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,QAAgB,CAAC;QAErB,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,EAAE,CAAC,MAAM,EAAE,EACX,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CACvE,CAAC;YAEF,kDAAkD;YAClD,MAAM,aAAa,GACjB,OAAO,SAAS,KAAK,QAAQ;gBAC7B,SAAS,KAAK,IAAI;gBAClB,OAAO,IAAI,SAAS;gBACpB,OAAQ,SAAqC,CAAC,KAAK,KAAK,QAAQ;gBAC9D,CAAC,CAAG,SAAqC,CAAC,KAGtC;gBACJ,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,gBAAgB,GAAG;gBACvB,GAAI,SAAqC;gBACzC,KAAK,EAAE;oBACL,GAAG,aAAa;oBAChB,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC;YAEF,MAAM,MAAM,CAAC,gBAAgB,EAAE;gBAC7B,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,QAAQ,GAAG,QAAQ,CAAC;QACtB,CAAC;QAED,oCAAoC;QACpC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,MAAM,GAAkB;oBAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB,CAAC;gBACF,MAAM,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAChC,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,MAAM,GAAgB;oBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,QAAQ,EAAE,QAAQ;iBACnB,CAAC;gBACF,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,0EAA0E;QAC1E,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACjC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAChC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -18,8 +18,10 @@ export interface RunCommandOptions extends GlobalOptions {
18
18
  port?: number;
19
19
  /** Server host (default: 0.0.0.0) */
20
20
  host?: string;
21
- /** Static directory for serve mode */
22
- staticDir?: string;
21
+ /** Serve path (URL directory path, e.g., 'libs/v1') */
22
+ servePath?: string;
23
+ /** Serve name (filename in URL, default: walker.js) */
24
+ serveName?: string;
23
25
  /** Enable JSON output */
24
26
  json?: boolean;
25
27
  }
@@ -33,8 +35,10 @@ export interface RunOptions {
33
35
  port?: number;
34
36
  /** Server host */
35
37
  host?: string;
36
- /** Static directory for serve mode */
37
- staticDir?: string;
38
+ /** Serve path (URL directory path, e.g., 'libs/v1') */
39
+ servePath?: string;
40
+ /** Serve name (filename in URL, default: walker.js) */
41
+ serveName?: string;
38
42
  /** Suppress output */
39
43
  silent?: boolean;
40
44
  /** Verbose logging */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/run/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yBAAyB;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IAEjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/run/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yBAAyB;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IAEjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -14,7 +14,7 @@ export declare function validateMode(mode: string): asserts mode is RunMode;
14
14
  /**
15
15
  * Validates flow file exists
16
16
  *
17
- * @param filePath - Path to flow configuration file
17
+ * @param filePath - Path to flow configuration file (bare name, relative, or absolute)
18
18
  * @returns Absolute path to flow file
19
19
  * @throws Error if file doesn't exist
20
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOvC;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAQlE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYzD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ/C"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOvC;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAQlE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAazD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ/C"}
@@ -4,7 +4,7 @@
4
4
  * Validation logic for run command inputs
5
5
  */
6
6
  import { existsSync } from 'fs';
7
- import { resolve } from 'path';
7
+ import { resolveAsset } from '../../core/asset-resolver';
8
8
  /**
9
9
  * Valid run modes
10
10
  */
@@ -25,12 +25,13 @@ export function validateMode(mode) {
25
25
  /**
26
26
  * Validates flow file exists
27
27
  *
28
- * @param filePath - Path to flow configuration file
28
+ * @param filePath - Path to flow configuration file (bare name, relative, or absolute)
29
29
  * @returns Absolute path to flow file
30
30
  * @throws Error if file doesn't exist
31
31
  */
32
32
  export function validateFlowFile(filePath) {
33
- const absolutePath = resolve(filePath);
33
+ // Use asset resolver to handle bare names, relative paths, and absolute paths
34
+ const absolutePath = resolveAsset(filePath, 'bundle');
34
35
  if (!existsSync(absolutePath)) {
35
36
  throw new Error(`Flow file not found: ${filePath}\n` +
36
37
  ` Resolved path: ${absolutePath}\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B;;GAEG;AACH,MAAM,WAAW,GAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAe,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,KAAK;YACzB,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC7C,8CAA8C,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,IAAI;YAClC,qBAAqB,YAAY,IAAI;YACrC,sDAAsD,CACzD,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,IAAI;YACvB,kDAAkD;YAClD,yBAAyB,CAC5B,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/commands/run/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,GAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAe,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,KAAK;YACzB,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC7C,8CAA8C,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,8EAA8E;IAC9E,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEtD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,IAAI;YAClC,qBAAqB,YAAY,IAAI;YACrC,sDAAsD,CACzD,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,IAAI;YACvB,kDAAkD;YAClD,yBAAyB,CAC5B,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CA2BvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,EACnC,YAAY,EAAE,KAAK,GAAG,QAAQ,GAC7B,YAAY,CAsBd"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CA2BvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,EACnC,YAAY,EAAE,KAAK,GAAG,QAAQ,GAC7B,YAAY,CAmBd"}
@@ -56,16 +56,13 @@ export function getDefaultBuildOptions(platform, code, output) {
56
56
  export function ensureBuildOptions(buildOptions, flowPlatform) {
57
57
  const defaults = getDefaultBuildOptions(flowPlatform, buildOptions.code || '', buildOptions.output);
58
58
  // Validate required fields
59
- if (!buildOptions.code && !defaults.code) {
60
- throw new Error('BuildOptions.code is required');
61
- }
62
59
  if (!buildOptions.output && !defaults.output) {
63
60
  throw new Error('BuildOptions.output is required');
64
61
  }
65
62
  return {
66
63
  ...defaults,
67
64
  ...buildOptions,
68
- code: buildOptions.code || defaults.code,
65
+ code: buildOptions.code || defaults.code || '',
69
66
  output: buildOptions.output || defaults.output,
70
67
  packages: buildOptions.packages || defaults.packages,
71
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA0B,EAC1B,IAAY,EACZ,MAAe;IAEf,MAAM,MAAM,GAAG;QACb,IAAI;QACJ,QAAQ,EAAE,EAA8D;QACxE,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,IAAI;KACZ,CAAC;IAEF,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,IAAI,kBAAkB;YACpC,UAAU,EAAE,UAAU;SACvB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,MAAM,IAAI,kBAAkB;KACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAmC,EACnC,YAA8B;IAE9B,MAAM,QAAQ,GAAG,sBAAsB,CACrC,YAAY,EACZ,YAAY,CAAC,IAAI,IAAI,EAAE,EACvB,YAAY,CAAC,MAAM,CACpB,CAAC;IAEF,2BAA2B;IAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,YAAY;QACf,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAK;QACzC,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAO;QAC/C,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAS;KACtC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA0B,EAC1B,IAAY,EACZ,MAAe;IAEf,MAAM,MAAM,GAAG;QACb,IAAI;QACJ,QAAQ,EAAE,EAA8D;QACxE,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,IAAI;KACZ,CAAC;IAEF,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,IAAI,kBAAkB;YACpC,UAAU,EAAE,UAAU;SACvB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,MAAM,IAAI,kBAAkB;KACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAmC,EACnC,YAA8B;IAE9B,MAAM,QAAQ,GAAG,sBAAsB,CACrC,YAAY,EACZ,YAAY,CAAC,IAAI,IAAI,EAAE,EACvB,YAAY,CAAC,MAAM,CACpB,CAAC;IAEF,2BAA2B;IAC3B,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,YAAY;QACf,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE;QAC9C,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAO;QAC/C,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAS;KACtC,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKvE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAyC7D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAaA;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EACF,iBAAiB,GACjB;IAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAAE,EACvD,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAE,CA6DzD"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKvE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAyC7D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAaA;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EACF,iBAAiB,GACjB;IAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAAE,EACvD,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAE,CAmEzD"}
@@ -117,6 +117,11 @@ export function normalizeConfigs(config, configPath) {
117
117
  ...buildDefaults,
118
118
  ...config.build,
119
119
  };
120
+ // Auto-select default template based on platform if not specified
121
+ // Only auto-select if template is undefined (not explicitly set to empty string or false)
122
+ if (buildConfig.template === undefined) {
123
+ buildConfig.template = platform === 'server' ? 'server.hbs' : 'web.hbs';
124
+ }
120
125
  // Resolve template path relative to config file directory if it starts with ./ or ../
121
126
  if (configPath &&
122
127
  buildConfig.template &&
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,27 @@
1
1
  /**
2
2
  * Configuration Utility Functions
3
3
  */
4
+ /**
5
+ * Check if a string is a valid URL
6
+ *
7
+ * @param str - String to check
8
+ * @returns True if string is a valid HTTP/HTTPS URL
9
+ */
10
+ export declare function isUrl(str: string): boolean;
11
+ /**
12
+ * Download a file from a URL to a temporary location
13
+ *
14
+ * @param url - HTTP/HTTPS URL to download
15
+ * @returns Path to downloaded temporary file
16
+ * @throws Error if download fails or response is not OK
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const tempPath = await downloadFromUrl('https://example.com/config.json')
21
+ * // Returns: "/tmp/walkeros-download-1647261462000-abc123.json"
22
+ * ```
23
+ */
24
+ export declare function downloadFromUrl(url: string): Promise<string>;
4
25
  /**
5
26
  * Substitute environment variables in a string.
6
27
  *
@@ -15,11 +36,20 @@
15
36
  */
16
37
  export declare function substituteEnvVariables(value: string): string;
17
38
  /**
18
- * Load and parse JSON configuration file.
39
+ * Load and parse JSON configuration file from local path or URL.
19
40
  *
20
- * @param configPath - Path to JSON file
21
- * @returns Parsed configuration object
22
- * @throws Error if file not found or invalid JSON
41
+ * @param configPath - Path to JSON file or HTTP/HTTPS URL
42
+ * @returns Parsed configuration object and cleanup function
43
+ * @throws Error if file not found, download fails, or invalid JSON
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * // Local file
48
+ * const config = await loadJsonConfig('./config.json')
49
+ *
50
+ * // Remote URL
51
+ * const config = await loadJsonConfig('https://example.com/config.json')
52
+ * ```
23
53
  */
24
54
  export declare function loadJsonConfig<T>(configPath: string): Promise<T>;
25
55
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAetE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,GAAG,MAAM,CAMnD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkClE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAmCtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,GAAG,MAAM,CAMnD"}
@@ -3,6 +3,63 @@
3
3
  */
4
4
  import fs from 'fs-extra';
5
5
  import path from 'path';
6
+ import os from 'os';
7
+ /**
8
+ * Check if a string is a valid URL
9
+ *
10
+ * @param str - String to check
11
+ * @returns True if string is a valid HTTP/HTTPS URL
12
+ */
13
+ export function isUrl(str) {
14
+ try {
15
+ const url = new URL(str);
16
+ return url.protocol === 'http:' || url.protocol === 'https:';
17
+ }
18
+ catch {
19
+ return false;
20
+ }
21
+ }
22
+ /**
23
+ * Download a file from a URL to a temporary location
24
+ *
25
+ * @param url - HTTP/HTTPS URL to download
26
+ * @returns Path to downloaded temporary file
27
+ * @throws Error if download fails or response is not OK
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const tempPath = await downloadFromUrl('https://example.com/config.json')
32
+ * // Returns: "/tmp/walkeros-download-1647261462000-abc123.json"
33
+ * ```
34
+ */
35
+ export async function downloadFromUrl(url) {
36
+ if (!isUrl(url)) {
37
+ throw new Error(`Invalid URL: ${url}`);
38
+ }
39
+ try {
40
+ const response = await fetch(url);
41
+ if (!response.ok) {
42
+ throw new Error(`Failed to download ${url}: ${response.status} ${response.statusText}`);
43
+ }
44
+ const content = await response.text();
45
+ // Extract filename from URL or generate one
46
+ const urlObj = new URL(url);
47
+ const urlFilename = path.basename(urlObj.pathname);
48
+ const extension = path.extname(urlFilename) || '.json';
49
+ const randomId = Math.random().toString(36).substring(2, 11);
50
+ const filename = `walkeros-download-${Date.now()}-${randomId}${extension}`;
51
+ // Write to system temp directory
52
+ const tempPath = path.join(os.tmpdir(), filename);
53
+ await fs.writeFile(tempPath, content, 'utf-8');
54
+ return tempPath;
55
+ }
56
+ catch (error) {
57
+ if (error instanceof Error) {
58
+ throw new Error(`Failed to download from URL: ${error.message}`);
59
+ }
60
+ throw error;
61
+ }
62
+ }
6
63
  /**
7
64
  * Substitute environment variables in a string.
8
65
  *
@@ -25,16 +82,36 @@ export function substituteEnvVariables(value) {
25
82
  });
26
83
  }
27
84
  /**
28
- * Load and parse JSON configuration file.
85
+ * Load and parse JSON configuration file from local path or URL.
29
86
  *
30
- * @param configPath - Path to JSON file
31
- * @returns Parsed configuration object
32
- * @throws Error if file not found or invalid JSON
87
+ * @param configPath - Path to JSON file or HTTP/HTTPS URL
88
+ * @returns Parsed configuration object and cleanup function
89
+ * @throws Error if file not found, download fails, or invalid JSON
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * // Local file
94
+ * const config = await loadJsonConfig('./config.json')
95
+ *
96
+ * // Remote URL
97
+ * const config = await loadJsonConfig('https://example.com/config.json')
98
+ * ```
33
99
  */
34
100
  export async function loadJsonConfig(configPath) {
35
- const absolutePath = path.resolve(configPath);
36
- if (!(await fs.pathExists(absolutePath))) {
37
- throw new Error(`Configuration file not found: ${absolutePath}`);
101
+ let absolutePath;
102
+ let isTemporary = false;
103
+ // Check if input is a URL
104
+ if (isUrl(configPath)) {
105
+ // Download from URL to temp location
106
+ absolutePath = await downloadFromUrl(configPath);
107
+ isTemporary = true;
108
+ }
109
+ else {
110
+ // Local file path
111
+ absolutePath = path.resolve(configPath);
112
+ if (!(await fs.pathExists(absolutePath))) {
113
+ throw new Error(`Configuration file not found: ${absolutePath}`);
114
+ }
38
115
  }
39
116
  try {
40
117
  const rawConfig = await fs.readJson(absolutePath);
@@ -43,6 +120,17 @@ export async function loadJsonConfig(configPath) {
43
120
  catch (error) {
44
121
  throw new Error(`Invalid JSON in config file: ${configPath}. ${error instanceof Error ? error.message : error}`);
45
122
  }
123
+ finally {
124
+ // Clean up temporary downloaded file
125
+ if (isTemporary) {
126
+ try {
127
+ await fs.remove(absolutePath);
128
+ }
129
+ catch {
130
+ // Ignore cleanup errors
131
+ }
132
+ }
133
+ }
46
134
  }
47
135
  /**
48
136
  * Generate a unique temporary directory path.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,YAAY,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,UAAkB;IACxD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE9C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,SAAc,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,gCAAgC,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAChG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAC,OAAO,GAAG,MAAM;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QACvC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,sBAAsB,GAAG,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtC,4CAA4C;QAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,qBAAqB,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC;QAE3E,iCAAiC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,YAAY,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,UAAkB;IACxD,IAAI,YAAoB,CAAC;IACzB,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,0BAA0B;IAC1B,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACtB,qCAAqC;QACrC,YAAY,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QACjD,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,SAAc,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,gCAAgC,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAChG,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,qCAAqC;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAC,OAAO,GAAG,MAAM;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QACvC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Asset Resolver
3
+ *
4
+ * Unified path resolution for package assets (templates, examples) and user assets (configs, custom templates).
5
+ * Works identically in both local and Docker environments.
6
+ */
7
+ /**
8
+ * Get the package root directory
9
+ *
10
+ * Uses import.meta.url to find the package root, works in both environments:
11
+ * - Production (dist): /path/to/packages/cli/dist/index.js → /path/to/packages/cli
12
+ * - Test (src): /path/to/packages/cli/src/core/asset-resolver.ts → /path/to/packages/cli
13
+ * - Docker: /cli
14
+ *
15
+ * @returns Absolute path to package root
16
+ */
17
+ export declare function getPackageRoot(): string;
18
+ /**
19
+ * Asset type for resolution strategy
20
+ */
21
+ export type AssetType = 'template' | 'config' | 'bundle';
22
+ /**
23
+ * Resolve asset path using unified strategy
24
+ *
25
+ * Resolution rules:
26
+ * 1. Bare names (no / or \) → Package asset
27
+ * - "web.hbs" → ${packageRoot}/templates/web.hbs
28
+ * - "server-collect.json" → ${packageRoot}/examples/server-collect.json
29
+ *
30
+ * 2. Relative paths (./ or ../) → User asset relative to base directory
31
+ * - "./my-template.hbs" → ${baseDir}/my-template.hbs
32
+ *
33
+ * 3. Absolute paths → Use as-is
34
+ *
35
+ * @param assetPath - Path to resolve
36
+ * @param assetType - Type of asset (determines package subdirectory)
37
+ * @param baseDir - Base directory for relative paths (defaults to cwd)
38
+ * @returns Absolute path to asset
39
+ */
40
+ export declare function resolveAsset(assetPath: string, assetType: AssetType, baseDir?: string): string;
41
+ //# sourceMappingURL=asset-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-resolver.d.ts","sourceRoot":"","sources":["../../src/core/asset-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAevC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAoBR"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Asset Resolver
3
+ *
4
+ * Unified path resolution for package assets (templates, examples) and user assets (configs, custom templates).
5
+ * Works identically in both local and Docker environments.
6
+ */
7
+ import { fileURLToPath } from 'url';
8
+ import path from 'path';
9
+ /**
10
+ * Get the package root directory
11
+ *
12
+ * Uses import.meta.url to find the package root, works in both environments:
13
+ * - Production (dist): /path/to/packages/cli/dist/index.js → /path/to/packages/cli
14
+ * - Test (src): /path/to/packages/cli/src/core/asset-resolver.ts → /path/to/packages/cli
15
+ * - Docker: /cli
16
+ *
17
+ * @returns Absolute path to package root
18
+ */
19
+ export function getPackageRoot() {
20
+ const currentFile = fileURLToPath(import.meta.url);
21
+ // In test/dev mode: files are in src/ directory (e.g., src/core/asset-resolver.ts)
22
+ // In production: all code is bundled into dist/index.js
23
+ if (currentFile.includes('/src/')) {
24
+ // Running from source (tests): go up to package root
25
+ // e.g., /path/to/packages/cli/src/core/asset-resolver.ts -> /path/to/packages/cli
26
+ const srcIndex = currentFile.indexOf('/src/');
27
+ return currentFile.substring(0, srcIndex);
28
+ }
29
+ // Running from dist (production/bundled)
30
+ // e.g., /path/to/packages/cli/dist/index.js -> /path/to/packages/cli
31
+ return path.resolve(currentFile, '../..');
32
+ }
33
+ /**
34
+ * Resolve asset path using unified strategy
35
+ *
36
+ * Resolution rules:
37
+ * 1. Bare names (no / or \) → Package asset
38
+ * - "web.hbs" → ${packageRoot}/templates/web.hbs
39
+ * - "server-collect.json" → ${packageRoot}/examples/server-collect.json
40
+ *
41
+ * 2. Relative paths (./ or ../) → User asset relative to base directory
42
+ * - "./my-template.hbs" → ${baseDir}/my-template.hbs
43
+ *
44
+ * 3. Absolute paths → Use as-is
45
+ *
46
+ * @param assetPath - Path to resolve
47
+ * @param assetType - Type of asset (determines package subdirectory)
48
+ * @param baseDir - Base directory for relative paths (defaults to cwd)
49
+ * @returns Absolute path to asset
50
+ */
51
+ export function resolveAsset(assetPath, assetType, baseDir) {
52
+ const packageRoot = getPackageRoot();
53
+ // Bare name → package asset
54
+ if (!assetPath.includes('/') && !assetPath.includes('\\')) {
55
+ if (assetType === 'template') {
56
+ return path.join(packageRoot, 'templates', assetPath);
57
+ }
58
+ // config or bundle → examples directory
59
+ return path.join(packageRoot, 'examples', assetPath);
60
+ }
61
+ // Absolute path → use as-is
62
+ if (path.isAbsolute(assetPath)) {
63
+ return assetPath;
64
+ }
65
+ // Relative path → resolve from base directory
66
+ const resolveBase = baseDir || process.cwd();
67
+ return path.resolve(resolveBase, assetPath);
68
+ }
69
+ //# sourceMappingURL=asset-resolver.js.map
@@ -0,0 +1 @@
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,IAAI,MAAM,MAAM,CAAC;AAExB;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnD,mFAAmF;IACnF,wDAAwD;IACxD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,qDAAqD;QACrD,kFAAkF;QAClF,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,yCAAyC;IACzC,qEAAqE;IACrE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAiB,EACjB,SAAoB,EACpB,OAAgB;IAEhB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,4BAA4B;IAC5B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC;QACD,wCAAwC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,4BAA4B;IAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8CAA8C;IAC9C,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC"}
@@ -6,10 +6,12 @@
6
6
  import type { GlobalOptions } from '../types/global';
7
7
  /**
8
8
  * Docker image for CLI/build tools (bundle, simulate)
9
+ * Uses explicit version by default, can be overridden with env var
9
10
  */
10
11
  export declare const CLI_DOCKER_IMAGE: string;
11
12
  /**
12
13
  * Docker image for production runtime (run command)
14
+ * Uses explicit version by default, can be overridden with env var
13
15
  */
14
16
  export declare const RUNTIME_DOCKER_IMAGE: string;
15
17
  /**
@@ -53,27 +55,29 @@ export declare function imageExists(image?: string): Promise<boolean>;
53
55
  * Build Docker command for run command (production runtime)
54
56
  *
55
57
  * @param mode - Run mode (collect | serve)
56
- * @param flowPath - Path to pre-built .mjs bundle (for collect mode)
58
+ * @param flowPath - Path to pre-built .mjs bundle (for collect mode) or custom file (for serve mode)
57
59
  * @param options - Runtime options
58
60
  * @returns Docker command array
59
61
  */
60
62
  export declare function buildDockerRunCommand(mode: 'collect' | 'serve', flowPath: string | null, options?: {
61
63
  port?: number;
62
64
  host?: string;
63
- staticDir?: string;
65
+ serveName?: string;
66
+ servePath?: string;
64
67
  }): string[];
65
68
  /**
66
69
  * Execute run command in Docker container (production runtime)
67
70
  *
68
71
  * @param mode - Run mode (collect | serve)
69
- * @param flowPath - Path to pre-built .mjs bundle (for collect mode)
72
+ * @param flowPath - Path to pre-built .mjs bundle (for collect mode) or custom file (for serve mode)
70
73
  * @param options - Runtime and global options
71
74
  * @returns Promise that resolves when command completes
72
75
  */
73
76
  export declare function executeRunInDocker(mode: 'collect' | 'serve', flowPath: string | null, options?: {
74
77
  port?: number;
75
78
  host?: string;
76
- staticDir?: string;
79
+ serveName?: string;
80
+ servePath?: string;
77
81
  silent?: boolean;
78
82
  }): Promise<void>;
79
83
  //# sourceMappingURL=docker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/core/docker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,gBAAgB,QACmC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,oBAAoB,QACsC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,YAAY,QAAmB,CAAC;AAE7C;;;;;;;;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,CAgDV;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;CACf,GACL,MAAM,EAAE,CAiDV;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,MAAM,CAAC,EAAE,OAAO,CAAC;CACb,GACL,OAAO,CAAC,IAAI,CAAC,CAqBf"}
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/core/docker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA4BrD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAC2C,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAEI,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,YAAY,QAAmB,CAAC;AAE7C;;;;;;;;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,CA0DV;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"}