File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change 11import { log } from '@/lib/logger' ;
22import { parse } from './transform' ;
3+ import { readFileSync } from 'node:fs' ;
34
45export type EnvType = 'string' | 'string[]' | 'number' | 'boolean' | 'byte' | 'ms' | 'json' ;
56export function env ( property : string , env : string | string [ ] , type : EnvType , isDb : boolean = false ) {
@@ -178,7 +179,17 @@ export function readEnv(): EnvResult {
178179 env . variable = env . variable . find ( ( v ) => process . env [ v ] !== undefined ) || 'DATABASE_URL' ;
179180 }
180181
181- const value = process . env [ env . variable ] ;
182+ let value = process . env [ env . variable ] ;
183+ const valueFileName = process . env [ `${ env . variable } _FILE` ] ;
184+ if ( valueFileName ) {
185+ try {
186+ value = readFileSync ( valueFileName , 'utf-8' ) . trim ( ) ;
187+ logger . debug ( 'Using env value from file' , { variable : env . variable , file : valueFileName } ) ;
188+ } catch ( e ) {
189+ logger . error ( `Failed to read env value from file for ${ env . variable } . Skipping...` ) . error ( e as Error ) ;
190+ continue ;
191+ }
192+ }
182193
183194 if ( value === undefined ) continue ;
184195
You can’t perform that action at this time.
0 commit comments