@geekmidas/cli 1.10.36 → 1.10.37

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 (82) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{config-U-gojtxn.mjs → config-Bbu1JKvf.mjs} +2 -2
  3. package/dist/{config-U-gojtxn.mjs.map → config-Bbu1JKvf.mjs.map} +1 -1
  4. package/dist/{config-QnuOcYXp.cjs → config-DujV8DbR.cjs} +2 -2
  5. package/dist/{config-QnuOcYXp.cjs.map → config-DujV8DbR.cjs.map} +1 -1
  6. package/dist/config.cjs +2 -2
  7. package/dist/config.d.cts +1 -1
  8. package/dist/config.d.mts +1 -1
  9. package/dist/config.mjs +2 -2
  10. package/dist/{fullstack-secrets-Bchl2MDd.cjs → fullstack-secrets-BYzi6Hwl.cjs} +3 -2
  11. package/dist/{fullstack-secrets-Bchl2MDd.cjs.map → fullstack-secrets-BYzi6Hwl.cjs.map} +1 -1
  12. package/dist/{fullstack-secrets-P84v8zWn.mjs → fullstack-secrets-l8s3II_H.mjs} +3 -2
  13. package/dist/{fullstack-secrets-P84v8zWn.mjs.map → fullstack-secrets-l8s3II_H.mjs.map} +1 -1
  14. package/dist/{index-D7iT4dnv.d.mts → index-BBvGMG_A.d.mts} +124 -67
  15. package/dist/index-BBvGMG_A.d.mts.map +1 -0
  16. package/dist/{index-DRQq26DF.d.cts → index-Dz2a7xQU.d.cts} +124 -67
  17. package/dist/index-Dz2a7xQU.d.cts.map +1 -0
  18. package/dist/index.cjs +244 -91
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.mjs +244 -91
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/{openapi-Bb4UEyZN.cjs → openapi-0JUzU5Tv.cjs} +9 -2
  23. package/dist/{openapi-Bb4UEyZN.cjs.map → openapi-0JUzU5Tv.cjs.map} +1 -1
  24. package/dist/{openapi-BA0e3I_s.mjs → openapi-C5AycKTR.mjs} +10 -3
  25. package/dist/{openapi-BA0e3I_s.mjs.map → openapi-C5AycKTR.mjs.map} +1 -1
  26. package/dist/openapi.cjs +3 -3
  27. package/dist/openapi.mjs +3 -3
  28. package/dist/{reconcile-DAAKa0YR.mjs → reconcile-CYGmqXvq.mjs} +2 -2
  29. package/dist/{reconcile-DAAKa0YR.mjs.map → reconcile-CYGmqXvq.mjs.map} +1 -1
  30. package/dist/{reconcile-CZtzdrnc.cjs → reconcile-D93YG7G5.cjs} +2 -2
  31. package/dist/{reconcile-CZtzdrnc.cjs.map → reconcile-D93YG7G5.cjs.map} +1 -1
  32. package/dist/workspace/index.cjs +1 -1
  33. package/dist/workspace/index.d.cts +1 -1
  34. package/dist/workspace/index.d.mts +1 -1
  35. package/dist/workspace/index.mjs +1 -1
  36. package/dist/{workspace-BobDOIG9.cjs → workspace-CQTT7HJQ.cjs} +34 -25
  37. package/dist/workspace-CQTT7HJQ.cjs.map +1 -0
  38. package/dist/{workspace-Cgmvgwh8.mjs → workspace-D-37Ylqo.mjs} +34 -25
  39. package/dist/workspace-D-37Ylqo.mjs.map +1 -0
  40. package/docs/dev-server-resilience-design.md +189 -0
  41. package/package.json +5 -5
  42. package/src/build/__tests__/workspace-build.spec.ts +7 -7
  43. package/src/build/index.ts +25 -9
  44. package/src/credentials/__tests__/helpers.ts +1 -1
  45. package/src/credentials/__tests__/workspaceCredentials.spec.ts +1 -1
  46. package/src/deploy/__tests__/domain.spec.ts +12 -12
  47. package/src/deploy/__tests__/env-resolver.spec.ts +1 -1
  48. package/src/deploy/__tests__/index.spec.ts +14 -14
  49. package/src/deploy/__tests__/sniffer.spec.ts +9 -9
  50. package/src/deploy/domain.ts +19 -11
  51. package/src/deploy/index.ts +12 -1
  52. package/src/deploy/sniffer.ts +1 -1
  53. package/src/deploy/types.ts +1 -1
  54. package/src/dev/__tests__/index.spec.ts +11 -11
  55. package/src/dev/index.ts +14 -8
  56. package/src/docker/__tests__/compose.spec.ts +4 -4
  57. package/src/docker/compose.ts +5 -3
  58. package/src/docker/index.ts +34 -6
  59. package/src/docker/templates.ts +138 -0
  60. package/src/generators/OpenApiTsGenerator.ts +22 -0
  61. package/src/generators/__tests__/OpenApiTsGenerator.registry.spec.ts +77 -0
  62. package/src/init/__tests__/init.spec.ts +1 -1
  63. package/src/init/generators/monorepo.ts +3 -3
  64. package/src/secrets/__tests__/reconcile.spec.ts +1 -1
  65. package/src/setup/__tests__/reconcile-secrets.spec.ts +2 -2
  66. package/src/setup/fullstack-secrets.ts +7 -1
  67. package/src/setup/index.ts +2 -1
  68. package/src/test/__tests__/__fixtures__/workspace.ts +1 -1
  69. package/src/test/__tests__/web.spec.ts +2 -2
  70. package/src/workspace/__tests__/client-generator.spec.ts +6 -6
  71. package/src/workspace/__tests__/index.spec.ts +4 -4
  72. package/src/workspace/__tests__/schema.spec.ts +27 -30
  73. package/src/workspace/__tests__/type-inference.spec.ts +5 -5
  74. package/src/workspace/client-generator.ts +10 -7
  75. package/src/workspace/index.ts +1 -1
  76. package/src/workspace/publicEnv.ts +2 -4
  77. package/src/workspace/schema.ts +126 -27
  78. package/src/workspace/types.ts +40 -69
  79. package/dist/index-D7iT4dnv.d.mts.map +0 -1
  80. package/dist/index-DRQq26DF.d.cts.map +0 -1
  81. package/dist/workspace-BobDOIG9.cjs.map +0 -1
  82. package/dist/workspace-Cgmvgwh8.mjs.map +0 -1
@@ -3448,11 +3448,6 @@ const OpenApiConfigSchema = object({
3448
3448
  */
3449
3449
  const HooksConfigSchema = object({ server: string().optional() });
3450
3450
  /**
3451
- * Auth provider schema.
3452
- * Currently only 'better-auth' is supported.
3453
- */
3454
- const AuthProviderSchema = _enum(["better-auth"]);
3455
- /**
3456
3451
  * Backend framework schema for non-gkm apps.
3457
3452
  */
3458
3453
  const BackendFrameworkSchema = _enum([
@@ -3467,12 +3462,30 @@ const BackendFrameworkSchema = _enum([
3467
3462
  const FrontendFrameworkSchema = _enum([
3468
3463
  "nextjs",
3469
3464
  "remix",
3470
- "vite"
3465
+ "vite",
3466
+ "tanstack-start"
3471
3467
  ]);
3472
3468
  /**
3473
- * Combined framework schema (backend or frontend).
3469
+ * Mobile framework schema.
3474
3470
  */
3475
- const FrameworkSchema = union([BackendFrameworkSchema, FrontendFrameworkSchema]);
3471
+ const MobileFrameworkSchema = _enum(["expo"]);
3472
+ /**
3473
+ * Combined framework schema (backend, frontend, or mobile).
3474
+ */
3475
+ const FrameworkSchema = union([
3476
+ BackendFrameworkSchema,
3477
+ FrontendFrameworkSchema,
3478
+ MobileFrameworkSchema
3479
+ ]);
3480
+ /** Frontend framework values, kept in sync with FrontendFrameworkSchema. */
3481
+ const FRONTEND_FRAMEWORKS = [
3482
+ "nextjs",
3483
+ "remix",
3484
+ "vite",
3485
+ "tanstack-start"
3486
+ ];
3487
+ /** Mobile framework values, kept in sync with MobileFrameworkSchema. */
3488
+ const MOBILE_FRAMEWORKS = ["expo"];
3476
3489
  /**
3477
3490
  * Deploy target schema.
3478
3491
  * Currently only 'dokploy' is supported.
@@ -3782,8 +3795,8 @@ const StateConfigSchema = union([BuiltInStateConfigSchema, CustomStateConfigSche
3782
3795
  const AppConfigSchema = object({
3783
3796
  type: _enum([
3784
3797
  "backend",
3785
- "frontend",
3786
- "auth"
3798
+ "web",
3799
+ "mobile"
3787
3800
  ]).optional().default("backend"),
3788
3801
  path: string().min(1, "App path is required"),
3789
3802
  port: number().int().positive("Port must be a positive integer"),
@@ -3814,27 +3827,23 @@ const AppConfigSchema = object({
3814
3827
  config: object({
3815
3828
  client: string().optional(),
3816
3829
  server: string().optional()
3817
- }).optional(),
3818
- provider: AuthProviderSchema.optional()
3830
+ }).optional()
3819
3831
  }).refine((data) => {
3820
- if (data.type === "frontend") {
3821
- const frontendFrameworks = [
3822
- "nextjs",
3823
- "remix",
3824
- "vite"
3825
- ];
3826
- if (!data.framework || !frontendFrameworks.includes(data.framework)) return false;
3832
+ if (data.type === "web") {
3833
+ if (!data.framework || !FRONTEND_FRAMEWORKS.includes(data.framework)) return false;
3827
3834
  }
3828
3835
  return true;
3829
3836
  }, {
3830
- message: "Frontend apps must have a valid frontend framework (nextjs, remix, vite)",
3837
+ message: `Web apps must have a valid web framework (${FRONTEND_FRAMEWORKS.join(", ")})`,
3831
3838
  path: ["framework"]
3832
3839
  }).refine((data) => {
3833
- if (data.type === "auth" && !data.provider) return false;
3840
+ if (data.type === "mobile") {
3841
+ if (!data.framework || !MOBILE_FRAMEWORKS.includes(data.framework)) return false;
3842
+ }
3834
3843
  return true;
3835
3844
  }, {
3836
- message: "Auth apps must have provider defined",
3837
- path: ["provider"]
3845
+ message: `Mobile apps must have a valid mobile framework (${MOBILE_FRAMEWORKS.join(", ")})`,
3846
+ path: ["framework"]
3838
3847
  });
3839
3848
  /**
3840
3849
  * Workspace configuration schema.
@@ -3990,7 +3999,7 @@ function validateDependencies(apps) {
3990
3999
  * logger: './src/logger',
3991
4000
  * },
3992
4001
  * web: {
3993
- * type: 'frontend',
4002
+ * type: 'web',
3994
4003
  * framework: 'nextjs',
3995
4004
  * path: 'apps/web',
3996
4005
  * port: 3001,
@@ -4224,4 +4233,4 @@ function getEndpointForStage(dokployConfig, stage) {
4224
4233
 
4225
4234
  //#endregion
4226
4235
  export { PHASE_2_DEPLOY_TARGETS, PUBLIC_ENV_PREFIXES, SUPPORTED_DEPLOY_TARGETS, WorkspaceConfigSchema, defineWorkspace, formatValidationErrors, getAppBuildOrder, getAppGkmConfig, getDependencyEnvVars, getDeployTargetError, getEndpointForStage, getPublicEnvPrefix, isDeployTargetSupported, isPhase2DeployTarget, isWorkspaceConfig, normalizeWorkspace, processConfig, safeValidateWorkspaceConfig, stripPublicPrefix, validateWorkspaceConfig, wrapSingleAppAsWorkspace };
4227
- //# sourceMappingURL=workspace-Cgmvgwh8.mjs.map
4236
+ //# sourceMappingURL=workspace-D-37Ylqo.mjs.map