Announcement 📣 From the makers that brought you Dotenv, introducing Dotenv Sync. Sync your .env files between machines, environments, and team members. Join the early access list.💛
# dotenv-expand
Dotenv-expand adds variable expansion on top of
[dotenv](http://github.com/motdotla/dotenv). If you find yourself needing to
expand environment variables already existing on your machine, then
dotenv-expand is your tool.
[](https://travis-ci.org/motdotla/dotenv-expand)
[](https://www.npmjs.com/package/dotenv-expand)
[](https://github.com/feross/standard)
## Install
```bash
# Install locally (recommended)
npm install dotenv-expand --save
```
Or installing with yarn? `yarn add dotenv-expand`
## Usage
Create a `.env` file in the root of your project:
```dosini
PASSWORD="s1mpl3"
DB_PASS=$PASSWORD
```
As early as possible in your application, import and configure dotenv and then expand dotenv:
```javascript
var dotenv = require('dotenv')
var dotenvExpand = require('dotenv-expand')
var myEnv = dotenv.config()
dotenvExpand.expand(myEnv)
console.log(process.env)
```
That's it. `process.env` now has the expanded keys and values you defined in your `.env` file.
### Preload
You can use the `--require` (`-r`) [command line option](https://nodejs.org/api/cli.html#cli_r_require_module) to preload dotenv & dotenv-
. By doing this, you do not need to require and load dotenv or dotenv-expand in your application code. This is the preferred approach when using `import` instead of `require`.
```bash
$ node -r dotenv-expand/config your_script.js
```
The configuration options below are supported as command line arguments in the format `dotenv_config_