import * as path from 'path' ; import * as fs from 'fs' ; import * as _ from 'lodash' ; const DEFAULT_CONFIG = { 'apiKeys' : { 'http://localhost:3000' : '' } , 'port' : '8000' } ; export const EXPORTED_PATH = path . join ( __dirname , '../exported' ) ; if ( ! fs . existsSync ( EXPORTED_PATH ) ) { console . log ( `${ EXPORTED_PATH } doesn't exist, creating` ) ; fs . mkdirSync ( EXPORTED_PATH ) ; } function getConfigField ( field , defaultVal ? ) { let val = defaultVal ; let configFile = path . join ( __dirname , '../config.json' ) ; if ( ! fs . existsSync ( configFile ) ) { console . log ( `${ configFile } doesn't exist, creating` ) ; fs . writeFileSync ( configFile , JSON . stringify ( DEFAULT_CONFIG ) , 'utf8' ) ; } let data = fs . readFileSync ( configFile , 'utf8' ) ; let configField = JSON . parse ( data ) [ field ] ; if ( configField !== undefined ) { val = configField ; } if ( val === undefined || val == '' || _ . isEmpty ( val ) ) { throw new Error ( `Please configure ${ field } in ${ configFile }` ) ; } return val ; } export const port = getConfigField ( 'port' , '8000' ) ; export const apiKeys = getConfigField ( 'apiKeys' ) ;