add dotenv plugin (#4373)
parent
3b13dc07d8
commit
8d35fa0e2f
2 changed files with 44 additions and 0 deletions
@ -0,0 +1,34 @@ |
|||||||
|
# dotenv |
||||||
|
|
||||||
|
Automatically load your project ENV variables from `.env` file when you `cd` into project root directory. |
||||||
|
|
||||||
|
Storing configuration in the environment is one of the tenets of a [twelve-factor app](http://www.12factor.net). Anything that is likely to change between deployment environments–such as resource handles for databases or credentials for external services–should be extracted from the code into environment variables. |
||||||
|
|
||||||
|
## Installation |
||||||
|
|
||||||
|
Just add the plugin to your `.zshrc`: |
||||||
|
|
||||||
|
```sh |
||||||
|
plugins=(git man dotenv) |
||||||
|
``` |
||||||
|
|
||||||
|
## Usage |
||||||
|
|
||||||
|
Create `.env` file inside your project directory and put your local ENV variables there. |
||||||
|
|
||||||
|
For example: |
||||||
|
```sh |
||||||
|
export AWS_S3_TOKEN=d84a83539134f28f412c652b09f9f98eff96c9a |
||||||
|
export SECRET_KEY=7c6c72d959416d5aa368a409362ec6e2ac90d7f |
||||||
|
export MONGO_URI=mongodb://127.0.0.1:27017 |
||||||
|
export PORT=3001 |
||||||
|
``` |
||||||
|
`export` is optional. This format works as well: |
||||||
|
```sh |
||||||
|
AWS_S3_TOKEN=d84a83539134f28f412c652b09f9f98eff96c9a |
||||||
|
SECRET_KEY=7c6c72d959416d5aa368a409362ec6e2ac90d7f |
||||||
|
MONGO_URI=mongodb://127.0.0.1:27017 |
||||||
|
PORT=3001 |
||||||
|
``` |
||||||
|
|
||||||
|
**It's strongly recommended to add `.env` file to `.gitignore`**, because usually it contains sensitive information such as your credentials, secret keys, passwords etc. You don't want to commit this file, it supposed to be local only. |
||||||
@ -0,0 +1,10 @@ |
|||||||
|
#!/bin/zsh |
||||||
|
|
||||||
|
source_env() { |
||||||
|
if [[ -f .env ]]; then |
||||||
|
source .env |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
autoload -U add-zsh-hook |
||||||
|
add-zsh-hook chpwd source_env |
||||||
Loading…
Reference in new issue