Completely updated React, fixed #11, (hopefully)
This commit is contained in:
41
goTorrentWebUI/node_modules/dotenv-expand/lib/main.js
generated
vendored
Normal file
41
goTorrentWebUI/node_modules/dotenv-expand/lib/main.js
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
'use strict'
|
||||
|
||||
var dotenvExpand = function (config) {
|
||||
var interpolate = function (env) {
|
||||
var matches = env.match(/\$([a-zA-Z0-9_]+)|\${([a-zA-Z0-9_]+)}/g) || []
|
||||
|
||||
matches.forEach(function (match) {
|
||||
var key = match.replace(/\$|{|}/g, '')
|
||||
|
||||
// process.env value 'wins' over .env file's value
|
||||
var variable = process.env[key] || config.parsed[key] || ''
|
||||
|
||||
// Resolve recursive interpolations
|
||||
variable = interpolate(variable)
|
||||
|
||||
env = env.replace(match, variable)
|
||||
})
|
||||
|
||||
return env
|
||||
}
|
||||
|
||||
for (var configKey in config.parsed) {
|
||||
var value = process.env[configKey] || config.parsed[configKey]
|
||||
|
||||
if (config.parsed[configKey].substring(0, 2) === '\\$') {
|
||||
config.parsed[configKey] = value.substring(1)
|
||||
} else if (config.parsed[configKey].indexOf('\\$') > 0) {
|
||||
config.parsed[configKey] = value.replace(/\\\$/g, '$')
|
||||
} else {
|
||||
config.parsed[configKey] = interpolate(value)
|
||||
}
|
||||
}
|
||||
|
||||
for (var processKey in config.parsed) {
|
||||
process.env[processKey] = config.parsed[processKey]
|
||||
}
|
||||
|
||||
return config
|
||||
}
|
||||
|
||||
module.exports = dotenvExpand
|
Reference in New Issue
Block a user