@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 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 name
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 name', _dotenvExpand.dotenvExpand, env).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 (default command)').configureHelp({
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
- isDefault: true
125
- }).hook('preSubcommand', async thisCommand => {
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 name', dotenvExpand, env)
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 (default command)')
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,
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "bin": {
4
4
  "getdotenv": "bin/getdotenv/index.js"
5
5
  },
6
- "version": "3.0.1",
6
+ "version": "3.0.3",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },