@@ -1771,7 +1771,7 @@ exports.checkBypass = checkBypass;
17711771/***/ 5478 :
17721772/***/ ( ( module ) => {
17731773
1774- const re = / ^ d o t e n v _ c o n f i g _ ( e n c o d i n g | p a t h | d e b u g | o v e r r i d e ) = ( .+ ) $ /
1774+ const re = / ^ d o t e n v _ c o n f i g _ ( e n c o d i n g | p a t h | d e b u g | o v e r r i d e | D O T E N V _ K E Y ) = ( .+ ) $ /
17751775
17761776module . exports = function optionMatcher ( args ) {
17771777 return args . reduce ( function ( acc , cur ) {
@@ -1808,6 +1808,10 @@ if (process.env.DOTENV_CONFIG_OVERRIDE != null) {
18081808 options . override = process . env . DOTENV_CONFIG_OVERRIDE
18091809}
18101810
1811+ if ( process . env . DOTENV_CONFIG_DOTENV_KEY != null ) {
1812+ options . DOTENV_KEY = process . env . DOTENV_CONFIG_DOTENV_KEY
1813+ }
1814+
18111815module . exports = options
18121816
18131817
@@ -1876,7 +1880,7 @@ function _parseVault (options) {
18761880
18771881 // handle scenario for comma separated keys - for use with key rotation
18781882 // example: DOTENV_KEY="dotenv://:[email protected] /vault/.env.vault?environment=prod,dotenv://:[email protected] /vault/.env.vault?environment=prod" 1879- const keys = _dotenvKey ( ) . split ( ',' )
1883+ const keys = _dotenvKey ( options ) . split ( ',' )
18801884 const length = keys . length
18811885
18821886 let decrypted
@@ -1917,11 +1921,18 @@ function _debug (message) {
19171921 console . log ( `[dotenv@${ version } ][DEBUG] ${ message } ` )
19181922}
19191923
1920- function _dotenvKey ( ) {
1924+ function _dotenvKey ( options ) {
1925+ // prioritize developer directly setting options.DOTENV_KEY
1926+ if ( options && options . DOTENV_KEY && options . DOTENV_KEY . length > 0 ) {
1927+ return options . DOTENV_KEY
1928+ }
1929+
1930+ // secondary infra already contains a DOTENV_KEY environment variable
19211931 if ( process . env . DOTENV_KEY && process . env . DOTENV_KEY . length > 0 ) {
19221932 return process . env . DOTENV_KEY
19231933 }
19241934
1935+ // fallback to empty string
19251936 return ''
19261937}
19271938
@@ -1980,7 +1991,12 @@ function _configVault (options) {
19801991
19811992 const parsed = DotenvModule . _parseVault ( options )
19821993
1983- DotenvModule . populate ( process . env , parsed , options )
1994+ let processEnv = process . env
1995+ if ( options && options . processEnv != null ) {
1996+ processEnv = options . processEnv
1997+ }
1998+
1999+ DotenvModule . populate ( processEnv , parsed , options )
19842000
19852001 return { parsed }
19862002}
@@ -2003,7 +2019,12 @@ function configDotenv (options) {
20032019 // Specifying an encoding returns a string instead of a buffer
20042020 const parsed = DotenvModule . parse ( fs . readFileSync ( dotenvPath , { encoding } ) )
20052021
2006- DotenvModule . populate ( process . env , parsed , options )
2022+ let processEnv = process . env
2023+ if ( options && options . processEnv != null ) {
2024+ processEnv = options . processEnv
2025+ }
2026+
2027+ DotenvModule . populate ( processEnv , parsed , options )
20072028
20082029 return { parsed }
20092030 } catch ( e ) {
@@ -2020,7 +2041,7 @@ function config (options) {
20202041 const vaultPath = _vaultPath ( options )
20212042
20222043 // fallback to original dotenv if DOTENV_KEY is not set
2023- if ( _dotenvKey ( ) . length === 0 ) {
2044+ if ( _dotenvKey ( options ) . length === 0 ) {
20242045 return DotenvModule . configDotenv ( options )
20252046 }
20262047
@@ -7938,7 +7959,7 @@ return new B(c,{type:"multipart/form-data; boundary="+b})}
79387959/***/ 9968 :
79397960/***/ ( ( module ) => {
79407961
7941- module . exports = JSON . parse ( '{"name":"dotenv","version":"16.1.4","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","lint-readme":"standard-markdown","pretest":"npm run lint && npm run dts-check","test":"tap tests/*.js --100 -Rspec","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"funding":"https://github.com/motdotla/dotenv?sponsor=1","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3","decache":"^4.6.1","sinon":"^14.0.1","standard":"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0","tap":"^16.3.0","tar":"^6.1.11","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}' ) ;
7962+ module . exports = JSON . parse ( '{"name":"dotenv","version":"16.3.1","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","lint-readme":"standard-markdown","pretest":"npm run lint && npm run dts-check","test":"tap tests/*.js --100 -Rspec","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"funding":"https://github.com/motdotla/dotenv?sponsor=1","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3","decache":"^4.6.1","sinon":"^14.0.1","standard":"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0","tap":"^16.3.0","tar":"^6.1.11","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}' ) ;
79427963
79437964/***/ } )
79447965
@@ -9793,10 +9814,6 @@ const getNodeRequestOptions = request => {
97939814 agent = agent ( parsedURL ) ;
97949815 }
97959816
9796- if ( ! headers . has ( 'Connection' ) && ! agent ) {
9797- headers . set ( 'Connection' , 'close' ) ;
9798- }
9799-
98009817 // HTTP-network fetch step 4.2
98019818 // chunked encoding is handled by Node.js
98029819
0 commit comments