vibecarbon 0.6.0 → 0.6.1

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.
@@ -59,7 +59,7 @@
59
59
  "@mdx-js/react": "^3.1.1",
60
60
  "@mdx-js/rollup": "^3.1.1",
61
61
  "@scalar/api-reference-react": "^0.9.49",
62
- "@supabase/supabase-js": "^2.106.2",
62
+ "@supabase/supabase-js": "^2.108.2",
63
63
  "@tanstack/react-query": "^5.100.14",
64
64
  "class-variance-authority": "^0.7.1",
65
65
  "clsx": "^2.1.1",
@@ -94,8 +94,19 @@ if (process.env.NODE_ENV !== 'production' && portOffset !== 0) {
94
94
  }
95
95
  }
96
96
 
97
+ // Treat empty-string env vars as unset before validating. Docker Compose
98
+ // `env_file` (and other env sources) surface an unset optional var as "" rather
99
+ // than omitting it; zod's `.optional()` permits `undefined` but NOT "", so an
100
+ // empty SMTP_ADMIN_EMAIL / REDIS_URL / SMTP_PORT would fail .email()/.url()/
101
+ // .number() and crash boot with "Server configuration error". Stripping blanks
102
+ // makes "" mean "not set", matching operator intent (and how the k8s Secret
103
+ // path already skips empty values).
104
+ const cleanedEnv = Object.fromEntries(
105
+ Object.entries(process.env).filter(([, value]) => value !== ''),
106
+ );
107
+
97
108
  // Validate environment variables
98
- const parsed = envSchema.safeParse(process.env);
109
+ const parsed = envSchema.safeParse(cleanedEnv);
99
110
 
100
111
  if (!parsed.success) {
101
112
  // In production, don't expose which specific environment variables failed validation
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibecarbon",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Create and manage production-ready Vibecarbon applications",
5
5
  "type": "module",
6
6
  "bin": "./src/cli.js",