configorama 0.6.2 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +2 -1
  2. package/src/main.js +20 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "configorama",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "description": "Variable support for configuration files",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -37,6 +37,7 @@
37
37
  "@davidwells/box-logger": "^1.0.10",
38
38
  "@iarna/toml": "^2.2.5",
39
39
  "dot-prop": "^5.3.0",
40
+ "env-stage-loader": "^1.1.1",
40
41
  "find-up": "^3.0.0",
41
42
  "git-url-parse": "^14.0.0",
42
43
  "js-yaml": "^3.14.1",
package/src/main.js CHANGED
@@ -164,6 +164,26 @@ class Configorama {
164
164
  this.originalString = fileContents
165
165
  // Keep a copy
166
166
  this.originalConfig = cloneDeep(configObject)
167
+
168
+ const useDotEnv = this.originalConfig.useDotenv || this.originalConfig.useDotEnv
169
+ if ((useDotEnv && useDotEnv === true) || this.opts.useDotEnvFiles) {
170
+ const loadStageEnv = require('env-stage-loader')
171
+ let providerStage
172
+ if (this.originalConfig && this.originalConfig.provider && this.originalConfig.provider.stage) {
173
+ providerStage = this.originalConfig.provider.stage
174
+ // @TODO check value to see if variable and needs pre-resolving to resolve stage vars
175
+ }
176
+ const stage = this.opts.stage || providerStage || 'dev'
177
+ /* Load env variables into process.env */
178
+ const values = loadStageEnv({
179
+ // silent: true,
180
+ // debug: true,
181
+ env: stage,
182
+ // defaultEnv: 'prod',
183
+ // ignoreFiles: ['.env']
184
+ })
185
+ }
186
+
167
187
  // Set configPath for file references
168
188
  this.configPath = fileDirectory
169
189
  }