@karmaniverous/get-dotenv 3.1.0 → 3.1.2

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.
@@ -19,7 +19,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
19
19
  const pruneVars = (getdotenvDefaultOptions, options) => (0, _lodash.default)({
20
20
  ...(getdotenvDefaultOptions.vars ?? {}),
21
21
  ...(options.vars ?? {})
22
- }, v => v === null || v === void 0 ? void 0 : v.length);
22
+ }, v => v?.length);
23
23
 
24
24
  /**
25
25
  * get-dotenv options type
@@ -69,7 +69,7 @@ const getDotenvCli = function () {
69
69
  logger = console.log,
70
70
  preHook,
71
71
  postHook,
72
- ...cliOptions
72
+ ...cliOptionsCustom
73
73
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
74
74
  let {
75
75
  alias,
@@ -98,8 +98,9 @@ const getDotenvCli = function () {
98
98
  varsDelimiter,
99
99
  varsDelimiterPattern
100
100
  } = {
101
- ..._options.cliDefaultOptions,
102
- ...cliOptions
101
+ ..._options.cliDefaultOptionsGlobal,
102
+ ...cliOptionsCustom,
103
+ ..._options.cliDefaultOptionsLocal
103
104
  };
104
105
  const excludeAll = excludeDynamic && (excludeEnv && excludeGlobal || excludePrivate && excludePublic);
105
106
  return new _commander.Command().name(alias).description(description).enablePositionalOptions().passThroughOptions().option('-e, --env <string>', 'target environment', _dotenvExpand.dotenvExpand, env).option('-v, --vars <string>', `dotenv-expanded delimited key-value pairs: ${[['KEY1', 'VAL1'], ['KEY2', 'VAL2']].map(v => v.join(varsAssignor)).join(varsDelimiter)}`, _dotenvExpand.dotenvExpand, vars).option('-c, --command <string>', 'dotenv-expanded shell command string', _dotenvExpand.dotenvExpand, command).option('-o, --output-path <string>', 'consolidated output file, follows dotenv-expand rules using loaded env vars', _dotenvExpand.dotenvExpand, outputPath).addOption(new _commander.Option('-p, --load-process', `load variables to process.env ON${loadProcess ? ' (default)' : ''}`).conflicts('loadProcessOff')).addOption(new _commander.Option('-P, --load-process-off', `load variables to process.env OFF${!loadProcess ? ' (default)' : ''}`).conflicts('loadProcess')).addOption(new _commander.Option('-a, --exclude-all', `exclude all dotenv variables from loading ON${excludeAll ? ' (default)' : ''}`).conflicts('excludeAllOff')).addOption(new _commander.Option('-A, --exclude-all-off', `exclude all dotenv variables from loading OFF${!excludeAll ? ' (default)' : ''}`).conflicts('excludeAll')).addOption(new _commander.Option('-z, --exclude-dynamic', `exclude dynamic dotenv variables from loading ON${excludeDynamic ? ' (default)' : ''}`).conflicts('excludeDynamicOff')).addOption(new _commander.Option('-Z, --exclude-dynamic-off', `exclude dynamic dotenv variables from loading OFF${!excludeDynamic ? ' (default)' : ''}`).conflicts('excludeDynamic')).addOption(new _commander.Option('-n, --exclude-env', `exclude environment-specific dotenv variables from loading${excludeEnv ? ' (default)' : ''}`).conflicts('excludeEnvOff')).addOption(new _commander.Option('-N, --exclude-env-off', `exclude environment-specific dotenv variables from loading OFF${!excludeEnv ? ' (default)' : ''}`).conflicts('excludeEnv')).addOption(new _commander.Option('-g, --exclude-global', `exclude global dotenv variables from loading ON${excludeGlobal ? ' (default)' : ''}`).conflicts('excludeGlobalOff')).addOption(new _commander.Option('-G, --exclude-global-off', `exclude global dotenv variables from loading OFF${!excludeGlobal ? ' (default)' : ''}`).conflicts('excludeGlobal')).addOption(new _commander.Option('-r, --exclude-private', `exclude private dotenv variables from loading ON${excludePrivate ? ' (default)' : ''}`).conflicts('excludePrivateOff')).addOption(new _commander.Option('-R, --exclude-private-off', `exclude private dotenv variables from loading OFF${!excludePrivate ? ' (default)' : ''}`).conflicts('excludePrivate')).addOption(new _commander.Option('-u, --exclude-public', `exclude public dotenv variables from loading ON${excludePublic ? ' (default)' : ''}`).conflicts('excludePublicOff')).addOption(new _commander.Option('-U, --exclude-public-off', `exclude public dotenv variables from loading OFF${!excludePublic ? ' (default)' : ''}`).conflicts('excludePublic')).addOption(new _commander.Option('-l, --log', `console log loaded variables ON${log ? ' (default)' : ''}`).conflicts('logOff')).addOption(new _commander.Option('-L, --log-off', `console log loaded variables OFF${!log ? ' (default)' : ''}`).conflicts('log')).addOption(new _commander.Option('-d, --debug', `debug mode ON${debug ? ' (default)' : ''}`).conflicts('debugOff')).addOption(new _commander.Option('-D, --debug-off', `debug mode OFF${!debug ? ' (default)' : ''}`).conflicts('debug')).option('--default-env <string>', 'default target environment', _dotenvExpand.dotenvExpand, defaultEnv).option('--dotenv-token <string>', 'dotenv-expanded token indicating a dotenv file', _dotenvExpand.dotenvExpand, dotenvToken).option('--dynamic-path <string>', 'dynamic variables path', _dotenvExpand.dotenvExpand, dynamicPath).option('--paths <string>', 'dotenv-expanded delimited list of paths to dotenv directory', _dotenvExpand.dotenvExpand, paths).option('--paths-delimiter <string>', 'paths delimiter string', pathsDelimiter).option('--paths-delimiter-pattern <string>', 'paths delimiter regex pattern', pathsDelimiterPattern).option('--private-token <string>', 'dotenv-expanded token indicating private variables', _dotenvExpand.dotenvExpand, privateToken).option('--vars-delimiter <string>', 'vars delimiter string', varsDelimiter).option('--vars-delimiter-pattern <string>', 'vars delimiter regex pattern', varsDelimiterPattern).option('--vars-assignor <string>', 'vars assignment operator string', varsAssignor).option('--vars-assignor-pattern <string>', 'vars assignment operator regex pattern', varsAssignorPattern).addCommand(new _commander.Command().name('cmd').description('execute shell command string (default command)').configureHelp({
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getdotenvDefaultOptions = exports.cliDefaultOptions = exports.cli2getdotenvOptions = void 0;
6
+ exports.getdotenvDefaultOptions = exports.cliDefaultOptionsLocal = exports.cliDefaultOptionsGlobal = exports.cli2getdotenvOptions = void 0;
7
7
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
8
8
  var _lodash = _interopRequireDefault(require("lodash.frompairs"));
9
9
  var _lodash2 = _interopRequireDefault(require("lodash.pick"));
@@ -18,13 +18,10 @@ const _dirname = (0, _path.dirname)((0, _url.fileURLToPath)(import.meta.url));
18
18
  // Load default options.
19
19
  const cliDefaultOptionsGlobalPath = (0, _path.resolve)(_dirname, '../getdotenv.config.json');
20
20
  const cliDefaultOptionsGlobal = (await _fsExtra.default.exists(cliDefaultOptionsGlobalPath)) ? JSON.parse(await _fsExtra.default.readFile(cliDefaultOptionsGlobalPath)) : {};
21
+ exports.cliDefaultOptionsGlobal = cliDefaultOptionsGlobal;
21
22
  const cliDefaultOptionsLocalPath = (0, _path.resolve)(await (0, _pkgDir.packageDirectory)(), 'getdotenv.config.json');
22
23
  const cliDefaultOptionsLocal = (await _fsExtra.default.exists(cliDefaultOptionsLocalPath)) ? JSON.parse(await _fsExtra.default.readFile(cliDefaultOptionsLocalPath)) : {};
23
- const cliDefaultOptions = {
24
- ...cliDefaultOptionsGlobal,
25
- ...cliDefaultOptionsLocal
26
- };
27
- exports.cliDefaultOptions = cliDefaultOptions;
24
+ exports.cliDefaultOptionsLocal = cliDefaultOptionsLocal;
28
25
  const cli2getdotenvOptions = function () {
29
26
  let {
30
27
  env,
@@ -42,10 +39,13 @@ const cli2getdotenvOptions = function () {
42
39
  return {
43
40
  ...(0, _lodash2.default)(rest, ['dotenvToken', 'dynamicPath', 'excludeDynamic', 'excludeEnv', 'excludeGlobal', 'excludePrivate', 'excludePublic', 'loadProcess', 'log', 'outputPath', 'privateToken']),
44
41
  env: env ?? defaultEnv,
45
- paths: (paths === null || paths === void 0 ? void 0 : paths.split(pathsDelimiterPattern ? RegExp(pathsDelimiterPattern) : pathsDelimiter)) ?? [],
46
- vars: (0, _lodash.default)(vars === null || vars === void 0 ? void 0 : vars.split(varsDelimiterPattern ? RegExp(varsDelimiterPattern) : varsDelimiter).map(v => v.split(varsAssignorPattern ? RegExp(varsAssignorPattern) : varsAssignor)))
42
+ paths: paths?.split(pathsDelimiterPattern ? RegExp(pathsDelimiterPattern) : pathsDelimiter) ?? [],
43
+ vars: (0, _lodash.default)(vars?.split(varsDelimiterPattern ? RegExp(varsDelimiterPattern) : varsDelimiter).map(v => v.split(varsAssignorPattern ? RegExp(varsAssignorPattern) : varsAssignor)))
47
44
  };
48
45
  };
49
46
  exports.cli2getdotenvOptions = cli2getdotenvOptions;
50
- const getdotenvDefaultOptions = cli2getdotenvOptions(cliDefaultOptions);
47
+ const getdotenvDefaultOptions = cli2getdotenvOptions({
48
+ ...cliDefaultOptionsGlobal,
49
+ ...cliDefaultOptionsLocal
50
+ });
51
51
  exports.getdotenvDefaultOptions = getdotenvDefaultOptions;
@@ -5,7 +5,11 @@ import { execaCommand } from 'execa';
5
5
  // lib imports
6
6
  import { dotenvExpand } from './dotenvExpand.js';
7
7
  import { getDotenv } from './getDotenv.js';
8
- import { cli2getdotenvOptions, cliDefaultOptions } from './options.js';
8
+ import {
9
+ cli2getdotenvOptions,
10
+ cliDefaultOptionsGlobal,
11
+ cliDefaultOptionsLocal,
12
+ } from './options.js';
9
13
 
10
14
  /**
11
15
  * GetDotenv CLI Pre-hook Callback type. Transforms inbound options & executes side effects.
@@ -62,7 +66,7 @@ export const getDotenvCli = ({
62
66
  logger = console.log,
63
67
  preHook,
64
68
  postHook,
65
- ...cliOptions
69
+ ...cliOptionsCustom
66
70
  } = {}) => {
67
71
  let {
68
72
  alias,
@@ -91,8 +95,9 @@ export const getDotenvCli = ({
91
95
  varsDelimiter,
92
96
  varsDelimiterPattern,
93
97
  } = {
94
- ...cliDefaultOptions,
95
- ...cliOptions,
98
+ ...cliDefaultOptionsGlobal,
99
+ ...cliOptionsCustom,
100
+ ...cliDefaultOptionsLocal,
96
101
  };
97
102
 
98
103
  const excludeAll =
package/lib/options.js CHANGED
@@ -14,7 +14,9 @@ const cliDefaultOptionsGlobalPath = resolve(
14
14
  '../getdotenv.config.json'
15
15
  );
16
16
 
17
- const cliDefaultOptionsGlobal = (await fs.exists(cliDefaultOptionsGlobalPath))
17
+ export const cliDefaultOptionsGlobal = (await fs.exists(
18
+ cliDefaultOptionsGlobalPath
19
+ ))
18
20
  ? JSON.parse(await fs.readFile(cliDefaultOptionsGlobalPath))
19
21
  : {};
20
22
 
@@ -23,15 +25,12 @@ const cliDefaultOptionsLocalPath = resolve(
23
25
  'getdotenv.config.json'
24
26
  );
25
27
 
26
- const cliDefaultOptionsLocal = (await fs.exists(cliDefaultOptionsLocalPath))
28
+ export const cliDefaultOptionsLocal = (await fs.exists(
29
+ cliDefaultOptionsLocalPath
30
+ ))
27
31
  ? JSON.parse(await fs.readFile(cliDefaultOptionsLocalPath))
28
32
  : {};
29
33
 
30
- export const cliDefaultOptions = {
31
- ...cliDefaultOptionsGlobal,
32
- ...cliDefaultOptionsLocal,
33
- };
34
-
35
34
  export const cli2getdotenvOptions = ({
36
35
  env,
37
36
  defaultEnv,
@@ -76,4 +75,7 @@ export const cli2getdotenvOptions = ({
76
75
  ),
77
76
  });
78
77
 
79
- export const getdotenvDefaultOptions = cli2getdotenvOptions(cliDefaultOptions);
78
+ export const getdotenvDefaultOptions = cli2getdotenvOptions({
79
+ ...cliDefaultOptionsGlobal,
80
+ ...cliDefaultOptionsLocal,
81
+ });
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "bin": {
4
4
  "getdotenv": "bin/getdotenv/index.js"
5
5
  },
6
- "version": "3.1.0",
6
+ "version": "3.1.2",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -43,10 +43,10 @@
43
43
  "pkg-dir": "^7.0.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@babel/cli": "^7.22.5",
47
- "@babel/core": "^7.22.5",
48
- "@babel/eslint-parser": "^7.22.5",
49
- "@babel/preset-env": "^7.22.5",
46
+ "@babel/cli": "^7.22.6",
47
+ "@babel/core": "^7.22.6",
48
+ "@babel/eslint-parser": "^7.22.6",
49
+ "@babel/preset-env": "^7.22.6",
50
50
  "@babel/register": "^7.22.5",
51
51
  "@types/node": "^20.3.3",
52
52
  "chai": "^4.3.7",