@karmaniverous/get-dotenv 3.1.1 → 3.1.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/dist/default/lib/getDotenvCli.js +6 -5
- package/dist/default/lib/options.js +7 -7
- package/lib/getDotenvCli.js +17 -6
- package/lib/options.js +10 -8
- package/package.json +1 -1
|
@@ -69,9 +69,9 @@ const getDotenvCli = function () {
|
|
|
69
69
|
logger = console.log,
|
|
70
70
|
preHook,
|
|
71
71
|
postHook,
|
|
72
|
-
...
|
|
72
|
+
...cliOptionsCustom
|
|
73
73
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
74
|
-
|
|
74
|
+
const {
|
|
75
75
|
alias,
|
|
76
76
|
command,
|
|
77
77
|
debug,
|
|
@@ -92,16 +92,17 @@ const getDotenvCli = function () {
|
|
|
92
92
|
pathsDelimiter,
|
|
93
93
|
pathsDelimiterPattern,
|
|
94
94
|
privateToken,
|
|
95
|
-
vars,
|
|
96
95
|
varsAssignor,
|
|
97
96
|
varsAssignorPattern,
|
|
98
97
|
varsDelimiter,
|
|
99
98
|
varsDelimiterPattern
|
|
100
99
|
} = {
|
|
101
|
-
..._options.
|
|
102
|
-
...
|
|
100
|
+
..._options.cliDefaultOptionsGlobal,
|
|
101
|
+
...cliOptionsCustom,
|
|
102
|
+
..._options.cliDefaultOptionsLocal
|
|
103
103
|
};
|
|
104
104
|
const excludeAll = excludeDynamic && (excludeEnv && excludeGlobal || excludePrivate && excludePublic);
|
|
105
|
+
const vars = [cliOptionsCustom.vars ?? _options.cliDefaultOptionsGlobal.vars, _options.cliDefaultOptionsLocal.vars].filter(v => v?.length).join(varsDelimiter);
|
|
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({
|
|
106
107
|
showGlobalOptions: true
|
|
107
108
|
}).enablePositionalOptions().passThroughOptions().action(async (options, _ref) => {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getdotenvDefaultOptions = exports.
|
|
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
|
-
|
|
24
|
-
...cliDefaultOptionsGlobal,
|
|
25
|
-
...cliDefaultOptionsLocal
|
|
26
|
-
};
|
|
27
|
-
exports.cliDefaultOptions = cliDefaultOptions;
|
|
24
|
+
exports.cliDefaultOptionsLocal = cliDefaultOptionsLocal;
|
|
28
25
|
const cli2getdotenvOptions = function () {
|
|
29
26
|
let {
|
|
30
27
|
env,
|
|
@@ -47,5 +44,8 @@ const cli2getdotenvOptions = function () {
|
|
|
47
44
|
};
|
|
48
45
|
};
|
|
49
46
|
exports.cli2getdotenvOptions = cli2getdotenvOptions;
|
|
50
|
-
const getdotenvDefaultOptions = cli2getdotenvOptions(
|
|
47
|
+
const getdotenvDefaultOptions = cli2getdotenvOptions({
|
|
48
|
+
...cliDefaultOptionsGlobal,
|
|
49
|
+
...cliDefaultOptionsLocal
|
|
50
|
+
});
|
|
51
51
|
exports.getdotenvDefaultOptions = getdotenvDefaultOptions;
|
package/lib/getDotenvCli.js
CHANGED
|
@@ -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 {
|
|
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,9 +66,9 @@ export const getDotenvCli = ({
|
|
|
62
66
|
logger = console.log,
|
|
63
67
|
preHook,
|
|
64
68
|
postHook,
|
|
65
|
-
...
|
|
69
|
+
...cliOptionsCustom
|
|
66
70
|
} = {}) => {
|
|
67
|
-
|
|
71
|
+
const {
|
|
68
72
|
alias,
|
|
69
73
|
command,
|
|
70
74
|
debug,
|
|
@@ -85,20 +89,27 @@ export const getDotenvCli = ({
|
|
|
85
89
|
pathsDelimiter,
|
|
86
90
|
pathsDelimiterPattern,
|
|
87
91
|
privateToken,
|
|
88
|
-
vars,
|
|
89
92
|
varsAssignor,
|
|
90
93
|
varsAssignorPattern,
|
|
91
94
|
varsDelimiter,
|
|
92
95
|
varsDelimiterPattern,
|
|
93
96
|
} = {
|
|
94
|
-
...
|
|
95
|
-
...
|
|
97
|
+
...cliDefaultOptionsGlobal,
|
|
98
|
+
...cliOptionsCustom,
|
|
99
|
+
...cliDefaultOptionsLocal,
|
|
96
100
|
};
|
|
97
101
|
|
|
98
102
|
const excludeAll =
|
|
99
103
|
excludeDynamic &&
|
|
100
104
|
((excludeEnv && excludeGlobal) || (excludePrivate && excludePublic));
|
|
101
105
|
|
|
106
|
+
const vars = [
|
|
107
|
+
cliOptionsCustom.vars ?? cliDefaultOptionsGlobal.vars,
|
|
108
|
+
cliDefaultOptionsLocal.vars,
|
|
109
|
+
]
|
|
110
|
+
.filter((v) => v?.length)
|
|
111
|
+
.join(varsDelimiter);
|
|
112
|
+
|
|
102
113
|
return new Command()
|
|
103
114
|
.name(alias)
|
|
104
115
|
.description(description)
|
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(
|
|
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(
|
|
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(
|
|
78
|
+
export const getdotenvDefaultOptions = cli2getdotenvOptions({
|
|
79
|
+
...cliDefaultOptionsGlobal,
|
|
80
|
+
...cliDefaultOptionsLocal,
|
|
81
|
+
});
|