Type your environment variables with decorators for environment based configurations
To install the module from npm:
npm install --save env-decorator
Config class
import { loadConfig, Env } from 'env-decorator'
export class Config {
@Env({ required: true })
NODE_ENV: string
// Use the 'number' or 'boolean' type
@Env({ type: 'number' })
PORT: number
@Env()
ELASTICSEARCH_URL: string
@Env('APP_DEBUG', { type: 'boolean' })
DEBUG: boolean = true
@Env([ 'MONGO_URL', 'MONGO_URI', 'MONGODB_ADDON_URI' ])
MONGO_URL: string
}
export const config = loadConfig(Config)
Import
import * as elasticsearch from 'elasticsearch'
import { config } from './config'
const client = new elasticsearch.Client({
host: config.ELASTICSEARCH_URL
})