@@ -18,6 +18,13 @@ export const JsonSchema = z.string().refine(
18
18
{ message : "Invalid JSON string" } ,
19
19
) ;
20
20
21
+ const boolEnvSchema = ( defaultBool : boolean ) =>
22
+ z
23
+ . string ( )
24
+ . default ( defaultBool ? "true" : "false" )
25
+ . refine ( ( s ) => s === "true" || s === "false" , "must be 'true' or 'false'" )
26
+ . transform ( ( s ) => s === "true" ) ;
27
+
21
28
export const UrlSchema = z
22
29
. string ( )
23
30
. refine (
@@ -53,15 +60,15 @@ export const env = createEnv({
53
60
) ,
54
61
PORT : z . coerce . number ( ) . default ( 3005 ) ,
55
62
HOST : z . string ( ) . default ( "0.0.0.0" ) ,
56
- ENABLE_HTTPS : z . coerce . boolean ( ) . default ( false ) ,
63
+ ENABLE_HTTPS : boolEnvSchema ( false ) ,
57
64
HTTPS_PASSPHRASE : z . string ( ) . default ( "thirdweb-engine" ) ,
58
- TRUST_PROXY : z . coerce . boolean ( ) . default ( false ) ,
65
+ TRUST_PROXY : boolEnvSchema ( false ) ,
59
66
CLIENT_ANALYTICS_URL : z
60
67
. union ( [ UrlSchema , z . literal ( "" ) ] )
61
68
. default ( "https://c.thirdweb.com/event" ) ,
62
69
SDK_BATCH_TIME_LIMIT : z . coerce . number ( ) . default ( 0 ) ,
63
70
SDK_BATCH_SIZE_LIMIT : z . coerce . number ( ) . default ( 100 ) ,
64
- ENABLE_KEYPAIR_AUTH : z . coerce . boolean ( ) . default ( false ) ,
71
+ ENABLE_KEYPAIR_AUTH : boolEnvSchema ( false ) ,
65
72
CONTRACT_SUBSCRIPTIONS_DELAY_SECONDS : z . coerce
66
73
. number ( )
67
74
. nonnegative ( )
@@ -73,11 +80,11 @@ export const env = createEnv({
73
80
. enum ( [ "default" , "sandbox" , "server_only" , "worker_only" ] )
74
81
. default ( "default" ) ,
75
82
GLOBAL_RATE_LIMIT_PER_MIN : z . coerce . number ( ) . default ( 400 * 60 ) ,
76
- DD_TRACER_ACTIVATED : z . coerce . boolean ( ) . default ( false ) ,
83
+ DD_TRACER_ACTIVATED : boolEnvSchema ( false ) ,
77
84
78
85
// Prometheus
79
86
METRICS_PORT : z . coerce . number ( ) . default ( 4001 ) ,
80
- METRICS_ENABLED : z . coerce . boolean ( ) . default ( true ) ,
87
+ METRICS_ENABLED : boolEnvSchema ( true ) ,
81
88
82
89
/**
83
90
* Limits
0 commit comments