@juniorcitizen/environment-variables
provides modularized and type-safe access to environment variables with sensible defaults for node.js projects
Outline
Installation
npm install @juniorcitizen/environment-variables
Usage
import {ServerEnvVars} from '@juniorcitizen/environment-variables'
const serverEnvVars = new ServerEnvVars()
console.log(serverEnvVars.PORT)
const {PORT} = serverEnvVars
console.log(PORT)
API
AdminEnvVars
JwtEnvVars
-
JwtEnvVars.ACCESS_DURATION: number
- default: 60000 (one minute in milliseconds)
- key: process.env.ACCESS_DURATION
-
JwtEnvVars.ACCESS_SECRET: string
- default: (random string of 24 characters)
- key: process.env.ACCESS_SECRET
-
JwtEnvVars.REFRESH_DURATION: number
- default: 604800000 (one week in milliseconds)
- key: process.env.REFRESH_DURATION
-
JwtEnvVars.REFRESH_SECRET: string
- default: (random string of 24 characters)
- key: process.env.REFRESH_SECRET
-
JwtEnvVars.RESET_DURATION: number
- default: 3600000 (one hour in milliseconds)
- key: process.env.RESET_DURATION
-
JwtEnvVars.RESET_SECRET: string
- default: (random string of 24 characters)
- key: process.env.RESET_SECRET
-
JwtEnvVars.VERIFY_DURATION: number
- default: 259200000 (three days in milliseconds)
- key: process.env.VERIFY_DURATION
-
JwtEnvVars.VERIFY_SECRET: string
- default: (random string of 24 characters)
- key: process.env.VERIFY_SECRET
MongoEnvVars
-
MongoEnvVars.MONGO_DATABASE: string
- default: 'default_database'
- key: process.env.MONGO_DATABASE
-
MongoEnvVars.MONGO_HOST: string
- default: '0.0.0.0'
- key: process.env.MONGO_HOST
-
MongoEnvVars.MONGO_PASSWORD: string
- default: undefined
- key: process.env.MONGO_PASSWORD
-
MongoEnvVars.MONGO_PORT: number
- default: 6379
- key: process.env.MONGO_PORT
-
MongoEnvVars.MONGO_USER_NAME: string
- default: undefined
- key: process.env.MONGO_USER_NAME
RedisEnvVars
-
RedisEnvVars.REDIS_HOST: string
- default: '0.0.0.0'
- key: process.env.REDIS_HOST
-
RedisEnvVars.REDIS_PASSWORD: string
- default: undefined
- key: process.env.REDIS_PASSWORD
-
RedisEnvVars.REDIS_PORT: number
- default: 6379
- key: process.env.REDIS_PORT
-
RedisEnvVars.REDIS_TTL: number
- default: 60000 (one minute in milliseconds)
- key: process.env.REDIS_TTL
ServerEnvVars
-
ServerEnvVars.FAVICON_FILE_NAME: string
- default: 'favicon.ico'
- key: process.env.FAVICON_FILE_NAME
-
ServerEnvVars.PORT: number
- default: 3001
- key: process.env.PORT
-
ServerEnvVars.PROD_MODE: boolean
- default: false
- key: process.env.NODE_ENV
-
ServerEnvVars.PUBLIC_PATH: string
- default: './public'
- key: process.env.PUBLIC_PATH
-
ServerEnvVars.VIEWS_PATH: string
- default: './views'
- key: process.env.VIEWS_PATH
SessionEnvVars
-
SessionEnvVars.SESSION_ABSOLUTE_TIMEOUT: number
- default: 604800000 (one week in milliseconds)
- key: process.env.SESSION_ABSOLUTE_TIMEOUT
-
SessionEnvVars.SESSION_IDLE_TIMEOUT: number
- default: 600000 (ten minutes in milliseconds)
- key: process.env.SESSION_IDLE_TIMEOUT
-
SessionEnvVars.SESSION_NAME: string
- default: 'default_session'
- key: process.env.SESSION_NAME
ValidationEnvVars
-
ValidationEnvVars.EMAIL_MAX_LENGTH: number
- default: 128
- key: process.env.EMAIL_MAX_LENGTH
-
ValidationEnvVars.EMAIL_MIN_LENGTH: number
- default: 8
- key: process.env.EMAIL_MIN_LENGTH
-
ValidationEnvVars.PASSWORD_MAX_LENGTH: number
- default: 64
- key: process.env.PASSWORD_MAX_LENGTH
-
ValidationEnvVars.PASSWORD_MIN_LENGTH: number
- default: 12
- key: process.env.PASSWORD_MIN_LENGTH
-
ValidationEnvVars.USER_NAME_MAX_LENGTH: number
- default: 64
- key: process.env.USER_NAME_MAX_LENGTH
-
ValidationEnvVars.USER_NAME_MIN_LENGTH: number
- default: 8
- key: process.env.USER_NAME_MIN_LENGTH