Syntax

Ternary Conditions

Use ternary expressions to add conditional logic in your `.envx` files.

Ternary Expressions

Ternary expressions enable you to include simple conditional logic directly inside your .envx configuration. This lets you define environment variables that change their value based on other variables or flags, making your configuration more dynamic and flexible.

NODE_ENV = "production"
API_URL = ${NODE_ENV} == "production" ? "https://api.prod.com" : "http://localhost:3000"

In this example, API_URL will be set to the production API URL only if NODE_ENV equals "production". Otherwise, it falls back to the local development URL.


Supported Syntax

  • Equality checks: ==, !=
  • Boolean values (true, false)
  • String literals in conditions and results

Practical Example

DEV_MODE = true
NODE_ENV = "development"
PROD_DEBUG_ENDPOINT = "http://api.example.com/debug"
DEBUG_ENDPOINT = ${DEV_MODE} ? "http://localhost:1234/debug" : "${PROD_DEBUG_ENDPOINT}"
LOG_LEVEL = ${NODE_ENV} == "development" ? "debug" : "info"

Here:

  • DEBUG_ENDPOINT is set only if DEV_MODE is true.
  • LOG_LEVEL switches between "debug" and "info" based on NODE_ENV.

Notes

  • Conditions are simple and meant for straightforward toggles.
  • Complex logic should be handled outside .envx (e.g., in your application code).
  • Make sure variables used in conditions are declared beforehand for clarity and correctness.

Ternary expressions make .envx files powerful yet readable, enabling environment-specific values without duplicating entire configs.