From dacd4501580e3830ee6298cc6556a33ba88a94d4 Mon Sep 17 00:00:00 2001 From: Scott Motte Date: Fri, 16 Jun 2023 10:08:26 -0700 Subject: [PATCH] Add DOTENV_KEY to cli config and environment config options --- CHANGELOG.md | 8 +++++++- lib/cli-options.js | 2 +- lib/env-options.js | 4 ++++ tests/test-env-options.js | 6 ++++++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bfd140c6..8ca9a0d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. -## [Unreleased](https://github.com/motdotla/dotenv/compare/v16.2.0...master) +## [Unreleased](https://github.com/motdotla/dotenv/compare/v16.3.0...master) + +## [16.3.0](https://github.com/motdotla/dotenv/compare/v16.2.0...v16.3.0) (2023-06-16) + +### Added + +- Optionally pass `DOTENV_KEY` to options rather than relying on `process.env.DOTENV_KEY`. Defaults to `process.env.DOTENV_KEY` [#754](https://github.com/motdotla/dotenv/pull/754) ## [16.2.0](https://github.com/motdotla/dotenv/compare/v16.1.4...v16.2.0) (2023-06-15) diff --git a/lib/cli-options.js b/lib/cli-options.js index b5012a89..09aca5bb 100644 --- a/lib/cli-options.js +++ b/lib/cli-options.js @@ -1,4 +1,4 @@ -const re = /^dotenv_config_(encoding|path|debug|override)=(.+)$/ +const re = /^dotenv_config_(encoding|path|debug|override|DOTENV_KEY)=(.+)$/ module.exports = function optionMatcher (args) { return args.reduce(function (acc, cur) { diff --git a/lib/env-options.js b/lib/env-options.js index 64e2db7b..7ebae3d7 100644 --- a/lib/env-options.js +++ b/lib/env-options.js @@ -17,4 +17,8 @@ if (process.env.DOTENV_CONFIG_OVERRIDE != null) { options.override = process.env.DOTENV_CONFIG_OVERRIDE } +if (process.env.DOTENV_CONFIG_DOTENV_KEY != null) { + options.DOTENV_KEY = process.env.DOTENV_CONFIG_DOTENV_KEY +} + module.exports = options diff --git a/tests/test-env-options.js b/tests/test-env-options.js index cb6cacf5..7bfad616 100644 --- a/tests/test-env-options.js +++ b/tests/test-env-options.js @@ -9,6 +9,7 @@ const e = process.env.DOTENV_CONFIG_ENCODING const p = process.env.DOTENV_CONFIG_PATH const d = process.env.DOTENV_CONFIG_DEBUG const o = process.env.DOTENV_CONFIG_OVERRIDE +const dk = process.env.DOTENV_CONFIG_DOTENV_KEY // get fresh object for each test function options () { @@ -30,6 +31,7 @@ delete process.env.DOTENV_CONFIG_ENCODING delete process.env.DOTENV_CONFIG_PATH delete process.env.DOTENV_CONFIG_DEBUG delete process.env.DOTENV_CONFIG_OVERRIDE +delete process.env.DOTENV_CONFIG_DOTENV_KEY t.same(options(), {}) @@ -45,8 +47,12 @@ testOption('DOTENV_CONFIG_DEBUG', 'true', { debug: 'true' }) // sets override option testOption('DOTENV_CONFIG_OVERRIDE', 'true', { override: 'true' }) +// sets DOTENV_KEY option +testOption('DOTENV_CONFIG_DOTENV_KEY', 'dotenv://:key_ddcaa26504cd70a@dotenv.org/vault/.env.vault?environment=development', { DOTENV_KEY: 'dotenv://:key_ddcaa26504cd70a@dotenv.org/vault/.env.vault?environment=development' }) + // restore existing env process.env.DOTENV_CONFIG_ENCODING = e process.env.DOTENV_CONFIG_PATH = p process.env.DOTENV_CONFIG_DEBUG = d process.env.DOTENV_CONFIG_OVERRIDE = o +process.env.DOTENV_CONFIG_DOTENV_KEY = dk