@oclif/core 3.0.0-beta.9 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/flush.d.ts +3 -0
- package/flush.js +1 -0
- package/handle.js +1 -0
- package/lib/args.d.ts +2 -2
- package/lib/args.js +17 -18
- package/lib/{ux → cli-ux}/action/base.d.ts +19 -21
- package/lib/{ux → cli-ux}/action/base.js +126 -120
- package/lib/{ux → cli-ux}/action/simple.js +25 -30
- package/lib/{ux → cli-ux}/action/spinner.d.ts +9 -7
- package/lib/{ux → cli-ux}/action/spinner.js +45 -37
- package/lib/{ux → cli-ux}/action/spinners.js +187 -187
- package/lib/cli-ux/action/types.d.ts +5 -0
- package/lib/cli-ux/action/types.js +2 -0
- package/lib/{ux → cli-ux}/config.d.ts +5 -5
- package/lib/{ux → cli-ux}/config.js +17 -17
- package/lib/{ux → cli-ux}/exit.js +3 -0
- package/lib/cli-ux/flush.d.ts +1 -0
- package/lib/cli-ux/flush.js +28 -0
- package/lib/cli-ux/index.d.ts +39 -0
- package/lib/{ux → cli-ux}/index.js +74 -88
- package/lib/{ux → cli-ux}/list.js +3 -3
- package/lib/{ux → cli-ux}/prompt.d.ts +3 -3
- package/lib/{ux → cli-ux}/prompt.js +35 -25
- package/lib/{ux → cli-ux}/stream.d.ts +6 -6
- package/lib/{ux → cli-ux}/stream.js +11 -10
- package/lib/cli-ux/styled/index.d.ts +4 -0
- package/lib/cli-ux/styled/index.js +11 -0
- package/lib/{ux → cli-ux}/styled/object.js +7 -9
- package/lib/{ux → cli-ux}/styled/table.d.ts +10 -10
- package/lib/{ux → cli-ux}/styled/table.js +130 -133
- package/lib/{ux → cli-ux}/styled/tree.js +11 -13
- package/lib/cli-ux/wait.js +5 -0
- package/lib/command.d.ts +82 -88
- package/lib/command.js +196 -175
- package/lib/config/config.d.ts +89 -90
- package/lib/config/config.js +466 -566
- package/lib/config/index.d.ts +0 -1
- package/lib/config/index.js +1 -3
- package/lib/config/plugin-loader.d.ts +12 -12
- package/lib/config/plugin-loader.js +72 -56
- package/lib/config/plugin.d.ts +25 -24
- package/lib/config/plugin.js +188 -154
- package/lib/config/ts-node.d.ts +2 -1
- package/lib/config/ts-node.js +71 -58
- package/lib/config/util.d.ts +1 -11
- package/lib/config/util.js +6 -59
- package/lib/errors/config.d.ts +1 -1
- package/lib/errors/config.js +6 -6
- package/lib/errors/errors/cli.d.ts +7 -7
- package/lib/errors/errors/cli.js +20 -16
- package/lib/errors/errors/exit.d.ts +1 -4
- package/lib/errors/errors/exit.js +1 -1
- package/lib/errors/errors/module-load.d.ts +1 -4
- package/lib/errors/errors/module-load.js +1 -1
- package/lib/errors/errors/pretty-print.d.ts +1 -1
- package/lib/errors/errors/pretty-print.js +12 -10
- package/lib/errors/handle.d.ts +12 -2
- package/lib/errors/handle.js +26 -14
- package/lib/errors/index.d.ts +10 -10
- package/lib/errors/index.js +25 -24
- package/lib/errors/logger.d.ts +2 -2
- package/lib/errors/logger.js +14 -13
- package/lib/execute.d.ts +6 -6
- package/lib/execute.js +10 -9
- package/lib/flags.d.ts +103 -32
- package/lib/flags.js +79 -45
- package/lib/help/command.d.ts +16 -14
- package/lib/help/command.js +178 -163
- package/lib/help/docopts.d.ts +5 -5
- package/lib/help/docopts.js +50 -54
- package/lib/help/formatter.d.ts +37 -37
- package/lib/help/formatter.js +66 -55
- package/lib/help/index.d.ts +25 -21
- package/lib/help/index.js +169 -147
- package/lib/help/root.d.ts +1 -1
- package/lib/help/root.js +15 -17
- package/lib/help/util.d.ts +2 -8
- package/lib/help/util.js +8 -28
- package/lib/index.d.ts +19 -20
- package/lib/index.js +37 -43
- package/lib/interfaces/config.d.ts +67 -66
- package/lib/interfaces/errors.d.ts +5 -5
- package/lib/interfaces/help.d.ts +17 -17
- package/lib/interfaces/hooks.d.ts +49 -49
- package/lib/interfaces/index.d.ts +7 -7
- package/lib/interfaces/manifest.d.ts +1 -1
- package/lib/interfaces/parser.d.ts +175 -51
- package/lib/interfaces/pjson.d.ts +45 -41
- package/lib/interfaces/plugin.d.ts +47 -41
- package/lib/interfaces/s3-manifest.d.ts +7 -7
- package/lib/interfaces/topic.d.ts +1 -1
- package/lib/interfaces/ts-config.d.ts +7 -7
- package/lib/main.d.ts +2 -2
- package/lib/main.js +16 -16
- package/lib/module-loader.d.ts +67 -77
- package/lib/module-loader.js +183 -150
- package/lib/parser/errors.d.ts +7 -7
- package/lib/parser/errors.js +29 -22
- package/lib/parser/help.js +5 -5
- package/lib/parser/index.js +2 -2
- package/lib/parser/parse.d.ts +9 -6
- package/lib/parser/parse.js +253 -221
- package/lib/parser/validate.js +53 -33
- package/lib/performance.d.ts +43 -32
- package/lib/performance.js +133 -91
- package/lib/screen.js +2 -2
- package/lib/settings.d.ts +11 -12
- package/lib/settings.js +2 -2
- package/lib/util/aggregate-flags.d.ts +2 -0
- package/lib/util/aggregate-flags.js +13 -0
- package/lib/util/cache-command.d.ts +3 -0
- package/lib/util/cache-command.js +109 -0
- package/lib/util/cache-default-value.d.ts +2 -0
- package/lib/util/cache-default-value.js +28 -0
- package/lib/util/ensure-arg-object.d.ts +12 -0
- package/lib/util/ensure-arg-object.js +14 -0
- package/lib/util/fs.d.ts +7 -0
- package/lib/util/fs.js +54 -0
- package/lib/util/os.d.ts +19 -0
- package/lib/util/os.js +28 -0
- package/lib/{util.d.ts → util/util.d.ts} +7 -16
- package/lib/util/util.js +98 -0
- package/package.json +35 -37
- package/lib/util.js +0 -126
- package/lib/ux/flush.d.ts +0 -1
- package/lib/ux/flush.js +0 -27
- package/lib/ux/index.d.ts +0 -58
- package/lib/ux/styled/index.d.ts +0 -6
- package/lib/ux/styled/index.js +0 -13
- package/lib/ux/styled/json.d.ts +0 -1
- package/lib/ux/styled/json.js +0 -15
- package/lib/ux/wait.js +0 -7
- package/lib/{ux → cli-ux}/action/simple.d.ts +4 -4
- package/lib/{ux → cli-ux}/action/spinners.d.ts +117 -117
- package/lib/{ux → cli-ux}/exit.d.ts +2 -2
- package/lib/{ux → cli-ux}/list.d.ts +0 -0
- package/lib/{ux → cli-ux}/styled/object.d.ts +0 -0
- package/lib/{ux → cli-ux}/styled/progress.d.ts +0 -0
- package/lib/{ux → cli-ux}/styled/progress.js +0 -0
- package/lib/{ux → cli-ux}/styled/tree.d.ts +1 -1
- /package/lib/{ux → cli-ux}/wait.d.ts +0 -0
package/lib/parser/errors.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FailedFlagValidationError = exports.ArgInvalidOptionError = exports.FlagInvalidOptionError = exports.NonExistentFlagsError = exports.UnexpectedArgsError = exports.RequiredFlagError = exports.RequiredArgsError = exports.InvalidArgsSpecError = exports.CLIParseError = exports.CLIError = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const list_1 = require("../cli-ux/list");
|
|
4
7
|
const errors_1 = require("../errors");
|
|
8
|
+
const util_1 = require("../util/util");
|
|
5
9
|
const help_1 = require("./help");
|
|
6
|
-
const list_1 = require("../ux/list");
|
|
7
|
-
const chalk = require("chalk");
|
|
8
|
-
const util_1 = require("../config/util");
|
|
9
10
|
var errors_2 = require("../errors");
|
|
10
11
|
Object.defineProperty(exports, "CLIError", { enumerable: true, get: function () { return errors_2.CLIError; } });
|
|
11
12
|
class CLIParseError extends errors_1.CLIError {
|
|
13
|
+
parse;
|
|
12
14
|
constructor(options) {
|
|
13
15
|
options.message += '\nSee more help with --help';
|
|
14
16
|
super(options.message);
|
|
@@ -17,57 +19,62 @@ class CLIParseError extends errors_1.CLIError {
|
|
|
17
19
|
}
|
|
18
20
|
exports.CLIParseError = CLIParseError;
|
|
19
21
|
class InvalidArgsSpecError extends CLIParseError {
|
|
22
|
+
args;
|
|
20
23
|
constructor({ args, parse }) {
|
|
21
24
|
let message = 'Invalid argument spec';
|
|
22
|
-
const namedArgs = Object.values(args).filter(a => a.name);
|
|
25
|
+
const namedArgs = Object.values(args).filter((a) => a.name);
|
|
23
26
|
if (namedArgs.length > 0) {
|
|
24
|
-
const list = (0, list_1.renderList)(namedArgs.map(a => [`${a.name} (${a.required ? 'required' : 'optional'})`, a.description]));
|
|
27
|
+
const list = (0, list_1.renderList)(namedArgs.map((a) => [`${a.name} (${a.required ? 'required' : 'optional'})`, a.description]));
|
|
25
28
|
message += `:\n${list}`;
|
|
26
29
|
}
|
|
27
|
-
super({
|
|
30
|
+
super({ message, parse });
|
|
28
31
|
this.args = args;
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
exports.InvalidArgsSpecError = InvalidArgsSpecError;
|
|
32
35
|
class RequiredArgsError extends CLIParseError {
|
|
33
|
-
|
|
36
|
+
args;
|
|
37
|
+
constructor({ args, flagsWithMultiple, parse, }) {
|
|
34
38
|
let message = `Missing ${args.length} required arg${args.length === 1 ? '' : 's'}`;
|
|
35
|
-
const namedArgs = args.filter(a => a.name);
|
|
39
|
+
const namedArgs = args.filter((a) => a.name);
|
|
36
40
|
if (namedArgs.length > 0) {
|
|
37
|
-
const list = (0, list_1.renderList)(namedArgs.map(a => [a.name, a.description]));
|
|
41
|
+
const list = (0, list_1.renderList)(namedArgs.map((a) => [a.name, a.description]));
|
|
38
42
|
message += `:\n${list}`;
|
|
39
43
|
}
|
|
40
44
|
if (flagsWithMultiple?.length) {
|
|
41
|
-
const flags = flagsWithMultiple.map(f => `--${f}`).join(', ');
|
|
45
|
+
const flags = flagsWithMultiple.map((f) => `--${f}`).join(', ');
|
|
42
46
|
message += `\n\nNote: ${flags} allow${flagsWithMultiple.length === 1 ? 's' : ''} multiple values. Because of this you need to provide all arguments before providing ${flagsWithMultiple.length === 1 ? 'that flag' : 'those flags'}.`;
|
|
43
47
|
message += '\nAlternatively, you can use "--" to signify the end of the flags and the beginning of arguments.';
|
|
44
48
|
}
|
|
45
|
-
super({
|
|
49
|
+
super({ message, parse });
|
|
46
50
|
this.args = args;
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
exports.RequiredArgsError = RequiredArgsError;
|
|
50
54
|
class RequiredFlagError extends CLIParseError {
|
|
55
|
+
flag;
|
|
51
56
|
constructor({ flag, parse }) {
|
|
52
57
|
const usage = (0, list_1.renderList)((0, help_1.flagUsages)([flag], { displayRequired: false }));
|
|
53
58
|
const message = `Missing required flag:\n${usage}`;
|
|
54
|
-
super({
|
|
59
|
+
super({ message, parse });
|
|
55
60
|
this.flag = flag;
|
|
56
61
|
}
|
|
57
62
|
}
|
|
58
63
|
exports.RequiredFlagError = RequiredFlagError;
|
|
59
64
|
class UnexpectedArgsError extends CLIParseError {
|
|
60
|
-
|
|
65
|
+
args;
|
|
66
|
+
constructor({ args, parse }) {
|
|
61
67
|
const message = `Unexpected argument${args.length === 1 ? '' : 's'}: ${args.join(', ')}`;
|
|
62
|
-
super({
|
|
68
|
+
super({ message, parse });
|
|
63
69
|
this.args = args;
|
|
64
70
|
}
|
|
65
71
|
}
|
|
66
72
|
exports.UnexpectedArgsError = UnexpectedArgsError;
|
|
67
73
|
class NonExistentFlagsError extends CLIParseError {
|
|
68
|
-
|
|
74
|
+
flags;
|
|
75
|
+
constructor({ flags, parse }) {
|
|
69
76
|
const message = `Nonexistent flag${flags.length === 1 ? '' : 's'}: ${flags.join(', ')}`;
|
|
70
|
-
super({
|
|
77
|
+
super({ message, parse });
|
|
71
78
|
this.flags = flags;
|
|
72
79
|
}
|
|
73
80
|
}
|
|
@@ -75,24 +82,24 @@ exports.NonExistentFlagsError = NonExistentFlagsError;
|
|
|
75
82
|
class FlagInvalidOptionError extends CLIParseError {
|
|
76
83
|
constructor(flag, input) {
|
|
77
84
|
const message = `Expected --${flag.name}=${input} to be one of: ${flag.options.join(', ')}`;
|
|
78
|
-
super({ parse: {}
|
|
85
|
+
super({ message, parse: {} });
|
|
79
86
|
}
|
|
80
87
|
}
|
|
81
88
|
exports.FlagInvalidOptionError = FlagInvalidOptionError;
|
|
82
89
|
class ArgInvalidOptionError extends CLIParseError {
|
|
83
90
|
constructor(arg, input) {
|
|
84
91
|
const message = `Expected ${input} to be one of: ${arg.options.join(', ')}`;
|
|
85
|
-
super({ parse: {}
|
|
92
|
+
super({ message, parse: {} });
|
|
86
93
|
}
|
|
87
94
|
}
|
|
88
95
|
exports.ArgInvalidOptionError = ArgInvalidOptionError;
|
|
89
96
|
class FailedFlagValidationError extends CLIParseError {
|
|
90
|
-
constructor({
|
|
91
|
-
const reasons = failed.map(r => r.reason);
|
|
97
|
+
constructor({ failed, parse }) {
|
|
98
|
+
const reasons = failed.map((r) => r.reason);
|
|
92
99
|
const deduped = (0, util_1.uniq)(reasons);
|
|
93
100
|
const errString = deduped.length === 1 ? 'error' : 'errors';
|
|
94
|
-
const message = `The following ${errString} occurred:\n ${
|
|
95
|
-
super({
|
|
101
|
+
const message = `The following ${errString} occurred:\n ${chalk_1.default.dim(deduped.join('\n '))}`;
|
|
102
|
+
super({ message, parse });
|
|
96
103
|
}
|
|
97
104
|
}
|
|
98
105
|
exports.FailedFlagValidationError = FailedFlagValidationError;
|
package/lib/parser/help.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.flagUsages = exports.flagUsage = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const util_1 = require("../util/util");
|
|
6
7
|
function flagUsage(flag, options = {}) {
|
|
7
8
|
const label = [];
|
|
8
9
|
if (flag.helpLabel) {
|
|
@@ -18,14 +19,13 @@ function flagUsage(flag, options = {}) {
|
|
|
18
19
|
let description = flag.summary || flag.description || '';
|
|
19
20
|
if (options.displayRequired && flag.required)
|
|
20
21
|
description = `(required) ${description}`;
|
|
21
|
-
description = description ?
|
|
22
|
+
description = description ? chalk_1.default.dim(description) : undefined;
|
|
22
23
|
return [` ${label.join(',').trim()}${usage}`, description];
|
|
23
24
|
}
|
|
24
25
|
exports.flagUsage = flagUsage;
|
|
25
26
|
function flagUsages(flags, options = {}) {
|
|
26
27
|
if (flags.length === 0)
|
|
27
28
|
return [];
|
|
28
|
-
return (0, util_1.sortBy)(flags, f => [f.char ? -1 : 1, f.char, f.name])
|
|
29
|
-
.map(f => flagUsage(f, options));
|
|
29
|
+
return (0, util_1.sortBy)(flags, (f) => [f.char ? -1 : 1, f.char, f.name]).map((f) => flagUsage(f, options));
|
|
30
30
|
}
|
|
31
31
|
exports.flagUsages = flagUsages;
|
package/lib/parser/index.js
CHANGED
|
@@ -7,11 +7,11 @@ var help_1 = require("./help");
|
|
|
7
7
|
Object.defineProperty(exports, "flagUsages", { enumerable: true, get: function () { return help_1.flagUsages; } });
|
|
8
8
|
async function parse(argv, options) {
|
|
9
9
|
const input = {
|
|
10
|
+
'--': options['--'],
|
|
11
|
+
args: (options.args ?? {}),
|
|
10
12
|
argv,
|
|
11
13
|
context: options.context,
|
|
12
|
-
'--': options['--'],
|
|
13
14
|
flags: (options.flags ?? {}),
|
|
14
|
-
args: (options.args ?? {}),
|
|
15
15
|
strict: options.strict !== false,
|
|
16
16
|
};
|
|
17
17
|
const parser = new parse_1.Parser(input);
|
package/lib/parser/parse.d.ts
CHANGED
|
@@ -2,18 +2,21 @@ import { OutputArgs, OutputFlags, ParserInput, ParserOutput } from '../interface
|
|
|
2
2
|
export declare class Parser<T extends ParserInput, TFlags extends OutputFlags<T['flags']>, BFlags extends OutputFlags<T['flags']>, TArgs extends OutputArgs<T['args']>> {
|
|
3
3
|
private readonly input;
|
|
4
4
|
private readonly argv;
|
|
5
|
-
private readonly raw;
|
|
6
5
|
private readonly booleanFlags;
|
|
7
|
-
private readonly flagAliases;
|
|
8
6
|
private readonly context;
|
|
9
7
|
private currentFlag?;
|
|
8
|
+
private readonly flagAliases;
|
|
9
|
+
private readonly raw;
|
|
10
10
|
constructor(input: T);
|
|
11
|
-
|
|
12
|
-
private _flags;
|
|
11
|
+
private get _argTokens();
|
|
13
12
|
private _args;
|
|
14
|
-
private _debugOutput;
|
|
15
13
|
private _debugInput;
|
|
16
|
-
private
|
|
14
|
+
private _debugOutput;
|
|
15
|
+
private _flags;
|
|
17
16
|
private _setNames;
|
|
17
|
+
private findFlag;
|
|
18
|
+
private findLongFlag;
|
|
19
|
+
private findShortFlag;
|
|
18
20
|
private mapAndValidateFlags;
|
|
21
|
+
parse(): Promise<ParserOutput<TFlags, BFlags, TArgs>>;
|
|
19
22
|
}
|