Env

Statically defined environment variables enable a script to define configuration that's accessible from scrip.env based on weights and environment. env vars appear as properties of script.env.

Values can be any static literal, including object and arrays.

Note: env variables cannot override any built-in script.env variables such as version, url, etc.

@env(options)

Arguments

  • options { Object } Optional options object.

    • name { String } Optional name to override declared member name.

    • environment { String = "*" } production, development, *

    • weight { Number = 0 }

    • active { Boolean = true } Enable or disable entirely.

Examples

const { env } = require('decorators')      

class EnvVars {

  @env({name: 'myEnv__foo',  environment: 'development' })
  static devFoo = 'dev bar'

  @env({name: 'myEnv__foo',  environment: 'production' })
  static prodFoo = 'prod bar'

  @env
  static myobj = {
    foo: 'bar',
    arr: [1, 2, 3]
  }

}

// --------------

return script.env

// {  
//   "myEnv__foo": "dev bar",
//   "myobj": {
//     "arr": [
//       1,
//       2,
//       3
//     ],
//     "foo": "bar"
//   },
//   "name": "development",
//   // ...
// }

Last updated