@stellar-apps/serverless-dotenv
A Serverless plugin that injects .env files into your serverless.yml based upon the
provider.stage
.
By default, this plugin will assign all of the environment variables to each function
in your config. You can override this behavior with the exclude
and include
options
below.
Installation
yarn add --dev @stellar-apps/serverless-dotenv
Usage
# serverless.yml
plugins:
- @stellar-apps/serverless-dotenv
custom:
dotenv:
exclude:
- 'SERVERLESS*'
Options
NOTE: When both include
and exclude
options are defined exclude
will take precedence over include
.
That is, you cannot define both at the same time.
-
path {string}
-
default
.env.[--stage] || .env
- The path to your
.env
file relative to yourserverless.yml
file
-
default
-
exclude {array|object}
- An array of glob patterns which only exclude environment variables whose name match the glob
-
include {array|object}
- An array of glob patterns which only include environment variables whose name match the glob
exclude
Examples using Excludes all environment variables that start with SERVERLESS
from all functions
# serverless.yml
plugins:
- @stellar-apps/serverless-dotenv
custom:
dotenv:
exclude:
- 'SERVERLESS*'
Excludes all environment variables that start with SERVERLESS
from the main
function
# serverless.yml
plugins:
- @stellar-apps/serverless-dotenv
custom:
dotenv:
exclude:
main:
- 'SERVERLESS*'
include
Examples using Includes all environment variables that start with APP
in all functions
# serverless.yml
plugins:
- @stellar-apps/serverless-dotenv
custom:
dotenv:
include:
- 'APP*'
Includes all environment variables that start with APP
in the main
function
# serverless.yml
plugins:
- @stellar-apps/serverless-dotenv
custom:
dotenv:
include:
main:
- 'APP*'
include
or exclude
Example without # serverless.yml
plugins:
- @stellar-apps/serverless-dotenv
functions:
main:
environment:
FOO: ${env:FOO}
custom:
dotenv:
path: '.env' # NOTE: you don't actually have to define this as this is the default
Credits
Inspiration and some code was derived from serverless-dotenv-plugin