import dotenv from 'dotenv' ; import common from './common.json' ; import local from './local.json' ; import production from './production.json' ; dotenv . config ( ) ; interface iConfig { baseUrl : string ; api : { uri : string ; credentials : string ; } ; debug : boolean ; cache : boolean ; session : { cookieDomain : string ; maxAge : number ; cookiePrefix : string ; path : string ; httpOnly : boolean ; } ; files : { path : string ; allowedExtensions : string [ ] ; maxFileSize : number ; types : any ; } ; server : { port : number ; } ; languages : { default : string ; list : string [ ] ; } ; security : { secretKey : string ; expiresIn : string ; } ; } const { SECURITY_SECRET_KEY = '' } = process . env ; common . security . secretKey = SECURITY_SECRET_KEY ; let env = 'local' ; if ( process . env . NODE_ENV && process . env . NODE_ENV !== 'development' ) { env = process . env . NODE_ENV ; } const config = { ... common , ... ( env === 'local' ? local : production ) } ; export const isLocal = ( ) => env === 'local' ; export const isProduction = ( ) => env === 'production' ; export default config ;