template2env
A micro dependency that interpolates environment variables
Description
template2env is a single function that accepts a string (and an optional object of options) as a parameter and returns an interpolated string with varaibles replaced by matching environment variables (located in process.env
).
It will throw if a matching variable is not found in process.env
and will return the string that was passed if nothing was found to interpolate.
Use case
Imagine a projects configuration is stored in JSON or YAML and you want one configuration file for all your environments.
# config.yaml site: my sitehost: ${HOST}port: ${PORT}
If process.env
contains HOST
and PORT
template2env will intrpolate the yaml and return the matching values, so your local development environment could look like
# local dev environment # export HOST="localhost" # export PORT=8888 site: my sitehost: localhostport: 8888
But your production environment could look like
# production environment # export HOST="foo.biz" # export PORT=3001 site: my sitehost: foo.bizport: 3001
How to use
var template2env = fs = ; fs;
Options
template2env accepts an object of options as an optional second paramter
start {string} ('${')
- start token for interpolation
end {string} ('}')
- end token
Example
/* if config.yaml uses `{{VARIABLE}}` for interpolation */ var template2env = fs = ; fs;