@@ -6,6 +6,41 @@ import { logging } from "./logging";
66 * @category Helpers
77 */
88export namespace runtime {
9+ // Helper to safely read from import.meta.env or process.env
10+ const getEnvVar = < T = unknown > ( path : string [ ] , fallback ?: T ) : T | undefined => {
11+ try {
12+ // Try Vite-style env first
13+ let env : any = ( import . meta as any ) ?. env ;
14+ for ( const key of path ) {
15+ if ( env && key in env ) env = env [ key ] ;
16+ else {
17+ env = undefined ;
18+ break ;
19+ }
20+ }
21+ if ( env !== undefined ) return env as T ;
22+ } catch {
23+ /* ignore */
24+ }
25+
26+ try {
27+ // Try process.env for Electron main/preload
28+ let env : any = process ?. env ;
29+ for ( const key of path ) {
30+ if ( env && key in env ) env = env [ key ] ;
31+ else {
32+ env = undefined ;
33+ break ;
34+ }
35+ }
36+ if ( env !== undefined ) return env as T ;
37+ } catch {
38+ /* ignore */
39+ }
40+
41+ return fallback ;
42+ } ;
43+
944 /**
1045 * Runtime configuration.
1146 */
@@ -30,11 +65,11 @@ export namespace runtime {
3065 */
3166 export const config = ( config ?: Config ) : Config => {
3267 return {
33- tracing : config ?. tracing || import . meta ?. env ?. SPA_ROUTER ?. tracing || false ,
68+ tracing : config ?. tracing ?? getEnvVar ( [ " SPA_ROUTER" , " tracing" ] , { enabled : false } ) ,
3469 logging : {
35- level : config ?. logging ?. level || import . meta ?. env ?. SPA_ROUTER ?. logging ?. level || 4 ,
36- console : config ?. logging ?. console || import . meta ?. env ?. SPA_ROUTER ?. logging ?. console ,
37- sink : config ?. logging ?. sink || import . meta ?. env ?. SPA_ROUTER ?. logging ?. sink
70+ level : config ?. logging ?. level ?? getEnvVar ( [ " SPA_ROUTER" , " logging" , " level" ] , 4 ) ,
71+ console : config ?. logging ?. console ?? getEnvVar ( [ " SPA_ROUTER" , " logging" , " console" ] ) ,
72+ sink : config ?. logging ?. sink ?? getEnvVar ( [ " SPA_ROUTER" , " logging" , " sink" ] )
3873 }
3974 } ;
4075 } ;
0 commit comments