dotenv: add support for custom env file names (#7861)
This commit is contained in:
parent
5f7666e20b
commit
f960e2be6f
|
@ -32,6 +32,17 @@ PORT=3001
|
||||||
```
|
```
|
||||||
You can even mix both formats, although it's probably a bad idea.
|
You can even mix both formats, although it's probably a bad idea.
|
||||||
|
|
||||||
|
### ZSH_DOTENV_FILE
|
||||||
|
|
||||||
|
You can also modify the name of the file to be loaded with the variable `ZSH_DOTENV_FILE`.
|
||||||
|
If the variable isn't set, the plugin will default to use `.env`.
|
||||||
|
For example, this will make the plugin look for files named `.dotenv` and load them:
|
||||||
|
|
||||||
|
```
|
||||||
|
# in ~/.zshrc, before Oh My Zsh is sourced:
|
||||||
|
ZSH_DOTENV_FILE=.dotenv
|
||||||
|
```
|
||||||
|
|
||||||
## Version Control
|
## Version Control
|
||||||
|
|
||||||
**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's supposed to be local only.
|
**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's supposed to be local only.
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
source_env() {
|
source_env() {
|
||||||
if [[ -f .env ]]; then
|
if [[ -f $ZSH_DOTENV_FILE ]]; then
|
||||||
# test .env syntax
|
# test .env syntax
|
||||||
zsh -fn .env || echo 'dotenv: error when sourcing `.env` file' >&2
|
zsh -fn $ZSH_DOTENV_FILE || echo "dotenv: error when sourcing '$ZSH_DOTENV_FILE' file" >&2
|
||||||
|
|
||||||
if [[ -o a ]]; then
|
if [[ -o a ]]; then
|
||||||
source .env
|
source $ZSH_DOTENV_FILE
|
||||||
else
|
else
|
||||||
set -a
|
set -a
|
||||||
source .env
|
source $ZSH_DOTENV_FILE
|
||||||
set +a
|
set +a
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -16,4 +16,8 @@ source_env() {
|
||||||
autoload -U add-zsh-hook
|
autoload -U add-zsh-hook
|
||||||
add-zsh-hook chpwd source_env
|
add-zsh-hook chpwd source_env
|
||||||
|
|
||||||
|
if [[ -z $ZSH_DOTENV_FILE ]]; then
|
||||||
|
ZSH_DOTENV_FILE=.env
|
||||||
|
fi
|
||||||
|
|
||||||
source_env
|
source_env
|
||||||
|
|
Loading…
Reference in a new issue