Skip to content

Commit

Permalink
feat: expose 'override' option from 'dotenv' (#87)
Browse files Browse the repository at this point in the history
  • Loading branch information
jfairley authored Apr 5, 2023
1 parent 6847e1f commit eb06b71
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,14 @@ Example here with npm scripts in a package.json

You can add the `--debug` flag to output the `.env` files that would be processed and exit.

### Override

Override any environment variables that have already been set on your machine with values from your .env file.

```bash
dotenv -c test -o -- jest
```

## License

[MIT](https://en.wikipedia.org/wiki/MIT_License)
4 changes: 3 additions & 1 deletion cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ function printHelp () {
' -p <variable> print value of <variable> to the console. If you specify this, you do not have to specify a `command`',
' -c [environment] support cascading env variables from `.env`, `.env.<environment>`, `.env.local`, `.env.<environment>.local` files',
' --no-expand skip variable expansion',
' -o, --override override system variables',
' command `command` is the actual command you want to run. Best practice is to precede this command with ` -- `. Everything after `--` is considered to be your command. So any flags will not be parsed by this tool but be passed to your command. If you do not do it, this tool will strip those flags'
].join('\n'))
}
Expand Down Expand Up @@ -72,7 +73,8 @@ if (argv.debug) {
}

paths.forEach(function (env) {
var parsedFile = dotenv.config({ path: path.resolve(env) })
const override = argv.o || argv.override;
var parsedFile = dotenv.config({ path: path.resolve(env), override })
if (argv.expand !== false) {
dotenvExpand(parsedFile)
}
Expand Down

0 comments on commit eb06b71

Please sign in to comment.