@geekmidas/cli 1.10.35 → 1.10.36

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 (63) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{config-Cuo8vFsp.cjs → config-QnuOcYXp.cjs} +2 -2
  3. package/dist/{config-Cuo8vFsp.cjs.map → config-QnuOcYXp.cjs.map} +1 -1
  4. package/dist/{config-B62g483e.mjs → config-U-gojtxn.mjs} +2 -2
  5. package/dist/{config-B62g483e.mjs.map → config-U-gojtxn.mjs.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/deploy/sniffer-loader.cjs +1 -1
  11. package/dist/{index-Dt_dZ7K4.d.mts → index-D7iT4dnv.d.mts} +41 -4
  12. package/dist/index-D7iT4dnv.d.mts.map +1 -0
  13. package/dist/{index-C3t5VL4R.d.cts → index-DRQq26DF.d.cts} +41 -4
  14. package/dist/index-DRQq26DF.d.cts.map +1 -0
  15. package/dist/index.cjs +1094 -30
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.mjs +1094 -30
  18. package/dist/index.mjs.map +1 -1
  19. package/dist/{openapi-CflxypuN.mjs → openapi-BA0e3I_s.mjs} +65 -15
  20. package/dist/openapi-BA0e3I_s.mjs.map +1 -0
  21. package/dist/{openapi-B_rJjImN.cjs → openapi-Bb4UEyZN.cjs} +65 -15
  22. package/dist/openapi-Bb4UEyZN.cjs.map +1 -0
  23. package/dist/openapi.cjs +3 -3
  24. package/dist/openapi.d.cts +7 -0
  25. package/dist/openapi.d.cts.map +1 -1
  26. package/dist/openapi.d.mts +7 -0
  27. package/dist/openapi.d.mts.map +1 -1
  28. package/dist/openapi.mjs +3 -3
  29. package/dist/workspace/index.cjs +4 -1
  30. package/dist/workspace/index.d.cts +2 -2
  31. package/dist/workspace/index.d.mts +2 -2
  32. package/dist/workspace/index.mjs +2 -2
  33. package/dist/{workspace-CGYykWfn.cjs → workspace-BobDOIG9.cjs} +74 -3
  34. package/dist/workspace-BobDOIG9.cjs.map +1 -0
  35. package/dist/{workspace-Bi4X7Yzy.mjs → workspace-Cgmvgwh8.mjs} +57 -4
  36. package/dist/workspace-Cgmvgwh8.mjs.map +1 -0
  37. package/package.json +4 -4
  38. package/src/__tests__/openapi.spec.ts +99 -9
  39. package/src/deploy/__tests__/env-resolver.spec.ts +28 -0
  40. package/src/deploy/env-resolver.ts +5 -10
  41. package/src/deploy/index.ts +13 -7
  42. package/src/deploy/sniffer.ts +10 -4
  43. package/src/dev/index.ts +29 -1
  44. package/src/index.ts +6 -2
  45. package/src/init/__tests__/generators.spec.ts +147 -0
  46. package/src/init/generators/mobile-expo.ts +576 -0
  47. package/src/init/generators/monorepo.ts +42 -11
  48. package/src/init/generators/web-tanstack.ts +348 -0
  49. package/src/init/index.ts +40 -3
  50. package/src/init/templates/index.ts +31 -0
  51. package/src/init/versions.ts +2 -2
  52. package/src/openapi.ts +110 -23
  53. package/src/workspace/__tests__/index.spec.ts +92 -0
  54. package/src/workspace/__tests__/publicEnv.spec.ts +64 -0
  55. package/src/workspace/index.ts +16 -2
  56. package/src/workspace/publicEnv.ts +59 -0
  57. package/src/workspace/types.ts +6 -1
  58. package/dist/index-C3t5VL4R.d.cts.map +0 -1
  59. package/dist/index-Dt_dZ7K4.d.mts.map +0 -1
  60. package/dist/openapi-B_rJjImN.cjs.map +0 -1
  61. package/dist/openapi-CflxypuN.mjs.map +0 -1
  62. package/dist/workspace-Bi4X7Yzy.mjs.map +0 -1
  63. package/dist/workspace-CGYykWfn.cjs.map +0 -1
@@ -1,6 +1,53 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
2
  const node_path = require_chunk.__toESM(require("node:path"));
3
3
 
4
+ //#region src/workspace/publicEnv.ts
5
+ /**
6
+ * All public env-var prefixes the toolbox understands.
7
+ *
8
+ * Used when resolving incoming var names back to a dependency
9
+ * (e.g. `VITE_AUTH_URL` → `auth`). A var matching any of these
10
+ * is considered safe to inline into a client bundle.
11
+ */
12
+ const PUBLIC_ENV_PREFIXES = [
13
+ "NEXT_PUBLIC_",
14
+ "VITE_",
15
+ "EXPO_PUBLIC_"
16
+ ];
17
+ /**
18
+ * Resolve the public env-var prefix that a frontend framework's bundler
19
+ * inlines into client code at build time:
20
+ *
21
+ * - `nextjs` → `NEXT_PUBLIC_`
22
+ * - `vite` → `VITE_`
23
+ * - `tanstack-start` → `VITE_` (uses Vite under the hood)
24
+ * - `expo` → `EXPO_PUBLIC_`
25
+ * - `remix` → `''` (Remix exposes via loaders, no prefix convention)
26
+ *
27
+ * For backend frameworks or unspecified, falls back to `NEXT_PUBLIC_` to
28
+ * preserve the historical default. Backend apps never read these vars
29
+ * from a bundle, so the prefix only affects scaffolding/symmetry.
30
+ */
31
+ function getPublicEnvPrefix(framework) {
32
+ switch (framework) {
33
+ case "vite":
34
+ case "tanstack-start": return "VITE_";
35
+ case "expo": return "EXPO_PUBLIC_";
36
+ case "remix": return "";
37
+ case "nextjs": return "NEXT_PUBLIC_";
38
+ default: return "NEXT_PUBLIC_";
39
+ }
40
+ }
41
+ /**
42
+ * Strip a known public prefix from a var name.
43
+ * Returns the un-prefixed name, or `null` if no prefix matched.
44
+ */
45
+ function stripPublicPrefix(name) {
46
+ for (const prefix of PUBLIC_ENV_PREFIXES) if (prefix && name.startsWith(prefix)) return name.slice(prefix.length);
47
+ return null;
48
+ }
49
+
50
+ //#endregion
4
51
  //#region ../../node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/core.js
5
52
  /** A special constant with type `never` */
6
53
  const NEVER = Object.freeze({ status: "aborted" });
@@ -4120,19 +4167,25 @@ function getAppBuildOrder(workspace) {
4120
4167
  }
4121
4168
  /**
4122
4169
  * Generate environment variables for app dependencies.
4123
- * Each dependency gets both a `{DEP_NAME}_URL` and `NEXT_PUBLIC_{DEP_NAME}_URL` variable.
4170
+ *
4171
+ * Each dependency gets the un-prefixed `{DEP}_URL` (for server-side use) and,
4172
+ * when the consuming app's framework supports a public-var prefix, also the
4173
+ * prefixed form (e.g. `NEXT_PUBLIC_{DEP}_URL` for Next.js, `VITE_{DEP}_URL`
4174
+ * for Vite/TanStack Start). The prefixed form is what gets bundled into the
4175
+ * client at build time.
4124
4176
  */
4125
4177
  function getDependencyEnvVars(workspace, appName, urlPrefix = "http://localhost") {
4126
4178
  const app = workspace.apps[appName];
4127
4179
  if (!app) return {};
4128
4180
  const env = {};
4181
+ const publicPrefix = getPublicEnvPrefix(app.framework);
4129
4182
  for (const depName of app.dependencies) {
4130
4183
  const dep = workspace.apps[depName];
4131
4184
  if (dep) {
4132
4185
  const url$1 = `${urlPrefix}:${dep.port}`;
4133
4186
  const envKey = `${depName.toUpperCase()}_URL`;
4134
4187
  env[envKey] = url$1;
4135
- env[`NEXT_PUBLIC_${envKey}`] = url$1;
4188
+ if (publicPrefix) env[`${publicPrefix}${envKey}`] = url$1;
4136
4189
  }
4137
4190
  }
4138
4191
  return env;
@@ -4176,6 +4229,12 @@ Object.defineProperty(exports, 'PHASE_2_DEPLOY_TARGETS', {
4176
4229
  return PHASE_2_DEPLOY_TARGETS;
4177
4230
  }
4178
4231
  });
4232
+ Object.defineProperty(exports, 'PUBLIC_ENV_PREFIXES', {
4233
+ enumerable: true,
4234
+ get: function () {
4235
+ return PUBLIC_ENV_PREFIXES;
4236
+ }
4237
+ });
4179
4238
  Object.defineProperty(exports, 'SUPPORTED_DEPLOY_TARGETS', {
4180
4239
  enumerable: true,
4181
4240
  get: function () {
@@ -4230,6 +4289,12 @@ Object.defineProperty(exports, 'getEndpointForStage', {
4230
4289
  return getEndpointForStage;
4231
4290
  }
4232
4291
  });
4292
+ Object.defineProperty(exports, 'getPublicEnvPrefix', {
4293
+ enumerable: true,
4294
+ get: function () {
4295
+ return getPublicEnvPrefix;
4296
+ }
4297
+ });
4233
4298
  Object.defineProperty(exports, 'isDeployTargetSupported', {
4234
4299
  enumerable: true,
4235
4300
  get: function () {
@@ -4266,6 +4331,12 @@ Object.defineProperty(exports, 'safeValidateWorkspaceConfig', {
4266
4331
  return safeValidateWorkspaceConfig;
4267
4332
  }
4268
4333
  });
4334
+ Object.defineProperty(exports, 'stripPublicPrefix', {
4335
+ enumerable: true,
4336
+ get: function () {
4337
+ return stripPublicPrefix;
4338
+ }
4339
+ });
4269
4340
  Object.defineProperty(exports, 'validateWorkspaceConfig', {
4270
4341
  enumerable: true,
4271
4342
  get: function () {
@@ -4278,4 +4349,4 @@ Object.defineProperty(exports, 'wrapSingleAppAsWorkspace', {
4278
4349
  return wrapSingleAppAsWorkspace;
4279
4350
  }
4280
4351
  });
4281
- //# sourceMappingURL=workspace-CGYykWfn.cjs.map
4352
+ //# sourceMappingURL=workspace-BobDOIG9.cjs.map