projen 0.71.38 → 0.71.39

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.
Files changed (175) hide show
  1. package/.jsii +3 -3
  2. package/lib/awscdk/auto-discover.js +5 -5
  3. package/lib/awscdk/awscdk-app-java.js +1 -1
  4. package/lib/awscdk/awscdk-app-py.js +1 -1
  5. package/lib/awscdk/awscdk-app-ts.js +1 -1
  6. package/lib/awscdk/awscdk-construct.js +2 -2
  7. package/lib/awscdk/awscdk-deps-java.js +1 -1
  8. package/lib/awscdk/awscdk-deps-js.js +1 -1
  9. package/lib/awscdk/awscdk-deps-py.js +1 -1
  10. package/lib/awscdk/awscdk-deps.js +1 -1
  11. package/lib/awscdk/cdk-config.js +1 -1
  12. package/lib/awscdk/cdk-tasks.js +1 -1
  13. package/lib/awscdk/integration-test.js +1 -1
  14. package/lib/awscdk/lambda-extension.js +1 -1
  15. package/lib/awscdk/lambda-function.js +2 -2
  16. package/lib/build/build-workflow.js +1 -1
  17. package/lib/cdk/auto-discover-base.js +2 -2
  18. package/lib/cdk/construct-lib.js +1 -1
  19. package/lib/cdk/integration-test-base.js +1 -1
  20. package/lib/cdk/jsii-docgen.js +1 -1
  21. package/lib/cdk/jsii-project.js +1 -1
  22. package/lib/cdk8s/auto-discover.js +2 -2
  23. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  24. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  25. package/lib/cdk8s/cdk8s-construct.js +1 -1
  26. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  27. package/lib/cdk8s/cdk8s-deps.js +1 -1
  28. package/lib/cdk8s/integration-test.js +1 -1
  29. package/lib/cdktf/cdktf-construct.js +1 -1
  30. package/lib/circleci/circleci.js +1 -1
  31. package/lib/cli/cmds/new.js +27 -19
  32. package/lib/cli/index.js +2 -2
  33. package/lib/cli/util.d.ts +3 -0
  34. package/lib/cli/util.js +9 -2
  35. package/lib/component.js +1 -1
  36. package/lib/dependencies.js +1 -1
  37. package/lib/dev-env.js +1 -1
  38. package/lib/docker-compose/docker-compose-service.js +1 -1
  39. package/lib/docker-compose/docker-compose.js +1 -1
  40. package/lib/file.js +1 -1
  41. package/lib/gitattributes.js +1 -1
  42. package/lib/github/actions-provider.js +1 -1
  43. package/lib/github/auto-approve.js +1 -1
  44. package/lib/github/auto-merge.js +1 -1
  45. package/lib/github/dependabot.js +1 -1
  46. package/lib/github/github-credentials.js +1 -1
  47. package/lib/github/github-project.js +1 -1
  48. package/lib/github/github.js +1 -1
  49. package/lib/github/mergify.js +1 -1
  50. package/lib/github/pr-template.js +1 -1
  51. package/lib/github/pull-request-lint.js +1 -1
  52. package/lib/github/stale.js +1 -1
  53. package/lib/github/task-workflow.js +1 -1
  54. package/lib/github/workflow-actions.js +1 -1
  55. package/lib/github/workflow-jobs.js +1 -1
  56. package/lib/github/workflows.js +1 -1
  57. package/lib/gitlab/configuration.js +1 -1
  58. package/lib/gitlab/gitlab-configuration.js +1 -1
  59. package/lib/gitlab/nested-configuration.js +1 -1
  60. package/lib/gitpod.js +1 -1
  61. package/lib/ignore-file.js +1 -1
  62. package/lib/ini.js +1 -1
  63. package/lib/java/java-project.js +1 -1
  64. package/lib/java/junit.js +1 -1
  65. package/lib/java/maven-compile.js +1 -1
  66. package/lib/java/maven-packaging.js +1 -1
  67. package/lib/java/maven-sample.js +1 -1
  68. package/lib/java/pom.js +1 -1
  69. package/lib/java/projenrc.js +1 -1
  70. package/lib/javascript/bundler.js +1 -1
  71. package/lib/javascript/eslint.js +1 -1
  72. package/lib/javascript/jest.js +4 -4
  73. package/lib/javascript/node-package.js +1 -1
  74. package/lib/javascript/node-project.js +1 -1
  75. package/lib/javascript/npm-config.js +1 -1
  76. package/lib/javascript/prettier.js +1 -1
  77. package/lib/javascript/projenrc.js +1 -1
  78. package/lib/javascript/typescript-config.js +2 -2
  79. package/lib/javascript/upgrade-dependencies.js +2 -2
  80. package/lib/json-patch.js +1 -1
  81. package/lib/json.js +1 -1
  82. package/lib/license.js +1 -1
  83. package/lib/logger.js +1 -1
  84. package/lib/makefile.js +1 -1
  85. package/lib/object-file.js +1 -1
  86. package/lib/project-build.js +1 -1
  87. package/lib/project.js +1 -1
  88. package/lib/projects.js +1 -1
  89. package/lib/projenrc-json.js +2 -2
  90. package/lib/projenrc.js +1 -1
  91. package/lib/python/pip.js +1 -1
  92. package/lib/python/poetry.js +2 -2
  93. package/lib/python/projenrc.js +1 -1
  94. package/lib/python/pytest-sample.js +1 -1
  95. package/lib/python/pytest.js +1 -1
  96. package/lib/python/python-project.js +1 -1
  97. package/lib/python/python-sample.js +1 -1
  98. package/lib/python/requirements-file.js +1 -1
  99. package/lib/python/setuppy.js +1 -1
  100. package/lib/python/setuptools.js +1 -1
  101. package/lib/python/venv.js +1 -1
  102. package/lib/readme.js +1 -1
  103. package/lib/release/publisher.js +1 -1
  104. package/lib/release/release-trigger.js +1 -1
  105. package/lib/release/release.js +1 -1
  106. package/lib/renovatebot.js +1 -1
  107. package/lib/sample-file.js +2 -2
  108. package/lib/semver.js +1 -1
  109. package/lib/source-code.js +1 -1
  110. package/lib/task-runtime.js +1 -1
  111. package/lib/task.js +1 -1
  112. package/lib/tasks.js +1 -1
  113. package/lib/testing.js +1 -1
  114. package/lib/textfile.js +1 -1
  115. package/lib/toml.js +1 -1
  116. package/lib/typescript/projenrc-ts.js +1 -1
  117. package/lib/typescript/projenrc.js +1 -1
  118. package/lib/typescript/typescript-typedoc.js +1 -1
  119. package/lib/typescript/typescript.js +3 -3
  120. package/lib/version.js +1 -1
  121. package/lib/vscode/devcontainer.js +1 -1
  122. package/lib/vscode/extensions.js +1 -1
  123. package/lib/vscode/launch-config.js +1 -1
  124. package/lib/vscode/settings.js +1 -1
  125. package/lib/vscode/vscode.js +1 -1
  126. package/lib/web/next.js +3 -3
  127. package/lib/web/postcss.js +1 -1
  128. package/lib/web/react.js +4 -4
  129. package/lib/web/tailwind.js +1 -1
  130. package/lib/xmlfile.js +1 -1
  131. package/lib/yaml.js +1 -1
  132. package/node_modules/cliui/CHANGELOG.md +18 -0
  133. package/node_modules/cliui/build/index.d.cts +43 -0
  134. package/node_modules/cliui/package.json +6 -6
  135. package/node_modules/yargs/README.md +8 -6
  136. package/node_modules/yargs/browser.d.ts +5 -0
  137. package/node_modules/yargs/browser.mjs +2 -2
  138. package/node_modules/yargs/build/index.cjs +1 -2920
  139. package/node_modules/yargs/build/lib/command.js +277 -210
  140. package/node_modules/yargs/build/lib/completion-templates.js +5 -4
  141. package/node_modules/yargs/build/lib/completion.js +201 -86
  142. package/node_modules/yargs/build/lib/middleware.js +51 -16
  143. package/node_modules/yargs/build/lib/usage.js +88 -52
  144. package/node_modules/yargs/build/lib/utils/levenshtein.js +9 -1
  145. package/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
  146. package/node_modules/yargs/build/lib/validation.js +51 -54
  147. package/node_modules/yargs/build/lib/yargs-factory.js +1253 -884
  148. package/node_modules/yargs/build/lib/yerror.js +3 -1
  149. package/node_modules/yargs/index.cjs +22 -8
  150. package/node_modules/yargs/index.mjs +2 -2
  151. package/node_modules/yargs/lib/platform-shims/browser.mjs +3 -0
  152. package/node_modules/yargs/lib/platform-shims/esm.mjs +9 -3
  153. package/node_modules/yargs/locales/cs.json +51 -0
  154. package/node_modules/yargs/locales/en.json +4 -0
  155. package/node_modules/yargs/locales/fi.json +1 -1
  156. package/node_modules/yargs/locales/ko.json +25 -25
  157. package/node_modules/yargs/locales/ru.json +6 -1
  158. package/node_modules/yargs/locales/uk_UA.json +51 -0
  159. package/node_modules/yargs/locales/uz.json +52 -0
  160. package/node_modules/yargs/locales/zh_TW.json +50 -46
  161. package/node_modules/{yargs-parser → yargs/node_modules/yargs-parser}/CHANGELOG.md +45 -0
  162. package/node_modules/{yargs-parser → yargs/node_modules/yargs-parser}/build/index.cjs +25 -17
  163. package/node_modules/{yargs-parser → yargs/node_modules/yargs-parser}/build/lib/index.js +8 -5
  164. package/node_modules/{yargs-parser → yargs/node_modules/yargs-parser}/build/lib/yargs-parser.js +20 -12
  165. package/node_modules/{yargs-parser → yargs/node_modules/yargs-parser}/package.json +14 -9
  166. package/node_modules/yargs/package.json +25 -24
  167. package/node_modules/yargs/yargs.mjs +10 -0
  168. package/package.json +2 -2
  169. package/node_modules/yargs/CHANGELOG.md +0 -88
  170. /package/node_modules/{yargs-parser → yargs/node_modules/yargs-parser}/LICENSE.txt +0 -0
  171. /package/node_modules/{yargs-parser → yargs/node_modules/yargs-parser}/README.md +0 -0
  172. /package/node_modules/{yargs-parser → yargs/node_modules/yargs-parser}/browser.js +0 -0
  173. /package/node_modules/{yargs-parser → yargs/node_modules/yargs-parser}/build/lib/string-utils.js +0 -0
  174. /package/node_modules/{yargs-parser → yargs/node_modules/yargs-parser}/build/lib/tokenize-arg-string.js +0 -0
  175. /package/node_modules/{yargs-parser → yargs/node_modules/yargs-parser}/build/lib/yargs-parser-types.js +0 -0
@@ -1,3 +1,15 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _YargsInstance_command, _YargsInstance_cwd, _YargsInstance_context, _YargsInstance_completion, _YargsInstance_completionCommand, _YargsInstance_defaultShowHiddenOpt, _YargsInstance_exitError, _YargsInstance_detectLocale, _YargsInstance_emittedWarnings, _YargsInstance_exitProcess, _YargsInstance_frozens, _YargsInstance_globalMiddleware, _YargsInstance_groups, _YargsInstance_hasOutput, _YargsInstance_helpOpt, _YargsInstance_isGlobalContext, _YargsInstance_logger, _YargsInstance_output, _YargsInstance_options, _YargsInstance_parentRequire, _YargsInstance_parserConfig, _YargsInstance_parseFn, _YargsInstance_parseContext, _YargsInstance_pkgs, _YargsInstance_preservedGroups, _YargsInstance_processArgs, _YargsInstance_recommendCommands, _YargsInstance_shim, _YargsInstance_strict, _YargsInstance_strictCommands, _YargsInstance_strictOptions, _YargsInstance_usage, _YargsInstance_usageConfig, _YargsInstance_versionOpt, _YargsInstance_validation;
1
13
  import { command as Command, } from './command.js';
2
14
  import { assertNotStrictEqual, assertSingleKey, objectKeys, } from './typings/common-types.js';
3
15
  import { YError } from './yerror.js';
@@ -7,389 +19,328 @@ import { completion as Completion, } from './completion.js';
7
19
  import { validation as Validation, } from './validation.js';
8
20
  import { objFilter } from './utils/obj-filter.js';
9
21
  import { applyExtends } from './utils/apply-extends.js';
10
- import { globalMiddlewareFactory, } from './middleware.js';
22
+ import { applyMiddleware, GlobalMiddleware, } from './middleware.js';
11
23
  import { isPromise } from './utils/is-promise.js';
24
+ import { maybeAsyncResult } from './utils/maybe-async-result.js';
12
25
  import setBlocking from './utils/set-blocking.js';
13
- let shim;
14
- export function YargsWithShim(_shim) {
15
- shim = _shim;
16
- return Yargs;
17
- }
18
- function Yargs(processArgs = [], cwd = shim.process.cwd(), parentRequire) {
19
- const self = {};
20
- let command;
21
- let completion = null;
22
- let groups = {};
23
- const globalMiddleware = [];
24
- let output = '';
25
- const preservedGroups = {};
26
- let usage;
27
- let validation;
28
- let handlerFinishCommand = null;
29
- const y18n = shim.y18n;
30
- self.middleware = globalMiddlewareFactory(globalMiddleware, self);
31
- self.scriptName = function (scriptName) {
32
- self.customScriptName = true;
33
- self.$0 = scriptName;
34
- return self;
35
- };
36
- let default$0;
37
- if (/\b(node|iojs|electron)(\.exe)?$/.test(shim.process.argv()[0])) {
38
- default$0 = shim.process.argv().slice(1, 2);
39
- }
40
- else {
41
- default$0 = shim.process.argv().slice(0, 1);
42
- }
43
- self.$0 = default$0
44
- .map(x => {
45
- const b = rebase(cwd, x);
46
- return x.match(/^(\/|([a-zA-Z]:)?\\)/) && b.length < x.length ? b : x;
47
- })
48
- .join(' ')
49
- .trim();
50
- if (shim.getEnv('_') && shim.getProcessArgvBin() === shim.getEnv('_')) {
51
- self.$0 = shim
52
- .getEnv('_')
53
- .replace(`${shim.path.dirname(shim.process.execPath())}/`, '');
54
- }
55
- const context = { resets: -1, commands: [], fullCommands: [], files: [] };
56
- self.getContext = () => context;
57
- let hasOutput = false;
58
- let exitError = null;
59
- self.exit = (code, err) => {
60
- hasOutput = true;
61
- exitError = err;
62
- if (exitProcess)
63
- shim.process.exit(code);
64
- };
65
- let completionCommand = null;
66
- self.completion = function (cmd, desc, fn) {
67
- argsert('[string] [string|boolean|function] [function]', [cmd, desc, fn], arguments.length);
68
- if (typeof desc === 'function') {
69
- fn = desc;
70
- desc = undefined;
71
- }
72
- completionCommand = cmd || completionCommand || 'completion';
73
- if (!desc && desc !== false) {
74
- desc = 'generate completion script';
75
- }
76
- self.command(completionCommand, desc);
77
- if (fn)
78
- completion.registerFunction(fn);
79
- return self;
80
- };
81
- let options;
82
- self.resetOptions = self.reset = function resetOptions(aliases = {}) {
83
- context.resets++;
84
- options = options || {};
85
- const tmpOptions = {};
86
- tmpOptions.local = options.local ? options.local : [];
87
- tmpOptions.configObjects = options.configObjects
88
- ? options.configObjects
89
- : [];
90
- const localLookup = {};
91
- tmpOptions.local.forEach(l => {
92
- localLookup[l] = true;
93
- (aliases[l] || []).forEach(a => {
94
- localLookup[a] = true;
95
- });
26
+ export function YargsFactory(_shim) {
27
+ return (processArgs = [], cwd = _shim.process.cwd(), parentRequire) => {
28
+ const yargs = new YargsInstance(processArgs, cwd, parentRequire, _shim);
29
+ Object.defineProperty(yargs, 'argv', {
30
+ get: () => {
31
+ return yargs.parse();
32
+ },
33
+ enumerable: true,
96
34
  });
97
- Object.assign(preservedGroups, Object.keys(groups).reduce((acc, groupName) => {
98
- const keys = groups[groupName].filter(key => !(key in localLookup));
99
- if (keys.length > 0) {
100
- acc[groupName] = keys;
101
- }
102
- return acc;
103
- }, {}));
104
- groups = {};
105
- const arrayOptions = [
106
- 'array',
107
- 'boolean',
108
- 'string',
109
- 'skipValidation',
110
- 'count',
111
- 'normalize',
112
- 'number',
113
- 'hiddenOptions',
114
- ];
115
- const objectOptions = [
116
- 'narg',
117
- 'key',
118
- 'alias',
119
- 'default',
120
- 'defaultDescription',
121
- 'config',
122
- 'choices',
123
- 'demandedOptions',
124
- 'demandedCommands',
125
- 'coerce',
126
- 'deprecatedOptions',
127
- ];
128
- arrayOptions.forEach(k => {
129
- tmpOptions[k] = (options[k] || []).filter((k) => !localLookup[k]);
130
- });
131
- objectOptions.forEach((k) => {
132
- tmpOptions[k] = objFilter(options[k], k => !localLookup[k]);
133
- });
134
- tmpOptions.envPrefix = options.envPrefix;
135
- options = tmpOptions;
136
- usage = usage ? usage.reset(localLookup) : Usage(self, y18n, shim);
137
- validation = validation
138
- ? validation.reset(localLookup)
139
- : Validation(self, usage, y18n, shim);
140
- command = command
141
- ? command.reset()
142
- : Command(self, usage, validation, globalMiddleware, shim);
143
- if (!completion)
144
- completion = Completion(self, usage, command, shim);
145
- completionCommand = null;
146
- output = '';
147
- exitError = null;
148
- hasOutput = false;
149
- self.parsed = false;
150
- return self;
35
+ yargs.help();
36
+ yargs.version();
37
+ return yargs;
151
38
  };
152
- self.resetOptions();
153
- const frozens = [];
154
- function freeze() {
155
- frozens.push({
156
- options,
157
- configObjects: options.configObjects.slice(0),
158
- exitProcess,
159
- groups,
160
- strict,
161
- strictCommands,
162
- strictOptions,
163
- completionCommand,
164
- output,
165
- exitError,
166
- hasOutput,
167
- parsed: self.parsed,
168
- parseFn,
169
- parseContext,
170
- handlerFinishCommand,
171
- });
172
- usage.freeze();
173
- validation.freeze();
174
- command.freeze();
175
- }
176
- function unfreeze() {
177
- const frozen = frozens.pop();
178
- assertNotStrictEqual(frozen, undefined, shim);
179
- let configObjects;
180
- ({
181
- options,
182
- configObjects,
183
- exitProcess,
184
- groups,
185
- output,
186
- exitError,
187
- hasOutput,
188
- parsed: self.parsed,
189
- strict,
190
- strictCommands,
191
- strictOptions,
192
- completionCommand,
193
- parseFn,
194
- parseContext,
195
- handlerFinishCommand,
196
- } = frozen);
197
- options.configObjects = configObjects;
198
- usage.unfreeze();
199
- validation.unfreeze();
200
- command.unfreeze();
39
+ }
40
+ const kCopyDoubleDash = Symbol('copyDoubleDash');
41
+ const kCreateLogger = Symbol('copyDoubleDash');
42
+ const kDeleteFromParserHintObject = Symbol('deleteFromParserHintObject');
43
+ const kEmitWarning = Symbol('emitWarning');
44
+ const kFreeze = Symbol('freeze');
45
+ const kGetDollarZero = Symbol('getDollarZero');
46
+ const kGetParserConfiguration = Symbol('getParserConfiguration');
47
+ const kGetUsageConfiguration = Symbol('getUsageConfiguration');
48
+ const kGuessLocale = Symbol('guessLocale');
49
+ const kGuessVersion = Symbol('guessVersion');
50
+ const kParsePositionalNumbers = Symbol('parsePositionalNumbers');
51
+ const kPkgUp = Symbol('pkgUp');
52
+ const kPopulateParserHintArray = Symbol('populateParserHintArray');
53
+ const kPopulateParserHintSingleValueDictionary = Symbol('populateParserHintSingleValueDictionary');
54
+ const kPopulateParserHintArrayDictionary = Symbol('populateParserHintArrayDictionary');
55
+ const kPopulateParserHintDictionary = Symbol('populateParserHintDictionary');
56
+ const kSanitizeKey = Symbol('sanitizeKey');
57
+ const kSetKey = Symbol('setKey');
58
+ const kUnfreeze = Symbol('unfreeze');
59
+ const kValidateAsync = Symbol('validateAsync');
60
+ const kGetCommandInstance = Symbol('getCommandInstance');
61
+ const kGetContext = Symbol('getContext');
62
+ const kGetHasOutput = Symbol('getHasOutput');
63
+ const kGetLoggerInstance = Symbol('getLoggerInstance');
64
+ const kGetParseContext = Symbol('getParseContext');
65
+ const kGetUsageInstance = Symbol('getUsageInstance');
66
+ const kGetValidationInstance = Symbol('getValidationInstance');
67
+ const kHasParseCallback = Symbol('hasParseCallback');
68
+ const kIsGlobalContext = Symbol('isGlobalContext');
69
+ const kPostProcess = Symbol('postProcess');
70
+ const kRebase = Symbol('rebase');
71
+ const kReset = Symbol('reset');
72
+ const kRunYargsParserAndExecuteCommands = Symbol('runYargsParserAndExecuteCommands');
73
+ const kRunValidation = Symbol('runValidation');
74
+ const kSetHasOutput = Symbol('setHasOutput');
75
+ const kTrackManuallySetKeys = Symbol('kTrackManuallySetKeys');
76
+ export class YargsInstance {
77
+ constructor(processArgs = [], cwd, parentRequire, shim) {
78
+ this.customScriptName = false;
79
+ this.parsed = false;
80
+ _YargsInstance_command.set(this, void 0);
81
+ _YargsInstance_cwd.set(this, void 0);
82
+ _YargsInstance_context.set(this, { commands: [], fullCommands: [] });
83
+ _YargsInstance_completion.set(this, null);
84
+ _YargsInstance_completionCommand.set(this, null);
85
+ _YargsInstance_defaultShowHiddenOpt.set(this, 'show-hidden');
86
+ _YargsInstance_exitError.set(this, null);
87
+ _YargsInstance_detectLocale.set(this, true);
88
+ _YargsInstance_emittedWarnings.set(this, {});
89
+ _YargsInstance_exitProcess.set(this, true);
90
+ _YargsInstance_frozens.set(this, []);
91
+ _YargsInstance_globalMiddleware.set(this, void 0);
92
+ _YargsInstance_groups.set(this, {});
93
+ _YargsInstance_hasOutput.set(this, false);
94
+ _YargsInstance_helpOpt.set(this, null);
95
+ _YargsInstance_isGlobalContext.set(this, true);
96
+ _YargsInstance_logger.set(this, void 0);
97
+ _YargsInstance_output.set(this, '');
98
+ _YargsInstance_options.set(this, void 0);
99
+ _YargsInstance_parentRequire.set(this, void 0);
100
+ _YargsInstance_parserConfig.set(this, {});
101
+ _YargsInstance_parseFn.set(this, null);
102
+ _YargsInstance_parseContext.set(this, null);
103
+ _YargsInstance_pkgs.set(this, {});
104
+ _YargsInstance_preservedGroups.set(this, {});
105
+ _YargsInstance_processArgs.set(this, void 0);
106
+ _YargsInstance_recommendCommands.set(this, false);
107
+ _YargsInstance_shim.set(this, void 0);
108
+ _YargsInstance_strict.set(this, false);
109
+ _YargsInstance_strictCommands.set(this, false);
110
+ _YargsInstance_strictOptions.set(this, false);
111
+ _YargsInstance_usage.set(this, void 0);
112
+ _YargsInstance_usageConfig.set(this, {});
113
+ _YargsInstance_versionOpt.set(this, null);
114
+ _YargsInstance_validation.set(this, void 0);
115
+ __classPrivateFieldSet(this, _YargsInstance_shim, shim, "f");
116
+ __classPrivateFieldSet(this, _YargsInstance_processArgs, processArgs, "f");
117
+ __classPrivateFieldSet(this, _YargsInstance_cwd, cwd, "f");
118
+ __classPrivateFieldSet(this, _YargsInstance_parentRequire, parentRequire, "f");
119
+ __classPrivateFieldSet(this, _YargsInstance_globalMiddleware, new GlobalMiddleware(this), "f");
120
+ this.$0 = this[kGetDollarZero]();
121
+ this[kReset]();
122
+ __classPrivateFieldSet(this, _YargsInstance_command, __classPrivateFieldGet(this, _YargsInstance_command, "f"), "f");
123
+ __classPrivateFieldSet(this, _YargsInstance_usage, __classPrivateFieldGet(this, _YargsInstance_usage, "f"), "f");
124
+ __classPrivateFieldSet(this, _YargsInstance_validation, __classPrivateFieldGet(this, _YargsInstance_validation, "f"), "f");
125
+ __classPrivateFieldSet(this, _YargsInstance_options, __classPrivateFieldGet(this, _YargsInstance_options, "f"), "f");
126
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").showHiddenOpt = __classPrivateFieldGet(this, _YargsInstance_defaultShowHiddenOpt, "f");
127
+ __classPrivateFieldSet(this, _YargsInstance_logger, this[kCreateLogger](), "f");
201
128
  }
202
- self.boolean = function (keys) {
203
- argsert('<array|string>', [keys], arguments.length);
204
- populateParserHintArray('boolean', keys);
205
- return self;
206
- };
207
- self.array = function (keys) {
208
- argsert('<array|string>', [keys], arguments.length);
209
- populateParserHintArray('array', keys);
210
- return self;
211
- };
212
- self.number = function (keys) {
213
- argsert('<array|string>', [keys], arguments.length);
214
- populateParserHintArray('number', keys);
215
- return self;
216
- };
217
- self.normalize = function (keys) {
218
- argsert('<array|string>', [keys], arguments.length);
219
- populateParserHintArray('normalize', keys);
220
- return self;
221
- };
222
- self.count = function (keys) {
223
- argsert('<array|string>', [keys], arguments.length);
224
- populateParserHintArray('count', keys);
225
- return self;
226
- };
227
- self.string = function (keys) {
228
- argsert('<array|string>', [keys], arguments.length);
229
- populateParserHintArray('string', keys);
230
- return self;
231
- };
232
- self.requiresArg = function (keys) {
233
- argsert('<array|string|object> [number]', [keys], arguments.length);
234
- if (typeof keys === 'string' && options.narg[keys]) {
235
- return self;
236
- }
237
- else {
238
- populateParserHintSingleValueDictionary(self.requiresArg, 'narg', keys, NaN);
129
+ addHelpOpt(opt, msg) {
130
+ const defaultHelpOpt = 'help';
131
+ argsert('[string|boolean] [string]', [opt, msg], arguments.length);
132
+ if (__classPrivateFieldGet(this, _YargsInstance_helpOpt, "f")) {
133
+ this[kDeleteFromParserHintObject](__classPrivateFieldGet(this, _YargsInstance_helpOpt, "f"));
134
+ __classPrivateFieldSet(this, _YargsInstance_helpOpt, null, "f");
239
135
  }
240
- return self;
241
- };
242
- self.skipValidation = function (keys) {
243
- argsert('<array|string>', [keys], arguments.length);
244
- populateParserHintArray('skipValidation', keys);
245
- return self;
246
- };
247
- function populateParserHintArray(type, keys) {
248
- keys = [].concat(keys);
249
- keys.forEach(key => {
250
- key = sanitizeKey(key);
251
- options[type].push(key);
252
- });
136
+ if (opt === false && msg === undefined)
137
+ return this;
138
+ __classPrivateFieldSet(this, _YargsInstance_helpOpt, typeof opt === 'string' ? opt : defaultHelpOpt, "f");
139
+ this.boolean(__classPrivateFieldGet(this, _YargsInstance_helpOpt, "f"));
140
+ this.describe(__classPrivateFieldGet(this, _YargsInstance_helpOpt, "f"), msg || __classPrivateFieldGet(this, _YargsInstance_usage, "f").deferY18nLookup('Show help'));
141
+ return this;
253
142
  }
254
- self.nargs = function (key, value) {
255
- argsert('<string|object|array> [number]', [key, value], arguments.length);
256
- populateParserHintSingleValueDictionary(self.nargs, 'narg', key, value);
257
- return self;
258
- };
259
- self.choices = function (key, value) {
260
- argsert('<object|string|array> [string|array]', [key, value], arguments.length);
261
- populateParserHintArrayDictionary(self.choices, 'choices', key, value);
262
- return self;
263
- };
264
- self.alias = function (key, value) {
265
- argsert('<object|string|array> [string|array]', [key, value], arguments.length);
266
- populateParserHintArrayDictionary(self.alias, 'alias', key, value);
267
- return self;
268
- };
269
- self.default = self.defaults = function (key, value, defaultDescription) {
270
- argsert('<object|string|array> [*] [string]', [key, value, defaultDescription], arguments.length);
271
- if (defaultDescription) {
272
- assertSingleKey(key, shim);
273
- options.defaultDescription[key] = defaultDescription;
274
- }
275
- if (typeof value === 'function') {
276
- assertSingleKey(key, shim);
277
- if (!options.defaultDescription[key])
278
- options.defaultDescription[key] = usage.functionDescription(value);
279
- value = value.call();
280
- }
281
- populateParserHintSingleValueDictionary(self.default, 'default', key, value);
282
- return self;
283
- };
284
- self.describe = function (key, desc) {
285
- argsert('<object|string|array> [string]', [key, desc], arguments.length);
286
- setKey(key, true);
287
- usage.describe(key, desc);
288
- return self;
289
- };
290
- function setKey(key, set) {
291
- populateParserHintSingleValueDictionary(setKey, 'key', key, set);
292
- return self;
143
+ help(opt, msg) {
144
+ return this.addHelpOpt(opt, msg);
293
145
  }
294
- function demandOption(keys, msg) {
295
- argsert('<object|string|array> [string]', [keys, msg], arguments.length);
296
- populateParserHintSingleValueDictionary(self.demandOption, 'demandedOptions', keys, msg);
297
- return self;
146
+ addShowHiddenOpt(opt, msg) {
147
+ argsert('[string|boolean] [string]', [opt, msg], arguments.length);
148
+ if (opt === false && msg === undefined)
149
+ return this;
150
+ const showHiddenOpt = typeof opt === 'string' ? opt : __classPrivateFieldGet(this, _YargsInstance_defaultShowHiddenOpt, "f");
151
+ this.boolean(showHiddenOpt);
152
+ this.describe(showHiddenOpt, msg || __classPrivateFieldGet(this, _YargsInstance_usage, "f").deferY18nLookup('Show hidden options'));
153
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").showHiddenOpt = showHiddenOpt;
154
+ return this;
298
155
  }
299
- self.demandOption = demandOption;
300
- self.coerce = function (keys, value) {
301
- argsert('<object|string|array> [function]', [keys, value], arguments.length);
302
- populateParserHintSingleValueDictionary(self.coerce, 'coerce', keys, value);
303
- return self;
304
- };
305
- function populateParserHintSingleValueDictionary(builder, type, key, value) {
306
- populateParserHintDictionary(builder, type, key, value, (type, key, value) => {
307
- options[type][key] = value;
308
- });
156
+ showHidden(opt, msg) {
157
+ return this.addShowHiddenOpt(opt, msg);
309
158
  }
310
- function populateParserHintArrayDictionary(builder, type, key, value) {
311
- populateParserHintDictionary(builder, type, key, value, (type, key, value) => {
312
- options[type][key] = (options[type][key] || []).concat(value);
313
- });
159
+ alias(key, value) {
160
+ argsert('<object|string|array> [string|array]', [key, value], arguments.length);
161
+ this[kPopulateParserHintArrayDictionary](this.alias.bind(this), 'alias', key, value);
162
+ return this;
314
163
  }
315
- function populateParserHintDictionary(builder, type, key, value, singleKeyHandler) {
316
- if (Array.isArray(key)) {
317
- key.forEach(k => {
318
- builder(k, value);
164
+ array(keys) {
165
+ argsert('<array|string>', [keys], arguments.length);
166
+ this[kPopulateParserHintArray]('array', keys);
167
+ this[kTrackManuallySetKeys](keys);
168
+ return this;
169
+ }
170
+ boolean(keys) {
171
+ argsert('<array|string>', [keys], arguments.length);
172
+ this[kPopulateParserHintArray]('boolean', keys);
173
+ this[kTrackManuallySetKeys](keys);
174
+ return this;
175
+ }
176
+ check(f, global) {
177
+ argsert('<function> [boolean]', [f, global], arguments.length);
178
+ this.middleware((argv, _yargs) => {
179
+ return maybeAsyncResult(() => {
180
+ return f(argv, _yargs.getOptions());
181
+ }, (result) => {
182
+ if (!result) {
183
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").fail(__classPrivateFieldGet(this, _YargsInstance_shim, "f").y18n.__('Argument check failed: %s', f.toString()));
184
+ }
185
+ else if (typeof result === 'string' || result instanceof Error) {
186
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").fail(result.toString(), result);
187
+ }
188
+ return argv;
189
+ }, (err) => {
190
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").fail(err.message ? err.message : err.toString(), err);
191
+ return argv;
319
192
  });
193
+ }, false, global);
194
+ return this;
195
+ }
196
+ choices(key, value) {
197
+ argsert('<object|string|array> [string|array]', [key, value], arguments.length);
198
+ this[kPopulateParserHintArrayDictionary](this.choices.bind(this), 'choices', key, value);
199
+ return this;
200
+ }
201
+ coerce(keys, value) {
202
+ argsert('<object|string|array> [function]', [keys, value], arguments.length);
203
+ if (Array.isArray(keys)) {
204
+ if (!value) {
205
+ throw new YError('coerce callback must be provided');
206
+ }
207
+ for (const key of keys) {
208
+ this.coerce(key, value);
209
+ }
210
+ return this;
320
211
  }
321
- else if (((key) => typeof key === 'object')(key)) {
322
- for (const k of objectKeys(key)) {
323
- builder(k, key[k]);
212
+ else if (typeof keys === 'object') {
213
+ for (const key of Object.keys(keys)) {
214
+ this.coerce(key, keys[key]);
324
215
  }
216
+ return this;
325
217
  }
326
- else {
327
- singleKeyHandler(type, sanitizeKey(key), value);
218
+ if (!value) {
219
+ throw new YError('coerce callback must be provided');
328
220
  }
329
- }
330
- function sanitizeKey(key) {
331
- if (key === '__proto__')
332
- return '___proto___';
333
- return key;
334
- }
335
- function deleteFromParserHintObject(optionKey) {
336
- objectKeys(options).forEach((hintKey) => {
337
- if (((key) => key === 'configObjects')(hintKey))
338
- return;
339
- const hint = options[hintKey];
340
- if (Array.isArray(hint)) {
341
- if (~hint.indexOf(optionKey))
342
- hint.splice(hint.indexOf(optionKey), 1);
343
- }
344
- else if (typeof hint === 'object') {
345
- delete hint[optionKey];
221
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").key[keys] = true;
222
+ __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").addCoerceMiddleware((argv, yargs) => {
223
+ let aliases;
224
+ const shouldCoerce = Object.prototype.hasOwnProperty.call(argv, keys);
225
+ if (!shouldCoerce) {
226
+ return argv;
346
227
  }
347
- });
348
- delete usage.getDescriptions()[optionKey];
228
+ return maybeAsyncResult(() => {
229
+ aliases = yargs.getAliases();
230
+ return value(argv[keys]);
231
+ }, (result) => {
232
+ argv[keys] = result;
233
+ const stripAliased = yargs
234
+ .getInternalMethods()
235
+ .getParserConfiguration()['strip-aliased'];
236
+ if (aliases[keys] && stripAliased !== true) {
237
+ for (const alias of aliases[keys]) {
238
+ argv[alias] = result;
239
+ }
240
+ }
241
+ return argv;
242
+ }, (err) => {
243
+ throw new YError(err.message);
244
+ });
245
+ }, keys);
246
+ return this;
349
247
  }
350
- self.config = function config(key = 'config', msg, parseFn) {
248
+ conflicts(key1, key2) {
249
+ argsert('<string|object> [string|array]', [key1, key2], arguments.length);
250
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").conflicts(key1, key2);
251
+ return this;
252
+ }
253
+ config(key = 'config', msg, parseFn) {
351
254
  argsert('[object|string] [string|function] [function]', [key, msg, parseFn], arguments.length);
352
255
  if (typeof key === 'object' && !Array.isArray(key)) {
353
- key = applyExtends(key, cwd, self.getParserConfiguration()['deep-merge-config'] || false, shim);
354
- options.configObjects = (options.configObjects || []).concat(key);
355
- return self;
256
+ key = applyExtends(key, __classPrivateFieldGet(this, _YargsInstance_cwd, "f"), this[kGetParserConfiguration]()['deep-merge-config'] || false, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
257
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").configObjects = (__classPrivateFieldGet(this, _YargsInstance_options, "f").configObjects || []).concat(key);
258
+ return this;
356
259
  }
357
260
  if (typeof msg === 'function') {
358
261
  parseFn = msg;
359
262
  msg = undefined;
360
263
  }
361
- self.describe(key, msg || usage.deferY18nLookup('Path to JSON config file'));
264
+ this.describe(key, msg || __classPrivateFieldGet(this, _YargsInstance_usage, "f").deferY18nLookup('Path to JSON config file'));
362
265
  (Array.isArray(key) ? key : [key]).forEach(k => {
363
- options.config[k] = parseFn || true;
266
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").config[k] = parseFn || true;
364
267
  });
365
- return self;
366
- };
367
- self.example = function (cmd, description) {
368
- argsert('<string|array> [string]', [cmd, description], arguments.length);
369
- if (Array.isArray(cmd)) {
370
- cmd.forEach(exampleParams => self.example(...exampleParams));
268
+ return this;
269
+ }
270
+ completion(cmd, desc, fn) {
271
+ argsert('[string] [string|boolean|function] [function]', [cmd, desc, fn], arguments.length);
272
+ if (typeof desc === 'function') {
273
+ fn = desc;
274
+ desc = undefined;
371
275
  }
372
- else {
373
- usage.example(cmd, description);
276
+ __classPrivateFieldSet(this, _YargsInstance_completionCommand, cmd || __classPrivateFieldGet(this, _YargsInstance_completionCommand, "f") || 'completion', "f");
277
+ if (!desc && desc !== false) {
278
+ desc = 'generate completion script';
374
279
  }
375
- return self;
376
- };
377
- self.command = function (cmd, description, builder, handler, middlewares, deprecated) {
280
+ this.command(__classPrivateFieldGet(this, _YargsInstance_completionCommand, "f"), desc);
281
+ if (fn)
282
+ __classPrivateFieldGet(this, _YargsInstance_completion, "f").registerFunction(fn);
283
+ return this;
284
+ }
285
+ command(cmd, description, builder, handler, middlewares, deprecated) {
378
286
  argsert('<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]', [cmd, description, builder, handler, middlewares, deprecated], arguments.length);
379
- command.addHandler(cmd, description, builder, handler, middlewares, deprecated);
380
- return self;
381
- };
382
- self.commandDir = function (dir, opts) {
287
+ __classPrivateFieldGet(this, _YargsInstance_command, "f").addHandler(cmd, description, builder, handler, middlewares, deprecated);
288
+ return this;
289
+ }
290
+ commands(cmd, description, builder, handler, middlewares, deprecated) {
291
+ return this.command(cmd, description, builder, handler, middlewares, deprecated);
292
+ }
293
+ commandDir(dir, opts) {
383
294
  argsert('<string> [object]', [dir, opts], arguments.length);
384
- const req = parentRequire || shim.require;
385
- command.addDirectory(dir, self.getContext(), req, shim.getCallerFile(), opts);
386
- return self;
387
- };
388
- self.demand = self.required = self.require = function demand(keys, max, msg) {
295
+ const req = __classPrivateFieldGet(this, _YargsInstance_parentRequire, "f") || __classPrivateFieldGet(this, _YargsInstance_shim, "f").require;
296
+ __classPrivateFieldGet(this, _YargsInstance_command, "f").addDirectory(dir, req, __classPrivateFieldGet(this, _YargsInstance_shim, "f").getCallerFile(), opts);
297
+ return this;
298
+ }
299
+ count(keys) {
300
+ argsert('<array|string>', [keys], arguments.length);
301
+ this[kPopulateParserHintArray]('count', keys);
302
+ this[kTrackManuallySetKeys](keys);
303
+ return this;
304
+ }
305
+ default(key, value, defaultDescription) {
306
+ argsert('<object|string|array> [*] [string]', [key, value, defaultDescription], arguments.length);
307
+ if (defaultDescription) {
308
+ assertSingleKey(key, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
309
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").defaultDescription[key] = defaultDescription;
310
+ }
311
+ if (typeof value === 'function') {
312
+ assertSingleKey(key, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
313
+ if (!__classPrivateFieldGet(this, _YargsInstance_options, "f").defaultDescription[key])
314
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").defaultDescription[key] =
315
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").functionDescription(value);
316
+ value = value.call();
317
+ }
318
+ this[kPopulateParserHintSingleValueDictionary](this.default.bind(this), 'default', key, value);
319
+ return this;
320
+ }
321
+ defaults(key, value, defaultDescription) {
322
+ return this.default(key, value, defaultDescription);
323
+ }
324
+ demandCommand(min = 1, max, minMsg, maxMsg) {
325
+ argsert('[number] [number|string] [string|null|undefined] [string|null|undefined]', [min, max, minMsg, maxMsg], arguments.length);
326
+ if (typeof max !== 'number') {
327
+ minMsg = max;
328
+ max = Infinity;
329
+ }
330
+ this.global('_', false);
331
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").demandedCommands._ = {
332
+ min,
333
+ max,
334
+ minMsg,
335
+ maxMsg,
336
+ };
337
+ return this;
338
+ }
339
+ demand(keys, max, msg) {
389
340
  if (Array.isArray(max)) {
390
341
  max.forEach(key => {
391
- assertNotStrictEqual(msg, true, shim);
392
- demandOption(key, msg);
342
+ assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
343
+ this.demandOption(key, msg);
393
344
  });
394
345
  max = Infinity;
395
346
  }
@@ -398,288 +349,420 @@ function Yargs(processArgs = [], cwd = shim.process.cwd(), parentRequire) {
398
349
  max = Infinity;
399
350
  }
400
351
  if (typeof keys === 'number') {
401
- assertNotStrictEqual(msg, true, shim);
402
- self.demandCommand(keys, max, msg, msg);
352
+ assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
353
+ this.demandCommand(keys, max, msg, msg);
403
354
  }
404
355
  else if (Array.isArray(keys)) {
405
356
  keys.forEach(key => {
406
- assertNotStrictEqual(msg, true, shim);
407
- demandOption(key, msg);
357
+ assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
358
+ this.demandOption(key, msg);
408
359
  });
409
360
  }
410
361
  else {
411
362
  if (typeof msg === 'string') {
412
- demandOption(keys, msg);
363
+ this.demandOption(keys, msg);
413
364
  }
414
365
  else if (msg === true || typeof msg === 'undefined') {
415
- demandOption(keys);
366
+ this.demandOption(keys);
416
367
  }
417
368
  }
418
- return self;
419
- };
420
- self.demandCommand = function demandCommand(min = 1, max, minMsg, maxMsg) {
421
- argsert('[number] [number|string] [string|null|undefined] [string|null|undefined]', [min, max, minMsg, maxMsg], arguments.length);
422
- if (typeof max !== 'number') {
423
- minMsg = max;
424
- max = Infinity;
369
+ return this;
370
+ }
371
+ demandOption(keys, msg) {
372
+ argsert('<object|string|array> [string]', [keys, msg], arguments.length);
373
+ this[kPopulateParserHintSingleValueDictionary](this.demandOption.bind(this), 'demandedOptions', keys, msg);
374
+ return this;
375
+ }
376
+ deprecateOption(option, message) {
377
+ argsert('<string> [string|boolean]', [option, message], arguments.length);
378
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").deprecatedOptions[option] = message;
379
+ return this;
380
+ }
381
+ describe(keys, description) {
382
+ argsert('<object|string|array> [string]', [keys, description], arguments.length);
383
+ this[kSetKey](keys, true);
384
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").describe(keys, description);
385
+ return this;
386
+ }
387
+ detectLocale(detect) {
388
+ argsert('<boolean>', [detect], arguments.length);
389
+ __classPrivateFieldSet(this, _YargsInstance_detectLocale, detect, "f");
390
+ return this;
391
+ }
392
+ env(prefix) {
393
+ argsert('[string|boolean]', [prefix], arguments.length);
394
+ if (prefix === false)
395
+ delete __classPrivateFieldGet(this, _YargsInstance_options, "f").envPrefix;
396
+ else
397
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").envPrefix = prefix || '';
398
+ return this;
399
+ }
400
+ epilogue(msg) {
401
+ argsert('<string>', [msg], arguments.length);
402
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").epilog(msg);
403
+ return this;
404
+ }
405
+ epilog(msg) {
406
+ return this.epilogue(msg);
407
+ }
408
+ example(cmd, description) {
409
+ argsert('<string|array> [string]', [cmd, description], arguments.length);
410
+ if (Array.isArray(cmd)) {
411
+ cmd.forEach(exampleParams => this.example(...exampleParams));
425
412
  }
426
- self.global('_', false);
427
- options.demandedCommands._ = {
428
- min,
429
- max,
430
- minMsg,
431
- maxMsg,
432
- };
433
- return self;
434
- };
435
- self.getDemandedOptions = () => {
413
+ else {
414
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").example(cmd, description);
415
+ }
416
+ return this;
417
+ }
418
+ exit(code, err) {
419
+ __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, "f");
420
+ __classPrivateFieldSet(this, _YargsInstance_exitError, err, "f");
421
+ if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, "f"))
422
+ __classPrivateFieldGet(this, _YargsInstance_shim, "f").process.exit(code);
423
+ }
424
+ exitProcess(enabled = true) {
425
+ argsert('[boolean]', [enabled], arguments.length);
426
+ __classPrivateFieldSet(this, _YargsInstance_exitProcess, enabled, "f");
427
+ return this;
428
+ }
429
+ fail(f) {
430
+ argsert('<function|boolean>', [f], arguments.length);
431
+ if (typeof f === 'boolean' && f !== false) {
432
+ throw new YError("Invalid first argument. Expected function or boolean 'false'");
433
+ }
434
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").failFn(f);
435
+ return this;
436
+ }
437
+ getAliases() {
438
+ return this.parsed ? this.parsed.aliases : {};
439
+ }
440
+ async getCompletion(args, done) {
441
+ argsert('<array> [function]', [args, done], arguments.length);
442
+ if (!done) {
443
+ return new Promise((resolve, reject) => {
444
+ __classPrivateFieldGet(this, _YargsInstance_completion, "f").getCompletion(args, (err, completions) => {
445
+ if (err)
446
+ reject(err);
447
+ else
448
+ resolve(completions);
449
+ });
450
+ });
451
+ }
452
+ else {
453
+ return __classPrivateFieldGet(this, _YargsInstance_completion, "f").getCompletion(args, done);
454
+ }
455
+ }
456
+ getDemandedOptions() {
436
457
  argsert([], 0);
437
- return options.demandedOptions;
438
- };
439
- self.getDemandedCommands = () => {
458
+ return __classPrivateFieldGet(this, _YargsInstance_options, "f").demandedOptions;
459
+ }
460
+ getDemandedCommands() {
440
461
  argsert([], 0);
441
- return options.demandedCommands;
442
- };
443
- self.deprecateOption = function deprecateOption(option, message) {
444
- argsert('<string> [string|boolean]', [option, message], arguments.length);
445
- options.deprecatedOptions[option] = message;
446
- return self;
447
- };
448
- self.getDeprecatedOptions = () => {
462
+ return __classPrivateFieldGet(this, _YargsInstance_options, "f").demandedCommands;
463
+ }
464
+ getDeprecatedOptions() {
449
465
  argsert([], 0);
450
- return options.deprecatedOptions;
451
- };
452
- self.implies = function (key, value) {
453
- argsert('<string|object> [number|string|array]', [key, value], arguments.length);
454
- validation.implies(key, value);
455
- return self;
456
- };
457
- self.conflicts = function (key1, key2) {
458
- argsert('<string|object> [string|array]', [key1, key2], arguments.length);
459
- validation.conflicts(key1, key2);
460
- return self;
461
- };
462
- self.usage = function (msg, description, builder, handler) {
463
- argsert('<string|null|undefined> [string|boolean] [function|object] [function]', [msg, description, builder, handler], arguments.length);
464
- if (description !== undefined) {
465
- assertNotStrictEqual(msg, null, shim);
466
- if ((msg || '').match(/^\$0( |$)/)) {
467
- return self.command(msg, description, builder, handler);
466
+ return __classPrivateFieldGet(this, _YargsInstance_options, "f").deprecatedOptions;
467
+ }
468
+ getDetectLocale() {
469
+ return __classPrivateFieldGet(this, _YargsInstance_detectLocale, "f");
470
+ }
471
+ getExitProcess() {
472
+ return __classPrivateFieldGet(this, _YargsInstance_exitProcess, "f");
473
+ }
474
+ getGroups() {
475
+ return Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_groups, "f"), __classPrivateFieldGet(this, _YargsInstance_preservedGroups, "f"));
476
+ }
477
+ getHelp() {
478
+ __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, "f");
479
+ if (!__classPrivateFieldGet(this, _YargsInstance_usage, "f").hasCachedHelpMessage()) {
480
+ if (!this.parsed) {
481
+ const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, "f"), undefined, undefined, 0, true);
482
+ if (isPromise(parse)) {
483
+ return parse.then(() => {
484
+ return __classPrivateFieldGet(this, _YargsInstance_usage, "f").help();
485
+ });
486
+ }
468
487
  }
469
- else {
470
- throw new YError('.usage() description must start with $0 if being used as alias for .command()');
488
+ const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, "f").runDefaultBuilderOn(this);
489
+ if (isPromise(builderResponse)) {
490
+ return builderResponse.then(() => {
491
+ return __classPrivateFieldGet(this, _YargsInstance_usage, "f").help();
492
+ });
471
493
  }
472
494
  }
473
- else {
474
- usage.usage(msg);
475
- return self;
476
- }
477
- };
478
- self.epilogue = self.epilog = function (msg) {
479
- argsert('<string>', [msg], arguments.length);
480
- usage.epilog(msg);
481
- return self;
482
- };
483
- self.fail = function (f) {
484
- argsert('<function>', [f], arguments.length);
485
- usage.failFn(f);
486
- return self;
487
- };
488
- self.onFinishCommand = function (f) {
489
- argsert('<function>', [f], arguments.length);
490
- handlerFinishCommand = f;
491
- return self;
492
- };
493
- self.getHandlerFinishCommand = () => handlerFinishCommand;
494
- self.check = function (f, _global) {
495
- argsert('<function> [boolean]', [f, _global], arguments.length);
496
- validation.check(f, _global !== false);
497
- return self;
498
- };
499
- self.global = function global(globals, global) {
495
+ return Promise.resolve(__classPrivateFieldGet(this, _YargsInstance_usage, "f").help());
496
+ }
497
+ getOptions() {
498
+ return __classPrivateFieldGet(this, _YargsInstance_options, "f");
499
+ }
500
+ getStrict() {
501
+ return __classPrivateFieldGet(this, _YargsInstance_strict, "f");
502
+ }
503
+ getStrictCommands() {
504
+ return __classPrivateFieldGet(this, _YargsInstance_strictCommands, "f");
505
+ }
506
+ getStrictOptions() {
507
+ return __classPrivateFieldGet(this, _YargsInstance_strictOptions, "f");
508
+ }
509
+ global(globals, global) {
500
510
  argsert('<string|array> [boolean]', [globals, global], arguments.length);
501
511
  globals = [].concat(globals);
502
512
  if (global !== false) {
503
- options.local = options.local.filter(l => globals.indexOf(l) === -1);
513
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").local = __classPrivateFieldGet(this, _YargsInstance_options, "f").local.filter(l => globals.indexOf(l) === -1);
504
514
  }
505
515
  else {
506
516
  globals.forEach(g => {
507
- if (options.local.indexOf(g) === -1)
508
- options.local.push(g);
509
- });
510
- }
511
- return self;
512
- };
513
- self.pkgConf = function pkgConf(key, rootPath) {
514
- argsert('<string> [string]', [key, rootPath], arguments.length);
515
- let conf = null;
516
- const obj = pkgUp(rootPath || cwd);
517
- if (obj[key] && typeof obj[key] === 'object') {
518
- conf = applyExtends(obj[key], rootPath || cwd, self.getParserConfiguration()['deep-merge-config'] || false, shim);
519
- options.configObjects = (options.configObjects || []).concat(conf);
520
- }
521
- return self;
522
- };
523
- const pkgs = {};
524
- function pkgUp(rootPath) {
525
- const npath = rootPath || '*';
526
- if (pkgs[npath])
527
- return pkgs[npath];
528
- let obj = {};
529
- try {
530
- let startDir = rootPath || shim.mainFilename;
531
- if (!rootPath && shim.path.extname(startDir)) {
532
- startDir = shim.path.dirname(startDir);
533
- }
534
- const pkgJsonPath = shim.findUp(startDir, (dir, names) => {
535
- if (names.includes('package.json')) {
536
- return 'package.json';
537
- }
538
- else {
539
- return undefined;
540
- }
517
+ if (!__classPrivateFieldGet(this, _YargsInstance_options, "f").local.includes(g))
518
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").local.push(g);
541
519
  });
542
- assertNotStrictEqual(pkgJsonPath, undefined, shim);
543
- obj = JSON.parse(shim.readFileSync(pkgJsonPath, 'utf8'));
544
520
  }
545
- catch (_noop) { }
546
- pkgs[npath] = obj || {};
547
- return pkgs[npath];
521
+ return this;
548
522
  }
549
- let parseFn = null;
550
- let parseContext = null;
551
- self.parse = function parse(args, shortCircuit, _parseFn) {
552
- argsert('[string|array] [function|boolean|object] [function]', [args, shortCircuit, _parseFn], arguments.length);
553
- freeze();
554
- if (typeof args === 'undefined') {
555
- const argv = self._parseArgs(processArgs);
556
- const tmpParsed = self.parsed;
557
- unfreeze();
558
- self.parsed = tmpParsed;
559
- return argv;
560
- }
561
- if (typeof shortCircuit === 'object') {
562
- parseContext = shortCircuit;
563
- shortCircuit = _parseFn;
523
+ group(opts, groupName) {
524
+ argsert('<string|array> <string>', [opts, groupName], arguments.length);
525
+ const existing = __classPrivateFieldGet(this, _YargsInstance_preservedGroups, "f")[groupName] || __classPrivateFieldGet(this, _YargsInstance_groups, "f")[groupName];
526
+ if (__classPrivateFieldGet(this, _YargsInstance_preservedGroups, "f")[groupName]) {
527
+ delete __classPrivateFieldGet(this, _YargsInstance_preservedGroups, "f")[groupName];
564
528
  }
565
- if (typeof shortCircuit === 'function') {
566
- parseFn = shortCircuit;
567
- shortCircuit = false;
529
+ const seen = {};
530
+ __classPrivateFieldGet(this, _YargsInstance_groups, "f")[groupName] = (existing || []).concat(opts).filter(key => {
531
+ if (seen[key])
532
+ return false;
533
+ return (seen[key] = true);
534
+ });
535
+ return this;
536
+ }
537
+ hide(key) {
538
+ argsert('<string>', [key], arguments.length);
539
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").hiddenOptions.push(key);
540
+ return this;
541
+ }
542
+ implies(key, value) {
543
+ argsert('<string|object> [number|string|array]', [key, value], arguments.length);
544
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").implies(key, value);
545
+ return this;
546
+ }
547
+ locale(locale) {
548
+ argsert('[string]', [locale], arguments.length);
549
+ if (locale === undefined) {
550
+ this[kGuessLocale]();
551
+ return __classPrivateFieldGet(this, _YargsInstance_shim, "f").y18n.getLocale();
568
552
  }
569
- if (!shortCircuit)
570
- processArgs = args;
571
- if (parseFn)
572
- exitProcess = false;
573
- const parsed = self._parseArgs(args, !!shortCircuit);
574
- completion.setParsed(self.parsed);
575
- if (parseFn)
576
- parseFn(exitError, parsed, output);
577
- unfreeze();
578
- return parsed;
579
- };
580
- self._getParseContext = () => parseContext || {};
581
- self._hasParseCallback = () => !!parseFn;
582
- self.option = self.options = function option(key, opt) {
553
+ __classPrivateFieldSet(this, _YargsInstance_detectLocale, false, "f");
554
+ __classPrivateFieldGet(this, _YargsInstance_shim, "f").y18n.setLocale(locale);
555
+ return this;
556
+ }
557
+ middleware(callback, applyBeforeValidation, global) {
558
+ return __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").addMiddleware(callback, !!applyBeforeValidation, global);
559
+ }
560
+ nargs(key, value) {
561
+ argsert('<string|object|array> [number]', [key, value], arguments.length);
562
+ this[kPopulateParserHintSingleValueDictionary](this.nargs.bind(this), 'narg', key, value);
563
+ return this;
564
+ }
565
+ normalize(keys) {
566
+ argsert('<array|string>', [keys], arguments.length);
567
+ this[kPopulateParserHintArray]('normalize', keys);
568
+ return this;
569
+ }
570
+ number(keys) {
571
+ argsert('<array|string>', [keys], arguments.length);
572
+ this[kPopulateParserHintArray]('number', keys);
573
+ this[kTrackManuallySetKeys](keys);
574
+ return this;
575
+ }
576
+ option(key, opt) {
583
577
  argsert('<string|object> [object]', [key, opt], arguments.length);
584
578
  if (typeof key === 'object') {
585
579
  Object.keys(key).forEach(k => {
586
- self.options(k, key[k]);
580
+ this.options(k, key[k]);
587
581
  });
588
582
  }
589
583
  else {
590
584
  if (typeof opt !== 'object') {
591
585
  opt = {};
592
586
  }
593
- options.key[key] = true;
587
+ this[kTrackManuallySetKeys](key);
588
+ if (__classPrivateFieldGet(this, _YargsInstance_versionOpt, "f") && (key === 'version' || (opt === null || opt === void 0 ? void 0 : opt.alias) === 'version')) {
589
+ this[kEmitWarning]([
590
+ '"version" is a reserved word.',
591
+ 'Please do one of the following:',
592
+ '- Disable version with `yargs.version(false)` if using "version" as an option',
593
+ '- Use the built-in `yargs.version` method instead (if applicable)',
594
+ '- Use a different option key',
595
+ 'https://yargs.js.org/docs/#api-reference-version',
596
+ ].join('\n'), undefined, 'versionWarning');
597
+ }
598
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").key[key] = true;
594
599
  if (opt.alias)
595
- self.alias(key, opt.alias);
600
+ this.alias(key, opt.alias);
596
601
  const deprecate = opt.deprecate || opt.deprecated;
597
602
  if (deprecate) {
598
- self.deprecateOption(key, deprecate);
603
+ this.deprecateOption(key, deprecate);
599
604
  }
600
605
  const demand = opt.demand || opt.required || opt.require;
601
606
  if (demand) {
602
- self.demand(key, demand);
607
+ this.demand(key, demand);
603
608
  }
604
609
  if (opt.demandOption) {
605
- self.demandOption(key, typeof opt.demandOption === 'string' ? opt.demandOption : undefined);
610
+ this.demandOption(key, typeof opt.demandOption === 'string' ? opt.demandOption : undefined);
606
611
  }
607
612
  if (opt.conflicts) {
608
- self.conflicts(key, opt.conflicts);
613
+ this.conflicts(key, opt.conflicts);
609
614
  }
610
615
  if ('default' in opt) {
611
- self.default(key, opt.default);
616
+ this.default(key, opt.default);
612
617
  }
613
618
  if (opt.implies !== undefined) {
614
- self.implies(key, opt.implies);
619
+ this.implies(key, opt.implies);
615
620
  }
616
621
  if (opt.nargs !== undefined) {
617
- self.nargs(key, opt.nargs);
622
+ this.nargs(key, opt.nargs);
618
623
  }
619
624
  if (opt.config) {
620
- self.config(key, opt.configParser);
625
+ this.config(key, opt.configParser);
621
626
  }
622
627
  if (opt.normalize) {
623
- self.normalize(key);
628
+ this.normalize(key);
624
629
  }
625
630
  if (opt.choices) {
626
- self.choices(key, opt.choices);
631
+ this.choices(key, opt.choices);
627
632
  }
628
633
  if (opt.coerce) {
629
- self.coerce(key, opt.coerce);
634
+ this.coerce(key, opt.coerce);
630
635
  }
631
636
  if (opt.group) {
632
- self.group(key, opt.group);
637
+ this.group(key, opt.group);
633
638
  }
634
639
  if (opt.boolean || opt.type === 'boolean') {
635
- self.boolean(key);
640
+ this.boolean(key);
636
641
  if (opt.alias)
637
- self.boolean(opt.alias);
642
+ this.boolean(opt.alias);
638
643
  }
639
644
  if (opt.array || opt.type === 'array') {
640
- self.array(key);
645
+ this.array(key);
641
646
  if (opt.alias)
642
- self.array(opt.alias);
647
+ this.array(opt.alias);
643
648
  }
644
649
  if (opt.number || opt.type === 'number') {
645
- self.number(key);
650
+ this.number(key);
646
651
  if (opt.alias)
647
- self.number(opt.alias);
652
+ this.number(opt.alias);
648
653
  }
649
654
  if (opt.string || opt.type === 'string') {
650
- self.string(key);
655
+ this.string(key);
651
656
  if (opt.alias)
652
- self.string(opt.alias);
657
+ this.string(opt.alias);
653
658
  }
654
659
  if (opt.count || opt.type === 'count') {
655
- self.count(key);
660
+ this.count(key);
656
661
  }
657
662
  if (typeof opt.global === 'boolean') {
658
- self.global(key, opt.global);
663
+ this.global(key, opt.global);
659
664
  }
660
665
  if (opt.defaultDescription) {
661
- options.defaultDescription[key] = opt.defaultDescription;
666
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").defaultDescription[key] = opt.defaultDescription;
662
667
  }
663
668
  if (opt.skipValidation) {
664
- self.skipValidation(key);
669
+ this.skipValidation(key);
665
670
  }
666
671
  const desc = opt.describe || opt.description || opt.desc;
667
- self.describe(key, desc);
672
+ const descriptions = __classPrivateFieldGet(this, _YargsInstance_usage, "f").getDescriptions();
673
+ if (!Object.prototype.hasOwnProperty.call(descriptions, key) ||
674
+ typeof desc === 'string') {
675
+ this.describe(key, desc);
676
+ }
668
677
  if (opt.hidden) {
669
- self.hide(key);
678
+ this.hide(key);
670
679
  }
671
680
  if (opt.requiresArg) {
672
- self.requiresArg(key);
681
+ this.requiresArg(key);
673
682
  }
674
683
  }
675
- return self;
676
- };
677
- self.getOptions = () => options;
678
- self.positional = function (key, opts) {
679
- argsert('<string> <object>', [key, opts], arguments.length);
680
- if (context.resets === 0) {
681
- throw new YError(".positional() can only be called in a command's builder function");
684
+ return this;
685
+ }
686
+ options(key, opt) {
687
+ return this.option(key, opt);
688
+ }
689
+ parse(args, shortCircuit, _parseFn) {
690
+ argsert('[string|array] [function|boolean|object] [function]', [args, shortCircuit, _parseFn], arguments.length);
691
+ this[kFreeze]();
692
+ if (typeof args === 'undefined') {
693
+ args = __classPrivateFieldGet(this, _YargsInstance_processArgs, "f");
694
+ }
695
+ if (typeof shortCircuit === 'object') {
696
+ __classPrivateFieldSet(this, _YargsInstance_parseContext, shortCircuit, "f");
697
+ shortCircuit = _parseFn;
698
+ }
699
+ if (typeof shortCircuit === 'function') {
700
+ __classPrivateFieldSet(this, _YargsInstance_parseFn, shortCircuit, "f");
701
+ shortCircuit = false;
702
+ }
703
+ if (!shortCircuit)
704
+ __classPrivateFieldSet(this, _YargsInstance_processArgs, args, "f");
705
+ if (__classPrivateFieldGet(this, _YargsInstance_parseFn, "f"))
706
+ __classPrivateFieldSet(this, _YargsInstance_exitProcess, false, "f");
707
+ const parsed = this[kRunYargsParserAndExecuteCommands](args, !!shortCircuit);
708
+ const tmpParsed = this.parsed;
709
+ __classPrivateFieldGet(this, _YargsInstance_completion, "f").setParsed(this.parsed);
710
+ if (isPromise(parsed)) {
711
+ return parsed
712
+ .then(argv => {
713
+ if (__classPrivateFieldGet(this, _YargsInstance_parseFn, "f"))
714
+ __classPrivateFieldGet(this, _YargsInstance_parseFn, "f").call(this, __classPrivateFieldGet(this, _YargsInstance_exitError, "f"), argv, __classPrivateFieldGet(this, _YargsInstance_output, "f"));
715
+ return argv;
716
+ })
717
+ .catch(err => {
718
+ if (__classPrivateFieldGet(this, _YargsInstance_parseFn, "f")) {
719
+ __classPrivateFieldGet(this, _YargsInstance_parseFn, "f")(err, this.parsed.argv, __classPrivateFieldGet(this, _YargsInstance_output, "f"));
720
+ }
721
+ throw err;
722
+ })
723
+ .finally(() => {
724
+ this[kUnfreeze]();
725
+ this.parsed = tmpParsed;
726
+ });
727
+ }
728
+ else {
729
+ if (__classPrivateFieldGet(this, _YargsInstance_parseFn, "f"))
730
+ __classPrivateFieldGet(this, _YargsInstance_parseFn, "f").call(this, __classPrivateFieldGet(this, _YargsInstance_exitError, "f"), parsed, __classPrivateFieldGet(this, _YargsInstance_output, "f"));
731
+ this[kUnfreeze]();
732
+ this.parsed = tmpParsed;
733
+ }
734
+ return parsed;
735
+ }
736
+ parseAsync(args, shortCircuit, _parseFn) {
737
+ const maybePromise = this.parse(args, shortCircuit, _parseFn);
738
+ return !isPromise(maybePromise)
739
+ ? Promise.resolve(maybePromise)
740
+ : maybePromise;
741
+ }
742
+ parseSync(args, shortCircuit, _parseFn) {
743
+ const maybePromise = this.parse(args, shortCircuit, _parseFn);
744
+ if (isPromise(maybePromise)) {
745
+ throw new YError('.parseSync() must not be used with asynchronous builders, handlers, or middleware');
746
+ }
747
+ return maybePromise;
748
+ }
749
+ parserConfiguration(config) {
750
+ argsert('<object>', [config], arguments.length);
751
+ __classPrivateFieldSet(this, _YargsInstance_parserConfig, config, "f");
752
+ return this;
753
+ }
754
+ pkgConf(key, rootPath) {
755
+ argsert('<string> [string]', [key, rootPath], arguments.length);
756
+ let conf = null;
757
+ const obj = this[kPkgUp](rootPath || __classPrivateFieldGet(this, _YargsInstance_cwd, "f"));
758
+ if (obj[key] && typeof obj[key] === 'object') {
759
+ conf = applyExtends(obj[key], rootPath || __classPrivateFieldGet(this, _YargsInstance_cwd, "f"), this[kGetParserConfiguration]()['deep-merge-config'] || false, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
760
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").configObjects = (__classPrivateFieldGet(this, _YargsInstance_options, "f").configObjects || []).concat(conf);
682
761
  }
762
+ return this;
763
+ }
764
+ positional(key, opts) {
765
+ argsert('<string> <object>', [key, opts], arguments.length);
683
766
  const supportedOpts = [
684
767
  'default',
685
768
  'defaultDescription',
@@ -695,14 +778,13 @@ function Yargs(processArgs = [], cwd = shim.process.cwd(), parentRequire) {
695
778
  'alias',
696
779
  ];
697
780
  opts = objFilter(opts, (k, v) => {
698
- let accept = supportedOpts.indexOf(k) !== -1;
699
- if (k === 'type' && ['string', 'number', 'boolean'].indexOf(v) === -1)
700
- accept = false;
701
- return accept;
781
+ if (k === 'type' && !['string', 'number', 'boolean'].includes(v))
782
+ return false;
783
+ return supportedOpts.includes(k);
702
784
  });
703
- const fullCommand = context.fullCommands[context.fullCommands.length - 1];
785
+ const fullCommand = __classPrivateFieldGet(this, _YargsInstance_context, "f").fullCommands[__classPrivateFieldGet(this, _YargsInstance_context, "f").fullCommands.length - 1];
704
786
  const parseOptions = fullCommand
705
- ? command.cmdToParseOptions(fullCommand)
787
+ ? __classPrivateFieldGet(this, _YargsInstance_command, "f").cmdToParseOptions(fullCommand)
706
788
  : {
707
789
  array: [],
708
790
  alias: {},
@@ -720,92 +802,150 @@ function Yargs(processArgs = [], cwd = shim.process.cwd(), parentRequire) {
720
802
  opts[pk] = parseOption[key];
721
803
  }
722
804
  });
723
- self.group(key, usage.getPositionalGroupName());
724
- return self.option(key, opts);
725
- };
726
- self.group = function group(opts, groupName) {
727
- argsert('<string|array> <string>', [opts, groupName], arguments.length);
728
- const existing = preservedGroups[groupName] || groups[groupName];
729
- if (preservedGroups[groupName]) {
730
- delete preservedGroups[groupName];
805
+ this.group(key, __classPrivateFieldGet(this, _YargsInstance_usage, "f").getPositionalGroupName());
806
+ return this.option(key, opts);
807
+ }
808
+ recommendCommands(recommend = true) {
809
+ argsert('[boolean]', [recommend], arguments.length);
810
+ __classPrivateFieldSet(this, _YargsInstance_recommendCommands, recommend, "f");
811
+ return this;
812
+ }
813
+ required(keys, max, msg) {
814
+ return this.demand(keys, max, msg);
815
+ }
816
+ require(keys, max, msg) {
817
+ return this.demand(keys, max, msg);
818
+ }
819
+ requiresArg(keys) {
820
+ argsert('<array|string|object> [number]', [keys], arguments.length);
821
+ if (typeof keys === 'string' && __classPrivateFieldGet(this, _YargsInstance_options, "f").narg[keys]) {
822
+ return this;
731
823
  }
732
- const seen = {};
733
- groups[groupName] = (existing || []).concat(opts).filter(key => {
734
- if (seen[key])
735
- return false;
736
- return (seen[key] = true);
737
- });
738
- return self;
739
- };
740
- self.getGroups = () => Object.assign({}, groups, preservedGroups);
741
- self.env = function (prefix) {
742
- argsert('[string|boolean]', [prefix], arguments.length);
743
- if (prefix === false)
744
- delete options.envPrefix;
745
- else
746
- options.envPrefix = prefix || '';
747
- return self;
748
- };
749
- self.wrap = function (cols) {
750
- argsert('<number|null|undefined>', [cols], arguments.length);
751
- usage.wrap(cols);
752
- return self;
753
- };
754
- let strict = false;
755
- self.strict = function (enabled) {
824
+ else {
825
+ this[kPopulateParserHintSingleValueDictionary](this.requiresArg.bind(this), 'narg', keys, NaN);
826
+ }
827
+ return this;
828
+ }
829
+ showCompletionScript($0, cmd) {
830
+ argsert('[string] [string]', [$0, cmd], arguments.length);
831
+ $0 = $0 || this.$0;
832
+ __classPrivateFieldGet(this, _YargsInstance_logger, "f").log(__classPrivateFieldGet(this, _YargsInstance_completion, "f").generateCompletionScript($0, cmd || __classPrivateFieldGet(this, _YargsInstance_completionCommand, "f") || 'completion'));
833
+ return this;
834
+ }
835
+ showHelp(level) {
836
+ argsert('[string|function]', [level], arguments.length);
837
+ __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, "f");
838
+ if (!__classPrivateFieldGet(this, _YargsInstance_usage, "f").hasCachedHelpMessage()) {
839
+ if (!this.parsed) {
840
+ const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, "f"), undefined, undefined, 0, true);
841
+ if (isPromise(parse)) {
842
+ parse.then(() => {
843
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").showHelp(level);
844
+ });
845
+ return this;
846
+ }
847
+ }
848
+ const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, "f").runDefaultBuilderOn(this);
849
+ if (isPromise(builderResponse)) {
850
+ builderResponse.then(() => {
851
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").showHelp(level);
852
+ });
853
+ return this;
854
+ }
855
+ }
856
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").showHelp(level);
857
+ return this;
858
+ }
859
+ scriptName(scriptName) {
860
+ this.customScriptName = true;
861
+ this.$0 = scriptName;
862
+ return this;
863
+ }
864
+ showHelpOnFail(enabled, message) {
865
+ argsert('[boolean|string] [string]', [enabled, message], arguments.length);
866
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").showHelpOnFail(enabled, message);
867
+ return this;
868
+ }
869
+ showVersion(level) {
870
+ argsert('[string|function]', [level], arguments.length);
871
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").showVersion(level);
872
+ return this;
873
+ }
874
+ skipValidation(keys) {
875
+ argsert('<array|string>', [keys], arguments.length);
876
+ this[kPopulateParserHintArray]('skipValidation', keys);
877
+ return this;
878
+ }
879
+ strict(enabled) {
756
880
  argsert('[boolean]', [enabled], arguments.length);
757
- strict = enabled !== false;
758
- return self;
759
- };
760
- self.getStrict = () => strict;
761
- let strictCommands = false;
762
- self.strictCommands = function (enabled) {
881
+ __classPrivateFieldSet(this, _YargsInstance_strict, enabled !== false, "f");
882
+ return this;
883
+ }
884
+ strictCommands(enabled) {
763
885
  argsert('[boolean]', [enabled], arguments.length);
764
- strictCommands = enabled !== false;
765
- return self;
766
- };
767
- self.getStrictCommands = () => strictCommands;
768
- let strictOptions = false;
769
- self.strictOptions = function (enabled) {
886
+ __classPrivateFieldSet(this, _YargsInstance_strictCommands, enabled !== false, "f");
887
+ return this;
888
+ }
889
+ strictOptions(enabled) {
770
890
  argsert('[boolean]', [enabled], arguments.length);
771
- strictOptions = enabled !== false;
772
- return self;
773
- };
774
- self.getStrictOptions = () => strictOptions;
775
- let parserConfig = {};
776
- self.parserConfiguration = function parserConfiguration(config) {
777
- argsert('<object>', [config], arguments.length);
778
- parserConfig = config;
779
- return self;
780
- };
781
- self.getParserConfiguration = () => parserConfig;
782
- self.showHelp = function (level) {
783
- argsert('[string|function]', [level], arguments.length);
784
- if (!self.parsed)
785
- self._parseArgs(processArgs);
786
- if (command.hasDefaultCommand()) {
787
- context.resets++;
788
- command.runDefaultBuilderOn(self);
891
+ __classPrivateFieldSet(this, _YargsInstance_strictOptions, enabled !== false, "f");
892
+ return this;
893
+ }
894
+ string(keys) {
895
+ argsert('<array|string>', [keys], arguments.length);
896
+ this[kPopulateParserHintArray]('string', keys);
897
+ this[kTrackManuallySetKeys](keys);
898
+ return this;
899
+ }
900
+ terminalWidth() {
901
+ argsert([], 0);
902
+ return __classPrivateFieldGet(this, _YargsInstance_shim, "f").process.stdColumns;
903
+ }
904
+ updateLocale(obj) {
905
+ return this.updateStrings(obj);
906
+ }
907
+ updateStrings(obj) {
908
+ argsert('<object>', [obj], arguments.length);
909
+ __classPrivateFieldSet(this, _YargsInstance_detectLocale, false, "f");
910
+ __classPrivateFieldGet(this, _YargsInstance_shim, "f").y18n.updateLocale(obj);
911
+ return this;
912
+ }
913
+ usage(msg, description, builder, handler) {
914
+ argsert('<string|null|undefined> [string|boolean] [function|object] [function]', [msg, description, builder, handler], arguments.length);
915
+ if (description !== undefined) {
916
+ assertNotStrictEqual(msg, null, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
917
+ if ((msg || '').match(/^\$0( |$)/)) {
918
+ return this.command(msg, description, builder, handler);
919
+ }
920
+ else {
921
+ throw new YError('.usage() description must start with $0 if being used as alias for .command()');
922
+ }
789
923
  }
790
- usage.showHelp(level);
791
- return self;
792
- };
793
- let versionOpt = null;
794
- self.version = function version(opt, msg, ver) {
924
+ else {
925
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").usage(msg);
926
+ return this;
927
+ }
928
+ }
929
+ usageConfiguration(config) {
930
+ argsert('<object>', [config], arguments.length);
931
+ __classPrivateFieldSet(this, _YargsInstance_usageConfig, config, "f");
932
+ return this;
933
+ }
934
+ version(opt, msg, ver) {
795
935
  const defaultVersionOpt = 'version';
796
936
  argsert('[boolean|string] [string] [string]', [opt, msg, ver], arguments.length);
797
- if (versionOpt) {
798
- deleteFromParserHintObject(versionOpt);
799
- usage.version(undefined);
800
- versionOpt = null;
937
+ if (__classPrivateFieldGet(this, _YargsInstance_versionOpt, "f")) {
938
+ this[kDeleteFromParserHintObject](__classPrivateFieldGet(this, _YargsInstance_versionOpt, "f"));
939
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").version(undefined);
940
+ __classPrivateFieldSet(this, _YargsInstance_versionOpt, null, "f");
801
941
  }
802
942
  if (arguments.length === 0) {
803
- ver = guessVersion();
943
+ ver = this[kGuessVersion]();
804
944
  opt = defaultVersionOpt;
805
945
  }
806
946
  else if (arguments.length === 1) {
807
947
  if (opt === false) {
808
- return self;
948
+ return this;
809
949
  }
810
950
  ver = opt;
811
951
  opt = defaultVersionOpt;
@@ -814,330 +954,559 @@ function Yargs(processArgs = [], cwd = shim.process.cwd(), parentRequire) {
814
954
  ver = msg;
815
955
  msg = undefined;
816
956
  }
817
- versionOpt = typeof opt === 'string' ? opt : defaultVersionOpt;
818
- msg = msg || usage.deferY18nLookup('Show version number');
819
- usage.version(ver || undefined);
820
- self.boolean(versionOpt);
821
- self.describe(versionOpt, msg);
822
- return self;
823
- };
824
- function guessVersion() {
825
- const obj = pkgUp();
957
+ __classPrivateFieldSet(this, _YargsInstance_versionOpt, typeof opt === 'string' ? opt : defaultVersionOpt, "f");
958
+ msg = msg || __classPrivateFieldGet(this, _YargsInstance_usage, "f").deferY18nLookup('Show version number');
959
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").version(ver || undefined);
960
+ this.boolean(__classPrivateFieldGet(this, _YargsInstance_versionOpt, "f"));
961
+ this.describe(__classPrivateFieldGet(this, _YargsInstance_versionOpt, "f"), msg);
962
+ return this;
963
+ }
964
+ wrap(cols) {
965
+ argsert('<number|null|undefined>', [cols], arguments.length);
966
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").wrap(cols);
967
+ return this;
968
+ }
969
+ [(_YargsInstance_command = new WeakMap(), _YargsInstance_cwd = new WeakMap(), _YargsInstance_context = new WeakMap(), _YargsInstance_completion = new WeakMap(), _YargsInstance_completionCommand = new WeakMap(), _YargsInstance_defaultShowHiddenOpt = new WeakMap(), _YargsInstance_exitError = new WeakMap(), _YargsInstance_detectLocale = new WeakMap(), _YargsInstance_emittedWarnings = new WeakMap(), _YargsInstance_exitProcess = new WeakMap(), _YargsInstance_frozens = new WeakMap(), _YargsInstance_globalMiddleware = new WeakMap(), _YargsInstance_groups = new WeakMap(), _YargsInstance_hasOutput = new WeakMap(), _YargsInstance_helpOpt = new WeakMap(), _YargsInstance_isGlobalContext = new WeakMap(), _YargsInstance_logger = new WeakMap(), _YargsInstance_output = new WeakMap(), _YargsInstance_options = new WeakMap(), _YargsInstance_parentRequire = new WeakMap(), _YargsInstance_parserConfig = new WeakMap(), _YargsInstance_parseFn = new WeakMap(), _YargsInstance_parseContext = new WeakMap(), _YargsInstance_pkgs = new WeakMap(), _YargsInstance_preservedGroups = new WeakMap(), _YargsInstance_processArgs = new WeakMap(), _YargsInstance_recommendCommands = new WeakMap(), _YargsInstance_shim = new WeakMap(), _YargsInstance_strict = new WeakMap(), _YargsInstance_strictCommands = new WeakMap(), _YargsInstance_strictOptions = new WeakMap(), _YargsInstance_usage = new WeakMap(), _YargsInstance_usageConfig = new WeakMap(), _YargsInstance_versionOpt = new WeakMap(), _YargsInstance_validation = new WeakMap(), kCopyDoubleDash)](argv) {
970
+ if (!argv._ || !argv['--'])
971
+ return argv;
972
+ argv._.push.apply(argv._, argv['--']);
973
+ try {
974
+ delete argv['--'];
975
+ }
976
+ catch (_err) { }
977
+ return argv;
978
+ }
979
+ [kCreateLogger]() {
980
+ return {
981
+ log: (...args) => {
982
+ if (!this[kHasParseCallback]())
983
+ console.log(...args);
984
+ __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, "f");
985
+ if (__classPrivateFieldGet(this, _YargsInstance_output, "f").length)
986
+ __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, "f") + '\n', "f");
987
+ __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, "f") + args.join(' '), "f");
988
+ },
989
+ error: (...args) => {
990
+ if (!this[kHasParseCallback]())
991
+ console.error(...args);
992
+ __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, "f");
993
+ if (__classPrivateFieldGet(this, _YargsInstance_output, "f").length)
994
+ __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, "f") + '\n', "f");
995
+ __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, "f") + args.join(' '), "f");
996
+ },
997
+ };
998
+ }
999
+ [kDeleteFromParserHintObject](optionKey) {
1000
+ objectKeys(__classPrivateFieldGet(this, _YargsInstance_options, "f")).forEach((hintKey) => {
1001
+ if (((key) => key === 'configObjects')(hintKey))
1002
+ return;
1003
+ const hint = __classPrivateFieldGet(this, _YargsInstance_options, "f")[hintKey];
1004
+ if (Array.isArray(hint)) {
1005
+ if (hint.includes(optionKey))
1006
+ hint.splice(hint.indexOf(optionKey), 1);
1007
+ }
1008
+ else if (typeof hint === 'object') {
1009
+ delete hint[optionKey];
1010
+ }
1011
+ });
1012
+ delete __classPrivateFieldGet(this, _YargsInstance_usage, "f").getDescriptions()[optionKey];
1013
+ }
1014
+ [kEmitWarning](warning, type, deduplicationId) {
1015
+ if (!__classPrivateFieldGet(this, _YargsInstance_emittedWarnings, "f")[deduplicationId]) {
1016
+ __classPrivateFieldGet(this, _YargsInstance_shim, "f").process.emitWarning(warning, type);
1017
+ __classPrivateFieldGet(this, _YargsInstance_emittedWarnings, "f")[deduplicationId] = true;
1018
+ }
1019
+ }
1020
+ [kFreeze]() {
1021
+ __classPrivateFieldGet(this, _YargsInstance_frozens, "f").push({
1022
+ options: __classPrivateFieldGet(this, _YargsInstance_options, "f"),
1023
+ configObjects: __classPrivateFieldGet(this, _YargsInstance_options, "f").configObjects.slice(0),
1024
+ exitProcess: __classPrivateFieldGet(this, _YargsInstance_exitProcess, "f"),
1025
+ groups: __classPrivateFieldGet(this, _YargsInstance_groups, "f"),
1026
+ strict: __classPrivateFieldGet(this, _YargsInstance_strict, "f"),
1027
+ strictCommands: __classPrivateFieldGet(this, _YargsInstance_strictCommands, "f"),
1028
+ strictOptions: __classPrivateFieldGet(this, _YargsInstance_strictOptions, "f"),
1029
+ completionCommand: __classPrivateFieldGet(this, _YargsInstance_completionCommand, "f"),
1030
+ output: __classPrivateFieldGet(this, _YargsInstance_output, "f"),
1031
+ exitError: __classPrivateFieldGet(this, _YargsInstance_exitError, "f"),
1032
+ hasOutput: __classPrivateFieldGet(this, _YargsInstance_hasOutput, "f"),
1033
+ parsed: this.parsed,
1034
+ parseFn: __classPrivateFieldGet(this, _YargsInstance_parseFn, "f"),
1035
+ parseContext: __classPrivateFieldGet(this, _YargsInstance_parseContext, "f"),
1036
+ });
1037
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").freeze();
1038
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").freeze();
1039
+ __classPrivateFieldGet(this, _YargsInstance_command, "f").freeze();
1040
+ __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").freeze();
1041
+ }
1042
+ [kGetDollarZero]() {
1043
+ let $0 = '';
1044
+ let default$0;
1045
+ if (/\b(node|iojs|electron)(\.exe)?$/.test(__classPrivateFieldGet(this, _YargsInstance_shim, "f").process.argv()[0])) {
1046
+ default$0 = __classPrivateFieldGet(this, _YargsInstance_shim, "f").process.argv().slice(1, 2);
1047
+ }
1048
+ else {
1049
+ default$0 = __classPrivateFieldGet(this, _YargsInstance_shim, "f").process.argv().slice(0, 1);
1050
+ }
1051
+ $0 = default$0
1052
+ .map(x => {
1053
+ const b = this[kRebase](__classPrivateFieldGet(this, _YargsInstance_cwd, "f"), x);
1054
+ return x.match(/^(\/|([a-zA-Z]:)?\\)/) && b.length < x.length ? b : x;
1055
+ })
1056
+ .join(' ')
1057
+ .trim();
1058
+ if (__classPrivateFieldGet(this, _YargsInstance_shim, "f").getEnv('_') &&
1059
+ __classPrivateFieldGet(this, _YargsInstance_shim, "f").getProcessArgvBin() === __classPrivateFieldGet(this, _YargsInstance_shim, "f").getEnv('_')) {
1060
+ $0 = __classPrivateFieldGet(this, _YargsInstance_shim, "f")
1061
+ .getEnv('_')
1062
+ .replace(`${__classPrivateFieldGet(this, _YargsInstance_shim, "f").path.dirname(__classPrivateFieldGet(this, _YargsInstance_shim, "f").process.execPath())}/`, '');
1063
+ }
1064
+ return $0;
1065
+ }
1066
+ [kGetParserConfiguration]() {
1067
+ return __classPrivateFieldGet(this, _YargsInstance_parserConfig, "f");
1068
+ }
1069
+ [kGetUsageConfiguration]() {
1070
+ return __classPrivateFieldGet(this, _YargsInstance_usageConfig, "f");
1071
+ }
1072
+ [kGuessLocale]() {
1073
+ if (!__classPrivateFieldGet(this, _YargsInstance_detectLocale, "f"))
1074
+ return;
1075
+ const locale = __classPrivateFieldGet(this, _YargsInstance_shim, "f").getEnv('LC_ALL') ||
1076
+ __classPrivateFieldGet(this, _YargsInstance_shim, "f").getEnv('LC_MESSAGES') ||
1077
+ __classPrivateFieldGet(this, _YargsInstance_shim, "f").getEnv('LANG') ||
1078
+ __classPrivateFieldGet(this, _YargsInstance_shim, "f").getEnv('LANGUAGE') ||
1079
+ 'en_US';
1080
+ this.locale(locale.replace(/[.:].*/, ''));
1081
+ }
1082
+ [kGuessVersion]() {
1083
+ const obj = this[kPkgUp]();
826
1084
  return obj.version || 'unknown';
827
1085
  }
828
- let helpOpt = null;
829
- self.addHelpOpt = self.help = function addHelpOpt(opt, msg) {
830
- const defaultHelpOpt = 'help';
831
- argsert('[string|boolean] [string]', [opt, msg], arguments.length);
832
- if (helpOpt) {
833
- deleteFromParserHintObject(helpOpt);
834
- helpOpt = null;
1086
+ [kParsePositionalNumbers](argv) {
1087
+ const args = argv['--'] ? argv['--'] : argv._;
1088
+ for (let i = 0, arg; (arg = args[i]) !== undefined; i++) {
1089
+ if (__classPrivateFieldGet(this, _YargsInstance_shim, "f").Parser.looksLikeNumber(arg) &&
1090
+ Number.isSafeInteger(Math.floor(parseFloat(`${arg}`)))) {
1091
+ args[i] = Number(arg);
1092
+ }
835
1093
  }
836
- if (arguments.length === 1) {
837
- if (opt === false)
838
- return self;
1094
+ return argv;
1095
+ }
1096
+ [kPkgUp](rootPath) {
1097
+ const npath = rootPath || '*';
1098
+ if (__classPrivateFieldGet(this, _YargsInstance_pkgs, "f")[npath])
1099
+ return __classPrivateFieldGet(this, _YargsInstance_pkgs, "f")[npath];
1100
+ let obj = {};
1101
+ try {
1102
+ let startDir = rootPath || __classPrivateFieldGet(this, _YargsInstance_shim, "f").mainFilename;
1103
+ if (!rootPath && __classPrivateFieldGet(this, _YargsInstance_shim, "f").path.extname(startDir)) {
1104
+ startDir = __classPrivateFieldGet(this, _YargsInstance_shim, "f").path.dirname(startDir);
1105
+ }
1106
+ const pkgJsonPath = __classPrivateFieldGet(this, _YargsInstance_shim, "f").findUp(startDir, (dir, names) => {
1107
+ if (names.includes('package.json')) {
1108
+ return 'package.json';
1109
+ }
1110
+ else {
1111
+ return undefined;
1112
+ }
1113
+ });
1114
+ assertNotStrictEqual(pkgJsonPath, undefined, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
1115
+ obj = JSON.parse(__classPrivateFieldGet(this, _YargsInstance_shim, "f").readFileSync(pkgJsonPath, 'utf8'));
839
1116
  }
840
- helpOpt = typeof opt === 'string' ? opt : defaultHelpOpt;
841
- self.boolean(helpOpt);
842
- self.describe(helpOpt, msg || usage.deferY18nLookup('Show help'));
843
- return self;
844
- };
845
- const defaultShowHiddenOpt = 'show-hidden';
846
- options.showHiddenOpt = defaultShowHiddenOpt;
847
- self.addShowHiddenOpt = self.showHidden = function addShowHiddenOpt(opt, msg) {
848
- argsert('[string|boolean] [string]', [opt, msg], arguments.length);
849
- if (arguments.length === 1) {
850
- if (opt === false)
851
- return self;
1117
+ catch (_noop) { }
1118
+ __classPrivateFieldGet(this, _YargsInstance_pkgs, "f")[npath] = obj || {};
1119
+ return __classPrivateFieldGet(this, _YargsInstance_pkgs, "f")[npath];
1120
+ }
1121
+ [kPopulateParserHintArray](type, keys) {
1122
+ keys = [].concat(keys);
1123
+ keys.forEach(key => {
1124
+ key = this[kSanitizeKey](key);
1125
+ __classPrivateFieldGet(this, _YargsInstance_options, "f")[type].push(key);
1126
+ });
1127
+ }
1128
+ [kPopulateParserHintSingleValueDictionary](builder, type, key, value) {
1129
+ this[kPopulateParserHintDictionary](builder, type, key, value, (type, key, value) => {
1130
+ __classPrivateFieldGet(this, _YargsInstance_options, "f")[type][key] = value;
1131
+ });
1132
+ }
1133
+ [kPopulateParserHintArrayDictionary](builder, type, key, value) {
1134
+ this[kPopulateParserHintDictionary](builder, type, key, value, (type, key, value) => {
1135
+ __classPrivateFieldGet(this, _YargsInstance_options, "f")[type][key] = (__classPrivateFieldGet(this, _YargsInstance_options, "f")[type][key] || []).concat(value);
1136
+ });
1137
+ }
1138
+ [kPopulateParserHintDictionary](builder, type, key, value, singleKeyHandler) {
1139
+ if (Array.isArray(key)) {
1140
+ key.forEach(k => {
1141
+ builder(k, value);
1142
+ });
852
1143
  }
853
- const showHiddenOpt = typeof opt === 'string' ? opt : defaultShowHiddenOpt;
854
- self.boolean(showHiddenOpt);
855
- self.describe(showHiddenOpt, msg || usage.deferY18nLookup('Show hidden options'));
856
- options.showHiddenOpt = showHiddenOpt;
857
- return self;
858
- };
859
- self.hide = function hide(key) {
860
- argsert('<string>', [key], arguments.length);
861
- options.hiddenOptions.push(key);
862
- return self;
863
- };
864
- self.showHelpOnFail = function showHelpOnFail(enabled, message) {
865
- argsert('[boolean|string] [string]', [enabled, message], arguments.length);
866
- usage.showHelpOnFail(enabled, message);
867
- return self;
868
- };
869
- let exitProcess = true;
870
- self.exitProcess = function (enabled = true) {
871
- argsert('[boolean]', [enabled], arguments.length);
872
- exitProcess = enabled;
873
- return self;
874
- };
875
- self.getExitProcess = () => exitProcess;
876
- self.showCompletionScript = function ($0, cmd) {
877
- argsert('[string] [string]', [$0, cmd], arguments.length);
878
- $0 = $0 || self.$0;
879
- _logger.log(completion.generateCompletionScript($0, cmd || completionCommand || 'completion'));
880
- return self;
881
- };
882
- self.getCompletion = function (args, done) {
883
- argsert('<array> <function>', [args, done], arguments.length);
884
- completion.getCompletion(args, done);
885
- };
886
- self.locale = function (locale) {
887
- argsert('[string]', [locale], arguments.length);
888
- if (!locale) {
889
- guessLocale();
890
- return y18n.getLocale();
1144
+ else if (((key) => typeof key === 'object')(key)) {
1145
+ for (const k of objectKeys(key)) {
1146
+ builder(k, key[k]);
1147
+ }
891
1148
  }
892
- detectLocale = false;
893
- y18n.setLocale(locale);
894
- return self;
895
- };
896
- self.updateStrings = self.updateLocale = function (obj) {
897
- argsert('<object>', [obj], arguments.length);
898
- detectLocale = false;
899
- y18n.updateLocale(obj);
900
- return self;
901
- };
902
- let detectLocale = true;
903
- self.detectLocale = function (detect) {
904
- argsert('<boolean>', [detect], arguments.length);
905
- detectLocale = detect;
906
- return self;
907
- };
908
- self.getDetectLocale = () => detectLocale;
909
- const _logger = {
910
- log(...args) {
911
- if (!self._hasParseCallback())
912
- console.log(...args);
913
- hasOutput = true;
914
- if (output.length)
915
- output += '\n';
916
- output += args.join(' ');
917
- },
918
- error(...args) {
919
- if (!self._hasParseCallback())
920
- console.error(...args);
921
- hasOutput = true;
922
- if (output.length)
923
- output += '\n';
924
- output += args.join(' ');
925
- },
926
- };
927
- self._getLoggerInstance = () => _logger;
928
- self._hasOutput = () => hasOutput;
929
- self._setHasOutput = () => {
930
- hasOutput = true;
931
- };
932
- let recommendCommands;
933
- self.recommendCommands = function (recommend = true) {
934
- argsert('[boolean]', [recommend], arguments.length);
935
- recommendCommands = recommend;
936
- return self;
937
- };
938
- self.getUsageInstance = () => usage;
939
- self.getValidationInstance = () => validation;
940
- self.getCommandInstance = () => command;
941
- self.terminalWidth = () => {
942
- argsert([], 0);
943
- return shim.process.stdColumns;
944
- };
945
- Object.defineProperty(self, 'argv', {
946
- get: () => self._parseArgs(processArgs),
947
- enumerable: true,
948
- });
949
- self._parseArgs = function parseArgs(args, shortCircuit, _calledFromCommand, commandIndex) {
950
- let skipValidation = !!_calledFromCommand;
951
- args = args || processArgs;
952
- options.__ = y18n.__;
953
- options.configuration = self.getParserConfiguration();
954
- const populateDoubleDash = !!options.configuration['populate--'];
955
- const config = Object.assign({}, options.configuration, {
1149
+ else {
1150
+ singleKeyHandler(type, this[kSanitizeKey](key), value);
1151
+ }
1152
+ }
1153
+ [kSanitizeKey](key) {
1154
+ if (key === '__proto__')
1155
+ return '___proto___';
1156
+ return key;
1157
+ }
1158
+ [kSetKey](key, set) {
1159
+ this[kPopulateParserHintSingleValueDictionary](this[kSetKey].bind(this), 'key', key, set);
1160
+ return this;
1161
+ }
1162
+ [kUnfreeze]() {
1163
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
1164
+ const frozen = __classPrivateFieldGet(this, _YargsInstance_frozens, "f").pop();
1165
+ assertNotStrictEqual(frozen, undefined, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
1166
+ let configObjects;
1167
+ (_a = this, _b = this, _c = this, _d = this, _e = this, _f = this, _g = this, _h = this, _j = this, _k = this, _l = this, _m = this, {
1168
+ options: ({ set value(_o) { __classPrivateFieldSet(_a, _YargsInstance_options, _o, "f"); } }).value,
1169
+ configObjects,
1170
+ exitProcess: ({ set value(_o) { __classPrivateFieldSet(_b, _YargsInstance_exitProcess, _o, "f"); } }).value,
1171
+ groups: ({ set value(_o) { __classPrivateFieldSet(_c, _YargsInstance_groups, _o, "f"); } }).value,
1172
+ output: ({ set value(_o) { __classPrivateFieldSet(_d, _YargsInstance_output, _o, "f"); } }).value,
1173
+ exitError: ({ set value(_o) { __classPrivateFieldSet(_e, _YargsInstance_exitError, _o, "f"); } }).value,
1174
+ hasOutput: ({ set value(_o) { __classPrivateFieldSet(_f, _YargsInstance_hasOutput, _o, "f"); } }).value,
1175
+ parsed: this.parsed,
1176
+ strict: ({ set value(_o) { __classPrivateFieldSet(_g, _YargsInstance_strict, _o, "f"); } }).value,
1177
+ strictCommands: ({ set value(_o) { __classPrivateFieldSet(_h, _YargsInstance_strictCommands, _o, "f"); } }).value,
1178
+ strictOptions: ({ set value(_o) { __classPrivateFieldSet(_j, _YargsInstance_strictOptions, _o, "f"); } }).value,
1179
+ completionCommand: ({ set value(_o) { __classPrivateFieldSet(_k, _YargsInstance_completionCommand, _o, "f"); } }).value,
1180
+ parseFn: ({ set value(_o) { __classPrivateFieldSet(_l, _YargsInstance_parseFn, _o, "f"); } }).value,
1181
+ parseContext: ({ set value(_o) { __classPrivateFieldSet(_m, _YargsInstance_parseContext, _o, "f"); } }).value,
1182
+ } = frozen);
1183
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").configObjects = configObjects;
1184
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").unfreeze();
1185
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").unfreeze();
1186
+ __classPrivateFieldGet(this, _YargsInstance_command, "f").unfreeze();
1187
+ __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").unfreeze();
1188
+ }
1189
+ [kValidateAsync](validation, argv) {
1190
+ return maybeAsyncResult(argv, result => {
1191
+ validation(result);
1192
+ return result;
1193
+ });
1194
+ }
1195
+ getInternalMethods() {
1196
+ return {
1197
+ getCommandInstance: this[kGetCommandInstance].bind(this),
1198
+ getContext: this[kGetContext].bind(this),
1199
+ getHasOutput: this[kGetHasOutput].bind(this),
1200
+ getLoggerInstance: this[kGetLoggerInstance].bind(this),
1201
+ getParseContext: this[kGetParseContext].bind(this),
1202
+ getParserConfiguration: this[kGetParserConfiguration].bind(this),
1203
+ getUsageConfiguration: this[kGetUsageConfiguration].bind(this),
1204
+ getUsageInstance: this[kGetUsageInstance].bind(this),
1205
+ getValidationInstance: this[kGetValidationInstance].bind(this),
1206
+ hasParseCallback: this[kHasParseCallback].bind(this),
1207
+ isGlobalContext: this[kIsGlobalContext].bind(this),
1208
+ postProcess: this[kPostProcess].bind(this),
1209
+ reset: this[kReset].bind(this),
1210
+ runValidation: this[kRunValidation].bind(this),
1211
+ runYargsParserAndExecuteCommands: this[kRunYargsParserAndExecuteCommands].bind(this),
1212
+ setHasOutput: this[kSetHasOutput].bind(this),
1213
+ };
1214
+ }
1215
+ [kGetCommandInstance]() {
1216
+ return __classPrivateFieldGet(this, _YargsInstance_command, "f");
1217
+ }
1218
+ [kGetContext]() {
1219
+ return __classPrivateFieldGet(this, _YargsInstance_context, "f");
1220
+ }
1221
+ [kGetHasOutput]() {
1222
+ return __classPrivateFieldGet(this, _YargsInstance_hasOutput, "f");
1223
+ }
1224
+ [kGetLoggerInstance]() {
1225
+ return __classPrivateFieldGet(this, _YargsInstance_logger, "f");
1226
+ }
1227
+ [kGetParseContext]() {
1228
+ return __classPrivateFieldGet(this, _YargsInstance_parseContext, "f") || {};
1229
+ }
1230
+ [kGetUsageInstance]() {
1231
+ return __classPrivateFieldGet(this, _YargsInstance_usage, "f");
1232
+ }
1233
+ [kGetValidationInstance]() {
1234
+ return __classPrivateFieldGet(this, _YargsInstance_validation, "f");
1235
+ }
1236
+ [kHasParseCallback]() {
1237
+ return !!__classPrivateFieldGet(this, _YargsInstance_parseFn, "f");
1238
+ }
1239
+ [kIsGlobalContext]() {
1240
+ return __classPrivateFieldGet(this, _YargsInstance_isGlobalContext, "f");
1241
+ }
1242
+ [kPostProcess](argv, populateDoubleDash, calledFromCommand, runGlobalMiddleware) {
1243
+ if (calledFromCommand)
1244
+ return argv;
1245
+ if (isPromise(argv))
1246
+ return argv;
1247
+ if (!populateDoubleDash) {
1248
+ argv = this[kCopyDoubleDash](argv);
1249
+ }
1250
+ const parsePositionalNumbers = this[kGetParserConfiguration]()['parse-positional-numbers'] ||
1251
+ this[kGetParserConfiguration]()['parse-positional-numbers'] === undefined;
1252
+ if (parsePositionalNumbers) {
1253
+ argv = this[kParsePositionalNumbers](argv);
1254
+ }
1255
+ if (runGlobalMiddleware) {
1256
+ argv = applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").getMiddleware(), false);
1257
+ }
1258
+ return argv;
1259
+ }
1260
+ [kReset](aliases = {}) {
1261
+ __classPrivateFieldSet(this, _YargsInstance_options, __classPrivateFieldGet(this, _YargsInstance_options, "f") || {}, "f");
1262
+ const tmpOptions = {};
1263
+ tmpOptions.local = __classPrivateFieldGet(this, _YargsInstance_options, "f").local || [];
1264
+ tmpOptions.configObjects = __classPrivateFieldGet(this, _YargsInstance_options, "f").configObjects || [];
1265
+ const localLookup = {};
1266
+ tmpOptions.local.forEach(l => {
1267
+ localLookup[l] = true;
1268
+ (aliases[l] || []).forEach(a => {
1269
+ localLookup[a] = true;
1270
+ });
1271
+ });
1272
+ Object.assign(__classPrivateFieldGet(this, _YargsInstance_preservedGroups, "f"), Object.keys(__classPrivateFieldGet(this, _YargsInstance_groups, "f")).reduce((acc, groupName) => {
1273
+ const keys = __classPrivateFieldGet(this, _YargsInstance_groups, "f")[groupName].filter(key => !(key in localLookup));
1274
+ if (keys.length > 0) {
1275
+ acc[groupName] = keys;
1276
+ }
1277
+ return acc;
1278
+ }, {}));
1279
+ __classPrivateFieldSet(this, _YargsInstance_groups, {}, "f");
1280
+ const arrayOptions = [
1281
+ 'array',
1282
+ 'boolean',
1283
+ 'string',
1284
+ 'skipValidation',
1285
+ 'count',
1286
+ 'normalize',
1287
+ 'number',
1288
+ 'hiddenOptions',
1289
+ ];
1290
+ const objectOptions = [
1291
+ 'narg',
1292
+ 'key',
1293
+ 'alias',
1294
+ 'default',
1295
+ 'defaultDescription',
1296
+ 'config',
1297
+ 'choices',
1298
+ 'demandedOptions',
1299
+ 'demandedCommands',
1300
+ 'deprecatedOptions',
1301
+ ];
1302
+ arrayOptions.forEach(k => {
1303
+ tmpOptions[k] = (__classPrivateFieldGet(this, _YargsInstance_options, "f")[k] || []).filter((k) => !localLookup[k]);
1304
+ });
1305
+ objectOptions.forEach((k) => {
1306
+ tmpOptions[k] = objFilter(__classPrivateFieldGet(this, _YargsInstance_options, "f")[k], k => !localLookup[k]);
1307
+ });
1308
+ tmpOptions.envPrefix = __classPrivateFieldGet(this, _YargsInstance_options, "f").envPrefix;
1309
+ __classPrivateFieldSet(this, _YargsInstance_options, tmpOptions, "f");
1310
+ __classPrivateFieldSet(this, _YargsInstance_usage, __classPrivateFieldGet(this, _YargsInstance_usage, "f")
1311
+ ? __classPrivateFieldGet(this, _YargsInstance_usage, "f").reset(localLookup)
1312
+ : Usage(this, __classPrivateFieldGet(this, _YargsInstance_shim, "f")), "f");
1313
+ __classPrivateFieldSet(this, _YargsInstance_validation, __classPrivateFieldGet(this, _YargsInstance_validation, "f")
1314
+ ? __classPrivateFieldGet(this, _YargsInstance_validation, "f").reset(localLookup)
1315
+ : Validation(this, __classPrivateFieldGet(this, _YargsInstance_usage, "f"), __classPrivateFieldGet(this, _YargsInstance_shim, "f")), "f");
1316
+ __classPrivateFieldSet(this, _YargsInstance_command, __classPrivateFieldGet(this, _YargsInstance_command, "f")
1317
+ ? __classPrivateFieldGet(this, _YargsInstance_command, "f").reset()
1318
+ : Command(__classPrivateFieldGet(this, _YargsInstance_usage, "f"), __classPrivateFieldGet(this, _YargsInstance_validation, "f"), __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f"), __classPrivateFieldGet(this, _YargsInstance_shim, "f")), "f");
1319
+ if (!__classPrivateFieldGet(this, _YargsInstance_completion, "f"))
1320
+ __classPrivateFieldSet(this, _YargsInstance_completion, Completion(this, __classPrivateFieldGet(this, _YargsInstance_usage, "f"), __classPrivateFieldGet(this, _YargsInstance_command, "f"), __classPrivateFieldGet(this, _YargsInstance_shim, "f")), "f");
1321
+ __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").reset();
1322
+ __classPrivateFieldSet(this, _YargsInstance_completionCommand, null, "f");
1323
+ __classPrivateFieldSet(this, _YargsInstance_output, '', "f");
1324
+ __classPrivateFieldSet(this, _YargsInstance_exitError, null, "f");
1325
+ __classPrivateFieldSet(this, _YargsInstance_hasOutput, false, "f");
1326
+ this.parsed = false;
1327
+ return this;
1328
+ }
1329
+ [kRebase](base, dir) {
1330
+ return __classPrivateFieldGet(this, _YargsInstance_shim, "f").path.relative(base, dir);
1331
+ }
1332
+ [kRunYargsParserAndExecuteCommands](args, shortCircuit, calledFromCommand, commandIndex = 0, helpOnly = false) {
1333
+ let skipValidation = !!calledFromCommand || helpOnly;
1334
+ args = args || __classPrivateFieldGet(this, _YargsInstance_processArgs, "f");
1335
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").__ = __classPrivateFieldGet(this, _YargsInstance_shim, "f").y18n.__;
1336
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").configuration = this[kGetParserConfiguration]();
1337
+ const populateDoubleDash = !!__classPrivateFieldGet(this, _YargsInstance_options, "f").configuration['populate--'];
1338
+ const config = Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_options, "f").configuration, {
956
1339
  'populate--': true,
957
1340
  });
958
- const parsed = shim.Parser.detailed(args, Object.assign({}, options, {
959
- configuration: Object.assign({ 'parse-positional-numbers': false }, config),
1341
+ const parsed = __classPrivateFieldGet(this, _YargsInstance_shim, "f").Parser.detailed(args, Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_options, "f"), {
1342
+ configuration: { 'parse-positional-numbers': false, ...config },
960
1343
  }));
961
- let argv = parsed.argv;
962
- if (parseContext)
963
- argv = Object.assign({}, argv, parseContext);
1344
+ const argv = Object.assign(parsed.argv, __classPrivateFieldGet(this, _YargsInstance_parseContext, "f"));
1345
+ let argvPromise = undefined;
964
1346
  const aliases = parsed.aliases;
965
- argv.$0 = self.$0;
966
- self.parsed = parsed;
1347
+ let helpOptSet = false;
1348
+ let versionOptSet = false;
1349
+ Object.keys(argv).forEach(key => {
1350
+ if (key === __classPrivateFieldGet(this, _YargsInstance_helpOpt, "f") && argv[key]) {
1351
+ helpOptSet = true;
1352
+ }
1353
+ else if (key === __classPrivateFieldGet(this, _YargsInstance_versionOpt, "f") && argv[key]) {
1354
+ versionOptSet = true;
1355
+ }
1356
+ });
1357
+ argv.$0 = this.$0;
1358
+ this.parsed = parsed;
1359
+ if (commandIndex === 0) {
1360
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").clearCachedHelpMessage();
1361
+ }
967
1362
  try {
968
- guessLocale();
1363
+ this[kGuessLocale]();
969
1364
  if (shortCircuit) {
970
- return self._postProcess(argv, populateDoubleDash, _calledFromCommand);
1365
+ return this[kPostProcess](argv, populateDoubleDash, !!calledFromCommand, false);
971
1366
  }
972
- if (helpOpt) {
973
- const helpCmds = [helpOpt]
974
- .concat(aliases[helpOpt] || [])
1367
+ if (__classPrivateFieldGet(this, _YargsInstance_helpOpt, "f")) {
1368
+ const helpCmds = [__classPrivateFieldGet(this, _YargsInstance_helpOpt, "f")]
1369
+ .concat(aliases[__classPrivateFieldGet(this, _YargsInstance_helpOpt, "f")] || [])
975
1370
  .filter(k => k.length > 1);
976
- if (~helpCmds.indexOf('' + argv._[argv._.length - 1])) {
1371
+ if (helpCmds.includes('' + argv._[argv._.length - 1])) {
977
1372
  argv._.pop();
978
- argv[helpOpt] = true;
1373
+ helpOptSet = true;
979
1374
  }
980
1375
  }
981
- const handlerKeys = command.getCommands();
982
- const requestCompletions = completion.completionKey in argv;
983
- const skipRecommendation = argv[helpOpt] || requestCompletions;
984
- const skipDefaultCommand = skipRecommendation &&
985
- (handlerKeys.length > 1 || handlerKeys[0] !== '$0');
1376
+ __classPrivateFieldSet(this, _YargsInstance_isGlobalContext, false, "f");
1377
+ const handlerKeys = __classPrivateFieldGet(this, _YargsInstance_command, "f").getCommands();
1378
+ const requestCompletions = __classPrivateFieldGet(this, _YargsInstance_completion, "f").completionKey in argv;
1379
+ const skipRecommendation = helpOptSet || requestCompletions || helpOnly;
986
1380
  if (argv._.length) {
987
1381
  if (handlerKeys.length) {
988
1382
  let firstUnknownCommand;
989
1383
  for (let i = commandIndex || 0, cmd; argv._[i] !== undefined; i++) {
990
1384
  cmd = String(argv._[i]);
991
- if (~handlerKeys.indexOf(cmd) && cmd !== completionCommand) {
992
- const innerArgv = command.runCommand(cmd, self, parsed, i + 1);
993
- return self._postProcess(innerArgv, populateDoubleDash);
1385
+ if (handlerKeys.includes(cmd) && cmd !== __classPrivateFieldGet(this, _YargsInstance_completionCommand, "f")) {
1386
+ const innerArgv = __classPrivateFieldGet(this, _YargsInstance_command, "f").runCommand(cmd, this, parsed, i + 1, helpOnly, helpOptSet || versionOptSet || helpOnly);
1387
+ return this[kPostProcess](innerArgv, populateDoubleDash, !!calledFromCommand, false);
994
1388
  }
995
- else if (!firstUnknownCommand && cmd !== completionCommand) {
1389
+ else if (!firstUnknownCommand &&
1390
+ cmd !== __classPrivateFieldGet(this, _YargsInstance_completionCommand, "f")) {
996
1391
  firstUnknownCommand = cmd;
997
1392
  break;
998
1393
  }
999
1394
  }
1000
- if (command.hasDefaultCommand() && !skipDefaultCommand) {
1001
- const innerArgv = command.runCommand(null, self, parsed);
1002
- return self._postProcess(innerArgv, populateDoubleDash);
1003
- }
1004
- if (recommendCommands && firstUnknownCommand && !skipRecommendation) {
1005
- validation.recommendCommands(firstUnknownCommand, handlerKeys);
1395
+ if (!__classPrivateFieldGet(this, _YargsInstance_command, "f").hasDefaultCommand() &&
1396
+ __classPrivateFieldGet(this, _YargsInstance_recommendCommands, "f") &&
1397
+ firstUnknownCommand &&
1398
+ !skipRecommendation) {
1399
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").recommendCommands(firstUnknownCommand, handlerKeys);
1006
1400
  }
1007
1401
  }
1008
- if (completionCommand &&
1009
- ~argv._.indexOf(completionCommand) &&
1402
+ if (__classPrivateFieldGet(this, _YargsInstance_completionCommand, "f") &&
1403
+ argv._.includes(__classPrivateFieldGet(this, _YargsInstance_completionCommand, "f")) &&
1010
1404
  !requestCompletions) {
1011
- if (exitProcess)
1405
+ if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, "f"))
1012
1406
  setBlocking(true);
1013
- self.showCompletionScript();
1014
- self.exit(0);
1407
+ this.showCompletionScript();
1408
+ this.exit(0);
1015
1409
  }
1016
1410
  }
1017
- else if (command.hasDefaultCommand() && !skipDefaultCommand) {
1018
- const innerArgv = command.runCommand(null, self, parsed);
1019
- return self._postProcess(innerArgv, populateDoubleDash);
1411
+ if (__classPrivateFieldGet(this, _YargsInstance_command, "f").hasDefaultCommand() && !skipRecommendation) {
1412
+ const innerArgv = __classPrivateFieldGet(this, _YargsInstance_command, "f").runCommand(null, this, parsed, 0, helpOnly, helpOptSet || versionOptSet || helpOnly);
1413
+ return this[kPostProcess](innerArgv, populateDoubleDash, !!calledFromCommand, false);
1020
1414
  }
1021
1415
  if (requestCompletions) {
1022
- if (exitProcess)
1416
+ if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, "f"))
1023
1417
  setBlocking(true);
1024
1418
  args = [].concat(args);
1025
- const completionArgs = args.slice(args.indexOf(`--${completion.completionKey}`) + 1);
1026
- completion.getCompletion(completionArgs, completions => {
1419
+ const completionArgs = args.slice(args.indexOf(`--${__classPrivateFieldGet(this, _YargsInstance_completion, "f").completionKey}`) + 1);
1420
+ __classPrivateFieldGet(this, _YargsInstance_completion, "f").getCompletion(completionArgs, (err, completions) => {
1421
+ if (err)
1422
+ throw new YError(err.message);
1027
1423
  (completions || []).forEach(completion => {
1028
- _logger.log(completion);
1424
+ __classPrivateFieldGet(this, _YargsInstance_logger, "f").log(completion);
1029
1425
  });
1030
- self.exit(0);
1426
+ this.exit(0);
1031
1427
  });
1032
- return self._postProcess(argv, !populateDoubleDash, _calledFromCommand);
1428
+ return this[kPostProcess](argv, !populateDoubleDash, !!calledFromCommand, false);
1033
1429
  }
1034
- if (!hasOutput) {
1035
- Object.keys(argv).forEach(key => {
1036
- if (key === helpOpt && argv[key]) {
1037
- if (exitProcess)
1038
- setBlocking(true);
1039
- skipValidation = true;
1040
- self.showHelp('log');
1041
- self.exit(0);
1042
- }
1043
- else if (key === versionOpt && argv[key]) {
1044
- if (exitProcess)
1045
- setBlocking(true);
1046
- skipValidation = true;
1047
- usage.showVersion();
1048
- self.exit(0);
1049
- }
1050
- });
1430
+ if (!__classPrivateFieldGet(this, _YargsInstance_hasOutput, "f")) {
1431
+ if (helpOptSet) {
1432
+ if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, "f"))
1433
+ setBlocking(true);
1434
+ skipValidation = true;
1435
+ this.showHelp('log');
1436
+ this.exit(0);
1437
+ }
1438
+ else if (versionOptSet) {
1439
+ if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, "f"))
1440
+ setBlocking(true);
1441
+ skipValidation = true;
1442
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").showVersion('log');
1443
+ this.exit(0);
1444
+ }
1051
1445
  }
1052
- if (!skipValidation && options.skipValidation.length > 0) {
1053
- skipValidation = Object.keys(argv).some(key => options.skipValidation.indexOf(key) >= 0 && argv[key] === true);
1446
+ if (!skipValidation && __classPrivateFieldGet(this, _YargsInstance_options, "f").skipValidation.length > 0) {
1447
+ skipValidation = Object.keys(argv).some(key => __classPrivateFieldGet(this, _YargsInstance_options, "f").skipValidation.indexOf(key) >= 0 && argv[key] === true);
1054
1448
  }
1055
1449
  if (!skipValidation) {
1056
1450
  if (parsed.error)
1057
1451
  throw new YError(parsed.error.message);
1058
1452
  if (!requestCompletions) {
1059
- self._runValidation(argv, aliases, {}, parsed.error);
1453
+ const validation = this[kRunValidation](aliases, {}, parsed.error);
1454
+ if (!calledFromCommand) {
1455
+ argvPromise = applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").getMiddleware(), true);
1456
+ }
1457
+ argvPromise = this[kValidateAsync](validation, argvPromise !== null && argvPromise !== void 0 ? argvPromise : argv);
1458
+ if (isPromise(argvPromise) && !calledFromCommand) {
1459
+ argvPromise = argvPromise.then(() => {
1460
+ return applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").getMiddleware(), false);
1461
+ });
1462
+ }
1060
1463
  }
1061
1464
  }
1062
1465
  }
1063
1466
  catch (err) {
1064
1467
  if (err instanceof YError)
1065
- usage.fail(err.message, err);
1468
+ __classPrivateFieldGet(this, _YargsInstance_usage, "f").fail(err.message, err);
1066
1469
  else
1067
1470
  throw err;
1068
1471
  }
1069
- return self._postProcess(argv, populateDoubleDash, _calledFromCommand);
1070
- };
1071
- self._postProcess = function (argv, populateDoubleDash, calledFromCommand = false) {
1072
- if (isPromise(argv))
1073
- return argv;
1074
- if (calledFromCommand)
1075
- return argv;
1076
- if (!populateDoubleDash) {
1077
- argv = self._copyDoubleDash(argv);
1078
- }
1079
- const parsePositionalNumbers = self.getParserConfiguration()['parse-positional-numbers'] ||
1080
- self.getParserConfiguration()['parse-positional-numbers'] === undefined;
1081
- if (parsePositionalNumbers) {
1082
- argv = self._parsePositionalNumbers(argv);
1083
- }
1084
- return argv;
1085
- };
1086
- self._copyDoubleDash = function (argv) {
1087
- if (!argv._ || !argv['--'])
1088
- return argv;
1089
- argv._.push.apply(argv._, argv['--']);
1090
- try {
1091
- delete argv['--'];
1092
- }
1093
- catch (_err) { }
1094
- return argv;
1095
- };
1096
- self._parsePositionalNumbers = function (argv) {
1097
- const args = argv['--'] ? argv['--'] : argv._;
1098
- for (let i = 0, arg; (arg = args[i]) !== undefined; i++) {
1099
- if (shim.Parser.looksLikeNumber(arg) &&
1100
- Number.isSafeInteger(Math.floor(parseFloat(`${arg}`)))) {
1101
- args[i] = Number(arg);
1472
+ return this[kPostProcess](argvPromise !== null && argvPromise !== void 0 ? argvPromise : argv, populateDoubleDash, !!calledFromCommand, true);
1473
+ }
1474
+ [kRunValidation](aliases, positionalMap, parseErrors, isDefaultCommand) {
1475
+ const demandedOptions = { ...this.getDemandedOptions() };
1476
+ return (argv) => {
1477
+ if (parseErrors)
1478
+ throw new YError(parseErrors.message);
1479
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").nonOptionCount(argv);
1480
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").requiredArguments(argv, demandedOptions);
1481
+ let failedStrictCommands = false;
1482
+ if (__classPrivateFieldGet(this, _YargsInstance_strictCommands, "f")) {
1483
+ failedStrictCommands = __classPrivateFieldGet(this, _YargsInstance_validation, "f").unknownCommands(argv);
1102
1484
  }
1485
+ if (__classPrivateFieldGet(this, _YargsInstance_strict, "f") && !failedStrictCommands) {
1486
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").unknownArguments(argv, aliases, positionalMap, !!isDefaultCommand);
1487
+ }
1488
+ else if (__classPrivateFieldGet(this, _YargsInstance_strictOptions, "f")) {
1489
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").unknownArguments(argv, aliases, {}, false, false);
1490
+ }
1491
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").limitedChoices(argv);
1492
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").implications(argv);
1493
+ __classPrivateFieldGet(this, _YargsInstance_validation, "f").conflicting(argv);
1494
+ };
1495
+ }
1496
+ [kSetHasOutput]() {
1497
+ __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, "f");
1498
+ }
1499
+ [kTrackManuallySetKeys](keys) {
1500
+ if (typeof keys === 'string') {
1501
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").key[keys] = true;
1103
1502
  }
1104
- return argv;
1105
- };
1106
- self._runValidation = function runValidation(argv, aliases, positionalMap, parseErrors, isDefaultCommand = false) {
1107
- if (parseErrors)
1108
- throw new YError(parseErrors.message);
1109
- validation.nonOptionCount(argv);
1110
- validation.requiredArguments(argv);
1111
- let failedStrictCommands = false;
1112
- if (strictCommands) {
1113
- failedStrictCommands = validation.unknownCommands(argv);
1114
- }
1115
- if (strict && !failedStrictCommands) {
1116
- validation.unknownArguments(argv, aliases, positionalMap, isDefaultCommand);
1117
- }
1118
- else if (strictOptions) {
1119
- validation.unknownArguments(argv, aliases, {}, false, false);
1503
+ else {
1504
+ for (const k of keys) {
1505
+ __classPrivateFieldGet(this, _YargsInstance_options, "f").key[k] = true;
1506
+ }
1120
1507
  }
1121
- validation.customChecks(argv, aliases);
1122
- validation.limitedChoices(argv);
1123
- validation.implications(argv);
1124
- validation.conflicting(argv);
1125
- };
1126
- function guessLocale() {
1127
- if (!detectLocale)
1128
- return;
1129
- const locale = shim.getEnv('LC_ALL') ||
1130
- shim.getEnv('LC_MESSAGES') ||
1131
- shim.getEnv('LANG') ||
1132
- shim.getEnv('LANGUAGE') ||
1133
- 'en_US';
1134
- self.locale(locale.replace(/[.:].*/, ''));
1135
1508
  }
1136
- self.help();
1137
- self.version();
1138
- return self;
1139
1509
  }
1140
- export const rebase = (base, dir) => shim.path.relative(base, dir);
1141
1510
  export function isYargsInstance(y) {
1142
- return !!y && typeof y._parseArgs === 'function';
1511
+ return !!y && typeof y.getInternalMethods === 'function';
1143
1512
  }