@karmaniverous/get-dotenv 3.0.1 → 3.0.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.
- package/README.md +3 -1
- package/dist/default/lib/getCli.js +11 -4
- package/lib/getCli.js +16 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -79,7 +79,8 @@ Usage: getdotenv [options] [command]
|
|
|
79
79
|
Base CLI. All options except delimiters follow dotenv-expand rules.
|
|
80
80
|
|
|
81
81
|
Options:
|
|
82
|
-
-e, --env <string> environment
|
|
82
|
+
-e, --env <string> target environment
|
|
83
|
+
--default-env <string> default target environment (default: "dev")
|
|
83
84
|
-p, --paths <string> delimited list of paths to dotenv directory (default: "./")
|
|
84
85
|
--paths-delimiter <string> regex paths delimiter (default: "\\s+")
|
|
85
86
|
-v, --vars <string> delimited list KEY=VALUE pairs
|
|
@@ -193,6 +194,7 @@ GetDotenv CLI Options type
|
|
|
193
194
|
| Name | Type | Description |
|
|
194
195
|
| --- | --- | --- |
|
|
195
196
|
| [cliInvocation] | <code>string</code> | cli invocation string (used for cli help) |
|
|
197
|
+
| [defaultEnv] | <code>string</code> | default target environment |
|
|
196
198
|
| [dotenvToken] | <code>string</code> | token indicating a dotenv file |
|
|
197
199
|
| [dynamicPath] | <code>string</code> | path to file exporting an object keyed to dynamic variable functions |
|
|
198
200
|
| [env] | <code>string</code> | target environment |
|
|
@@ -24,6 +24,7 @@ const booleanExpand = value => (0, _boolean.boolean)((0, _dotenvExpand.dotenvExp
|
|
|
24
24
|
*
|
|
25
25
|
* @typedef {Object} GetDotenvCliOptions
|
|
26
26
|
* @property {string} [cliInvocation] - cli invocation string (used for cli help)
|
|
27
|
+
* @property {string} [defaultEnv] - default target environment
|
|
27
28
|
* @property {string} [dotenvToken] - token indicating a dotenv file
|
|
28
29
|
* @property {string} [dynamicPath] - path to file exporting an object keyed to dynamic variable functions
|
|
29
30
|
* @property {string} [env] - target environment
|
|
@@ -84,6 +85,7 @@ const getCli = function () {
|
|
|
84
85
|
let {
|
|
85
86
|
cliInvocation = 'getdotenv',
|
|
86
87
|
command,
|
|
88
|
+
defaultEnv = 'dev',
|
|
87
89
|
dotenvToken,
|
|
88
90
|
dynamicPath,
|
|
89
91
|
env,
|
|
@@ -109,7 +111,9 @@ const getCli = function () {
|
|
|
109
111
|
if (Array.isArray(paths)) paths = paths.join(' ');
|
|
110
112
|
return new _commander.Command().name(cliInvocation)
|
|
111
113
|
// .usage('[options] [command] [command options] [commad args]')
|
|
112
|
-
.description('Base CLI. All options except delimiters follow dotenv-expand rules.').enablePositionalOptions().passThroughOptions().option('-e, --env <string>', 'environment
|
|
114
|
+
.description('Base CLI. All options except delimiters follow dotenv-expand rules.').enablePositionalOptions().passThroughOptions().option('-e, --env <string>', 'target environment', _dotenvExpand.dotenvExpand, env).option('--default-env <string>', 'default target environment', _dotenvExpand.dotenvExpand, defaultEnv).option('-p, --paths <string>', 'delimited list of paths to dotenv directory', _dotenvExpand.dotenvExpand, paths).option('--paths-delimiter <string>', 'regex paths delimiter', pathsDelimiter).option('-v, --vars <string>', 'delimited list KEY=VALUE pairs', _dotenvExpand.dotenvExpand, vars).option('--vars-delimiter <string>', 'regex vars delimiter', varsDelimiter).option('--vars-assignor <string>', 'regex vars assignment operator', varsAssignor).option('-y, --dynamic-path <string>', 'dynamic variables path', _dotenvExpand.dotenvExpand, dynamicPath).option('-o, --output-path <string>', 'consolidated output file, follows dotenv-expand rules using loaded env vars', _dotenvExpand.dotenvExpand, outputPath).option('-n, --exclude-env [bool]', 'exclude environment-specific variables', booleanExpand, excludeEnv ?? false).option('-g, --exclude-global [bool]', 'exclude global & dynamic variables', booleanExpand, excludeGlobal ?? false).option('-r, --exclude-private [bool]', 'exclude private variables', booleanExpand, excludePrivate ?? false).option('-u, --exclude-public [bool]', 'exclude public variables', booleanExpand, excludePublic ?? false).option('-z, --exclude-dynamic [bool]', 'exclude dynamic variables', booleanExpand, excludeDynamic ?? false).option('-l, --log [bool]', 'console log extracted variables', booleanExpand, log ?? false).option('-x, --suppress-dotenv', 'suppress dotenv loading', booleanExpand, suppressDotenv ?? false).option('-c, --command <string>', 'shell command string', _dotenvExpand.dotenvExpand, command).option('-s, --shell <string>', 'execa shell option', _dotenvExpand.dotenvExpand, shell).option('--dotenv-token <string>', 'token indicating a dotenv file', _dotenvExpand.dotenvExpand, dotenvToken).option('--private-token <string>', 'token indicating private variables', _dotenvExpand.dotenvExpand, privateToken).addCommand(new _commander.Command().name('cmd').description('execute shell command string')
|
|
115
|
+
// .description('execute shell command string (default command)')
|
|
116
|
+
.configureHelp({
|
|
113
117
|
showGlobalOptions: true
|
|
114
118
|
}).enablePositionalOptions().passThroughOptions().action(async (options, _ref) => {
|
|
115
119
|
let {
|
|
@@ -120,9 +124,9 @@ const getCli = function () {
|
|
|
120
124
|
stdio: 'inherit',
|
|
121
125
|
shell: parent.opts().shell
|
|
122
126
|
});
|
|
123
|
-
})
|
|
124
|
-
|
|
125
|
-
|
|
127
|
+
})
|
|
128
|
+
// { isDefault: true }
|
|
129
|
+
).hook('preSubcommand', async thisCommand => {
|
|
126
130
|
var _paths;
|
|
127
131
|
// Inherit options from parent command.
|
|
128
132
|
let options = {
|
|
@@ -136,6 +140,8 @@ const getCli = function () {
|
|
|
136
140
|
// Get options.
|
|
137
141
|
let {
|
|
138
142
|
command,
|
|
143
|
+
defaultEnv,
|
|
144
|
+
env,
|
|
139
145
|
paths,
|
|
140
146
|
pathsDelimiter,
|
|
141
147
|
suppressDotenv,
|
|
@@ -154,6 +160,7 @@ const getCli = function () {
|
|
|
154
160
|
if ((0, _lodash2.default)(paths)) paths = (_paths2 = paths) === null || _paths2 === void 0 ? void 0 : _paths2.split(new RegExp(pathsDelimiter));
|
|
155
161
|
var dotenv = await (0, _getDotenv.getDotenv)({
|
|
156
162
|
...rest,
|
|
163
|
+
env: env ?? defaultEnv,
|
|
157
164
|
loadProcess: true,
|
|
158
165
|
paths,
|
|
159
166
|
vars
|
package/lib/getCli.js
CHANGED
|
@@ -17,6 +17,7 @@ const booleanExpand = (value) => boolean(dotenvExpand(value));
|
|
|
17
17
|
*
|
|
18
18
|
* @typedef {Object} GetDotenvCliOptions
|
|
19
19
|
* @property {string} [cliInvocation] - cli invocation string (used for cli help)
|
|
20
|
+
* @property {string} [defaultEnv] - default target environment
|
|
20
21
|
* @property {string} [dotenvToken] - token indicating a dotenv file
|
|
21
22
|
* @property {string} [dynamicPath] - path to file exporting an object keyed to dynamic variable functions
|
|
22
23
|
* @property {string} [env] - target environment
|
|
@@ -72,6 +73,7 @@ export const getCli = ({ defaultOptions = {}, preHook, postHook } = {}) => {
|
|
|
72
73
|
let {
|
|
73
74
|
cliInvocation = 'getdotenv',
|
|
74
75
|
command,
|
|
76
|
+
defaultEnv = 'dev',
|
|
75
77
|
dotenvToken,
|
|
76
78
|
dynamicPath,
|
|
77
79
|
env,
|
|
@@ -106,7 +108,13 @@ export const getCli = ({ defaultOptions = {}, preHook, postHook } = {}) => {
|
|
|
106
108
|
)
|
|
107
109
|
.enablePositionalOptions()
|
|
108
110
|
.passThroughOptions()
|
|
109
|
-
.option('-e, --env <string>', 'environment
|
|
111
|
+
.option('-e, --env <string>', 'target environment', dotenvExpand, env)
|
|
112
|
+
.option(
|
|
113
|
+
'--default-env <string>',
|
|
114
|
+
'default target environment',
|
|
115
|
+
dotenvExpand,
|
|
116
|
+
defaultEnv
|
|
117
|
+
)
|
|
110
118
|
.option(
|
|
111
119
|
'-p, --paths <string>',
|
|
112
120
|
'delimited list of paths to dotenv directory',
|
|
@@ -210,7 +218,8 @@ export const getCli = ({ defaultOptions = {}, preHook, postHook } = {}) => {
|
|
|
210
218
|
.addCommand(
|
|
211
219
|
new Command()
|
|
212
220
|
.name('cmd')
|
|
213
|
-
.description('execute shell command string
|
|
221
|
+
.description('execute shell command string')
|
|
222
|
+
// .description('execute shell command string (default command)')
|
|
214
223
|
.configureHelp({ showGlobalOptions: true })
|
|
215
224
|
.enablePositionalOptions()
|
|
216
225
|
.passThroughOptions()
|
|
@@ -220,8 +229,8 @@ export const getCli = ({ defaultOptions = {}, preHook, postHook } = {}) => {
|
|
|
220
229
|
stdio: 'inherit',
|
|
221
230
|
shell: parent.opts().shell,
|
|
222
231
|
});
|
|
223
|
-
})
|
|
224
|
-
{ isDefault: true }
|
|
232
|
+
})
|
|
233
|
+
// { isDefault: true }
|
|
225
234
|
)
|
|
226
235
|
.hook('preSubcommand', async (thisCommand) => {
|
|
227
236
|
// Inherit options from parent command.
|
|
@@ -238,6 +247,8 @@ export const getCli = ({ defaultOptions = {}, preHook, postHook } = {}) => {
|
|
|
238
247
|
// Get options.
|
|
239
248
|
let {
|
|
240
249
|
command,
|
|
250
|
+
defaultEnv,
|
|
251
|
+
env,
|
|
241
252
|
paths,
|
|
242
253
|
pathsDelimiter,
|
|
243
254
|
suppressDotenv,
|
|
@@ -262,6 +273,7 @@ export const getCli = ({ defaultOptions = {}, preHook, postHook } = {}) => {
|
|
|
262
273
|
|
|
263
274
|
var dotenv = await getDotenv({
|
|
264
275
|
...rest,
|
|
276
|
+
env: env ?? defaultEnv,
|
|
265
277
|
loadProcess: true,
|
|
266
278
|
paths,
|
|
267
279
|
vars,
|