@dotenvx/dotenvx 0.43.1 → 0.44.0
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.
- package/README.md +2 -2
- package/package.json +1 -1
- package/src/cli/actions/convert.js +1 -1
- package/src/cli/actions/genexample.js +1 -1
- package/src/cli/actions/get.js +1 -1
- package/src/cli/actions/gitignore.js +1 -1
- package/src/cli/actions/hub/login.js +1 -1
- package/src/cli/actions/hub/logout.js +1 -1
- package/src/cli/actions/hub/open.js +1 -1
- package/src/cli/actions/hub/pull.js +1 -1
- package/src/cli/actions/hub/push.js +1 -1
- package/src/cli/actions/hub/status.js +1 -1
- package/src/cli/actions/hub/token.js +1 -1
- package/src/cli/actions/ls.js +1 -1
- package/src/cli/actions/prebuild.js +1 -1
- package/src/cli/actions/precommit.js +1 -1
- package/src/cli/actions/run.js +1 -1
- package/src/cli/actions/scan.js +1 -1
- package/src/cli/actions/set.js +1 -1
- package/src/cli/actions/settings.js +1 -1
- package/src/cli/actions/vault/convert.js +1 -1
- package/src/cli/actions/vault/decrypt.js +1 -1
- package/src/cli/actions/vault/encrypt.js +1 -1
- package/src/cli/actions/vault/status.js +1 -1
- package/src/cli/commands/hub.js +1 -1
- package/src/cli/dotenvx.js +2 -20
- package/src/lib/helpers/replace.js +13 -11
- package/src/lib/main.js +3 -6
- package/src/shared/logger.js +21 -1
package/README.md
CHANGED
|
@@ -45,10 +45,10 @@ $ echo "HELLO=World" > .env
|
|
|
45
45
|
$ echo "console.log('Hello ' + process.env.HELLO)" > index.js
|
|
46
46
|
|
|
47
47
|
$ node index.js
|
|
48
|
-
Hello undefined
|
|
48
|
+
Hello undefined # without dotenvx
|
|
49
49
|
|
|
50
50
|
$ dotenvx run -- node index.js
|
|
51
|
-
Hello World
|
|
51
|
+
Hello World # with dotenvx
|
|
52
52
|
> :-D
|
|
53
53
|
```
|
|
54
54
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const fs = require('fs')
|
|
2
2
|
const main = require('./../../lib/main')
|
|
3
|
-
const logger = require('./../../shared/logger')
|
|
3
|
+
const { logger } = require('./../../shared/logger')
|
|
4
4
|
const createSpinner = require('./../../shared/createSpinner')
|
|
5
5
|
|
|
6
6
|
const sleep = require('./../../lib/helpers/sleep')
|
package/src/cli/actions/get.js
CHANGED
|
@@ -5,7 +5,7 @@ const confirm = require('@inquirer/confirm').default
|
|
|
5
5
|
|
|
6
6
|
const createSpinner = require('./../../../shared/createSpinner')
|
|
7
7
|
const store = require('./../../../shared/store')
|
|
8
|
-
const logger = require('./../../../shared/logger')
|
|
8
|
+
const { logger } = require('./../../../shared/logger')
|
|
9
9
|
|
|
10
10
|
const OAUTH_CLIENT_ID = 'oac_dotenvxcli'
|
|
11
11
|
|
|
@@ -3,7 +3,7 @@ const confirm = require('@inquirer/confirm').default
|
|
|
3
3
|
|
|
4
4
|
const createSpinner = require('./../../../shared/createSpinner')
|
|
5
5
|
const store = require('./../../../shared/store')
|
|
6
|
-
const logger = require('./../../../shared/logger')
|
|
6
|
+
const { logger } = require('./../../../shared/logger')
|
|
7
7
|
const sleep = require('./../../../lib/helpers/sleep')
|
|
8
8
|
|
|
9
9
|
const username = store.getUsername()
|
|
@@ -2,7 +2,7 @@ const openBrowser = require('open')
|
|
|
2
2
|
const confirm = require('@inquirer/confirm').default
|
|
3
3
|
|
|
4
4
|
const createSpinner = require('./../../../shared/createSpinner')
|
|
5
|
-
const logger = require('./../../../shared/logger')
|
|
5
|
+
const { logger } = require('./../../../shared/logger')
|
|
6
6
|
|
|
7
7
|
const isGitRepo = require('./../../../lib/helpers/isGitRepo')
|
|
8
8
|
const isGithub = require('./../../../lib/helpers/isGithub')
|
|
@@ -3,7 +3,7 @@ const path = require('path')
|
|
|
3
3
|
const { request } = require('undici')
|
|
4
4
|
|
|
5
5
|
const store = require('./../../../shared/store')
|
|
6
|
-
const logger = require('./../../../shared/logger')
|
|
6
|
+
const { logger } = require('./../../../shared/logger')
|
|
7
7
|
const createSpinner = require('./../../../shared/createSpinner')
|
|
8
8
|
|
|
9
9
|
const isGitRepo = require('./../../../lib/helpers/isGitRepo')
|
|
@@ -3,7 +3,7 @@ const path = require('path')
|
|
|
3
3
|
const { request } = require('undici')
|
|
4
4
|
|
|
5
5
|
const store = require('./../../../shared/store')
|
|
6
|
-
const logger = require('./../../../shared/logger')
|
|
6
|
+
const { logger } = require('./../../../shared/logger')
|
|
7
7
|
const createSpinner = require('./../../../shared/createSpinner')
|
|
8
8
|
|
|
9
9
|
const isGitRepo = require('./../../../lib/helpers/isGitRepo')
|
package/src/cli/actions/ls.js
CHANGED
package/src/cli/actions/run.js
CHANGED
package/src/cli/actions/scan.js
CHANGED
package/src/cli/actions/set.js
CHANGED
|
@@ -2,7 +2,7 @@ const fs = require('fs')
|
|
|
2
2
|
const path = require('path')
|
|
3
3
|
|
|
4
4
|
const main = require('./../../../lib/main')
|
|
5
|
-
const logger = require('./../../../shared/logger')
|
|
5
|
+
const { logger } = require('./../../../shared/logger')
|
|
6
6
|
const createSpinner = require('./../../../shared/createSpinner')
|
|
7
7
|
const sleep = require('./../../../lib/helpers/sleep')
|
|
8
8
|
const pluralize = require('./../../../lib/helpers/pluralize')
|
package/src/cli/commands/hub.js
CHANGED
package/src/cli/dotenvx.js
CHANGED
|
@@ -4,7 +4,7 @@ const UpdateNotice = require('./../lib/helpers/updateNotice')
|
|
|
4
4
|
const { Command } = require('commander')
|
|
5
5
|
const program = new Command()
|
|
6
6
|
|
|
7
|
-
const logger = require('
|
|
7
|
+
const { setLogLevel, logger } = require('../shared/logger')
|
|
8
8
|
const examples = require('./examples')
|
|
9
9
|
const packageJson = require('./../lib/helpers/packageJson')
|
|
10
10
|
|
|
@@ -33,25 +33,7 @@ program
|
|
|
33
33
|
.hook('preAction', (thisCommand, actionCommand) => {
|
|
34
34
|
const options = thisCommand.opts()
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
logger.level = options.logLevel
|
|
38
|
-
logger.debug(`setting log level to ${options.logLevel}`)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// --quiet overides --log-level. only errors will be shown
|
|
42
|
-
if (options.quiet) {
|
|
43
|
-
logger.level = 'error'
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// --verbose overrides --quiet
|
|
47
|
-
if (options.verbose) {
|
|
48
|
-
logger.level = 'verbose'
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// --debug overrides --verbose
|
|
52
|
-
if (options.debug) {
|
|
53
|
-
logger.level = 'debug'
|
|
54
|
-
}
|
|
36
|
+
setLogLevel(options)
|
|
55
37
|
})
|
|
56
38
|
|
|
57
39
|
// cli
|
|
@@ -7,19 +7,21 @@ function replace (src, key, value) {
|
|
|
7
7
|
const parsed = dotenv.parse(src)
|
|
8
8
|
if (Object.prototype.hasOwnProperty.call(parsed, key)) {
|
|
9
9
|
const regex = new RegExp(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
'
|
|
15
|
-
|
|
16
|
-
'
|
|
17
|
-
'
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
// Match the key at the start of a line or following a newline
|
|
11
|
+
`(^|\\n)${key}\\s*=\\s*` +
|
|
12
|
+
// Non-capturing group to handle different types of quotations and unquoted values
|
|
13
|
+
'(?:' +
|
|
14
|
+
'(["\'`])' + // Match an opening quote
|
|
15
|
+
'.*?' + // Non-greedy match for any characters within quotes
|
|
16
|
+
'\\2' + // Match the corresponding closing quote
|
|
17
|
+
'|' +
|
|
18
|
+
// Match unquoted values; account for escaped newlines
|
|
19
|
+
'(?:[^#\\n\\\\]|\\\\.)*' + // Use non-capturing group for any character except #, newline, or backslash, or any escaped character
|
|
20
|
+
')',
|
|
21
|
+
'gs' // Global and dotAll mode to treat string as single line
|
|
20
22
|
)
|
|
21
23
|
|
|
22
|
-
output = src.replace(regex, formatted)
|
|
24
|
+
output = src.replace(regex, `$1${formatted}`)
|
|
23
25
|
} else {
|
|
24
26
|
// append
|
|
25
27
|
if (src.endsWith('\n')) {
|
package/src/lib/main.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const path = require('path')
|
|
2
|
-
const logger = require('./../shared/logger')
|
|
2
|
+
const { logger } = require('./../shared/logger')
|
|
3
3
|
const dotenv = require('dotenv')
|
|
4
4
|
|
|
5
5
|
// services
|
|
@@ -15,6 +15,7 @@ const VaultEncrypt = require('./services/vaultEncrypt')
|
|
|
15
15
|
|
|
16
16
|
// helpers
|
|
17
17
|
const dotenvOptionPaths = require('./helpers/dotenvOptionPaths')
|
|
18
|
+
const { setLogLevel } = require('../shared/logger')
|
|
18
19
|
|
|
19
20
|
// proxies to dotenv
|
|
20
21
|
const config = function (options = {}) {
|
|
@@ -33,11 +34,7 @@ const config = function (options = {}) {
|
|
|
33
34
|
DOTENV_KEY = options.DOTENV_KEY
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
if (options && options.debug) {
|
|
38
|
-
logger.level = 'debug'
|
|
39
|
-
logger.debug('setting log level to debug')
|
|
40
|
-
}
|
|
37
|
+
if (options) setLogLevel(options)
|
|
41
38
|
|
|
42
39
|
// build envs using user set option.path
|
|
43
40
|
const optionPaths = dotenvOptionPaths(options) // [ '.env' ]
|
package/src/shared/logger.js
CHANGED
|
@@ -103,4 +103,24 @@ const logger = createLogger({
|
|
|
103
103
|
]
|
|
104
104
|
})
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
const setLogLevel = options => {
|
|
107
|
+
const logLevel = options.debug
|
|
108
|
+
? 'debug'
|
|
109
|
+
: options.verbose
|
|
110
|
+
? 'verbose'
|
|
111
|
+
: options.quiet
|
|
112
|
+
? 'error'
|
|
113
|
+
: options.logLevel
|
|
114
|
+
|
|
115
|
+
if (!logLevel) return
|
|
116
|
+
logger.level = logLevel
|
|
117
|
+
// Only log which level it's setting if it's not set to quiet mode
|
|
118
|
+
if (!options.quiet || (options.quiet && logLevel !== 'error')) {
|
|
119
|
+
logger.debug(`Setting log level to ${logLevel}`)
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
module.exports = {
|
|
124
|
+
logger,
|
|
125
|
+
setLogLevel
|
|
126
|
+
}
|