0.0.1-alpha.10 • Published 4 years ago

@juniorcitizen/environment-variables v0.0.1-alpha.10

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

@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()

// to access the 'PORT' variable
console.log(serverEnvVars.PORT) // => 3001

// destructure to access individual values
const {PORT} = serverEnvVars
console.log(PORT) // => 3001

API

AdminEnvVars

  • AdminEnvVars.ADMIN_EMAIL: string | undefined

    • default: undefined
    • key: process.env.ADMIN_EMAIL
  • AdminEnvVars.ADMIN_USER_NAME: string | undefined

    • default: undefined
    • key: process.env.ADMIN_USER_NAME

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