cli-kit 5.0.1 → 5.1.0
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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +2 -2
- data/.ruby-version +1 -1
- data/Gemfile.lock +44 -41
- data/cli-kit.gemspec +1 -1
- data/dev.yml +3 -1
- data/lib/cli/kit/args/evaluation.rb +1 -1
- data/lib/cli/kit/command_help.rb +1 -1
- data/lib/cli/kit/error_handler.rb +2 -2
- data/lib/cli/kit/opts.rb +10 -3
- data/lib/cli/kit/parse_args.rb +7 -2
- data/lib/cli/kit/version.rb +1 -1
- metadata +5 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d726194921593173c9e5ddc6825b4bb450b3b5b349be39801b0178668c3e94a
|
4
|
+
data.tar.gz: 3ab180c9b128bc0c6bdee63b68275273a12a938df484eb94e743f11ff81d28a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7677c4a9ccf218206b5b31f261507f66e12e7d8148be5857025979e282c8e524546015df0c6a612c818de297d6c93157fc15394592d0914eada8b5acd17469aa
|
7
|
+
data.tar.gz: 1a7882f6f3bb2a81dfa50c655c02fef3286badba79e4f5f6e384fc87a5d0953beba48b92eb83981c8124db91980c14d11c41a16d012b99eb3ef8151cc895fd86
|
data/.github/workflows/ruby.yml
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.3
|
1
|
+
3.4.3
|
data/Gemfile.lock
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cli-kit (5.0
|
5
|
-
cli-ui (~> 2.
|
4
|
+
cli-kit (5.1.0)
|
5
|
+
cli-ui (~> 2.4)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
10
|
ansi (1.5.0)
|
11
|
-
ast (2.4.
|
12
|
-
benchmark (0.4.
|
11
|
+
ast (2.4.3)
|
12
|
+
benchmark (0.4.1)
|
13
13
|
builder (3.3.0)
|
14
|
-
byebug (
|
15
|
-
cli-ui (2.
|
14
|
+
byebug (12.0.0)
|
15
|
+
cli-ui (2.4.0)
|
16
16
|
docile (1.4.1)
|
17
17
|
erubi (1.13.1)
|
18
|
-
json (2.
|
19
|
-
language_server-protocol (3.17.0.
|
18
|
+
json (2.13.2)
|
19
|
+
language_server-protocol (3.17.0.5)
|
20
20
|
lint_roller (1.1.0)
|
21
|
-
logger (1.
|
21
|
+
logger (1.7.0)
|
22
22
|
method_source (1.1.0)
|
23
|
-
minitest (5.25.
|
23
|
+
minitest (5.25.5)
|
24
24
|
minitest-reporters (1.7.1)
|
25
25
|
ansi
|
26
26
|
builder
|
@@ -29,22 +29,22 @@ GEM
|
|
29
29
|
mocha (2.4.5)
|
30
30
|
ruby2_keywords (>= 0.0.5)
|
31
31
|
netrc (0.11.0)
|
32
|
-
parallel (1.
|
33
|
-
parser (3.3.
|
32
|
+
parallel (1.27.0)
|
33
|
+
parser (3.3.9.0)
|
34
34
|
ast (~> 2.4.1)
|
35
35
|
racc
|
36
|
-
prism (1.
|
36
|
+
prism (1.4.0)
|
37
37
|
racc (1.8.1)
|
38
38
|
rainbow (3.1.1)
|
39
|
-
rake (13.
|
40
|
-
rbi (0.3.
|
39
|
+
rake (13.3.0)
|
40
|
+
rbi (0.3.6)
|
41
41
|
prism (~> 1.0)
|
42
42
|
rbs (>= 3.4.4)
|
43
|
-
|
44
|
-
rbs (3.8.1)
|
43
|
+
rbs (3.9.4)
|
45
44
|
logger
|
46
45
|
regexp_parser (2.10.0)
|
47
|
-
|
46
|
+
rexml (3.4.1)
|
47
|
+
rubocop (1.79.0)
|
48
48
|
json (~> 2.3)
|
49
49
|
language_server-protocol (~> 3.17.0.2)
|
50
50
|
lint_roller (~> 1.1.0)
|
@@ -52,39 +52,43 @@ GEM
|
|
52
52
|
parser (>= 3.3.0.2)
|
53
53
|
rainbow (>= 2.2.2, < 4.0)
|
54
54
|
regexp_parser (>= 2.9.3, < 3.0)
|
55
|
-
rubocop-ast (>= 1.
|
55
|
+
rubocop-ast (>= 1.46.0, < 2.0)
|
56
56
|
ruby-progressbar (~> 1.7)
|
57
|
+
tsort (>= 0.2.0)
|
57
58
|
unicode-display_width (>= 2.4.0, < 4.0)
|
58
|
-
rubocop-ast (1.
|
59
|
-
parser (>= 3.3.
|
59
|
+
rubocop-ast (1.46.0)
|
60
|
+
parser (>= 3.3.7.2)
|
61
|
+
prism (~> 1.4)
|
60
62
|
rubocop-rake (0.7.1)
|
61
63
|
lint_roller (~> 1.1)
|
62
64
|
rubocop (>= 1.72.1)
|
63
|
-
rubocop-shopify (2.
|
65
|
+
rubocop-shopify (2.17.1)
|
64
66
|
rubocop (~> 1.62)
|
65
|
-
rubocop-sorbet (0.
|
66
|
-
lint_roller
|
67
|
-
rubocop (>= 1)
|
67
|
+
rubocop-sorbet (0.10.5)
|
68
|
+
lint_roller
|
69
|
+
rubocop (>= 1.75.2)
|
68
70
|
ruby-progressbar (1.13.0)
|
69
71
|
ruby2_keywords (0.0.5)
|
70
72
|
simplecov (0.22.0)
|
71
73
|
docile (~> 1.1)
|
72
74
|
simplecov-html (~> 0.11)
|
73
75
|
simplecov_json_formatter (~> 0.1)
|
74
|
-
simplecov-html (0.13.
|
76
|
+
simplecov-html (0.13.2)
|
75
77
|
simplecov_json_formatter (0.1.4)
|
76
|
-
sorbet (0.5.
|
77
|
-
sorbet-static (= 0.5.
|
78
|
-
sorbet-runtime (0.5.
|
79
|
-
sorbet-static (0.5.
|
80
|
-
sorbet-static (0.5.
|
81
|
-
sorbet-static
|
82
|
-
|
83
|
-
sorbet
|
84
|
-
|
78
|
+
sorbet (0.5.12358)
|
79
|
+
sorbet-static (= 0.5.12358)
|
80
|
+
sorbet-runtime (0.5.12358)
|
81
|
+
sorbet-static (0.5.12358-aarch64-linux)
|
82
|
+
sorbet-static (0.5.12358-universal-darwin)
|
83
|
+
sorbet-static (0.5.12358-x86_64-linux)
|
84
|
+
sorbet-static-and-runtime (0.5.12358)
|
85
|
+
sorbet (= 0.5.12358)
|
86
|
+
sorbet-runtime (= 0.5.12358)
|
87
|
+
spoom (1.6.3)
|
85
88
|
erubi (>= 1.10.0)
|
86
89
|
prism (>= 0.28.0)
|
87
|
-
rbi (>= 0.
|
90
|
+
rbi (>= 0.3.3)
|
91
|
+
rexml (>= 3.2.6)
|
88
92
|
sorbet-static-and-runtime (>= 0.5.10187)
|
89
93
|
thor (>= 0.19.2)
|
90
94
|
tapioca (0.16.11)
|
@@ -97,7 +101,8 @@ GEM
|
|
97
101
|
spoom (>= 1.2.0)
|
98
102
|
thor (>= 1.2.0)
|
99
103
|
yard-sorbet
|
100
|
-
thor (1.
|
104
|
+
thor (1.4.0)
|
105
|
+
tsort (0.2.0)
|
101
106
|
unicode-display_width (3.1.4)
|
102
107
|
unicode-emoji (~> 4.0, >= 4.0.4)
|
103
108
|
unicode-emoji (4.0.4)
|
@@ -107,10 +112,8 @@ GEM
|
|
107
112
|
yard
|
108
113
|
|
109
114
|
PLATFORMS
|
110
|
-
|
115
|
+
aarch64-linux
|
111
116
|
universal-darwin
|
112
|
-
x64-mingw-ucrt
|
113
|
-
x64-mingw32
|
114
117
|
x86_64-linux
|
115
118
|
|
116
119
|
DEPENDENCIES
|
@@ -132,4 +135,4 @@ DEPENDENCIES
|
|
132
135
|
tapioca
|
133
136
|
|
134
137
|
BUNDLED WITH
|
135
|
-
2.
|
138
|
+
2.6.7
|
data/cli-kit.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
26
26
|
spec.require_paths = ['lib']
|
27
27
|
|
28
|
-
spec.add_runtime_dependency('cli-ui', '~> 2.
|
28
|
+
spec.add_runtime_dependency('cli-ui', '~> 2.4')
|
29
29
|
|
30
30
|
spec.required_ruby_version = '>= 3.0'
|
31
31
|
|
data/dev.yml
CHANGED
@@ -205,7 +205,7 @@ module CLI
|
|
205
205
|
)
|
206
206
|
matches = opts.select { |node| (opt.short && node.name == opt.short) || (opt.long && node.name == opt.long) }
|
207
207
|
if (last = matches.last)
|
208
|
-
return(opt.multi? ? matches.map(&:value) : last.value)
|
208
|
+
return (opt.multi? ? matches.map(&:value) : last.value)
|
209
209
|
end
|
210
210
|
|
211
211
|
opt.default
|
data/lib/cli/kit/command_help.rb
CHANGED
@@ -133,9 +133,9 @@ module CLI
|
|
133
133
|
sig { params(error: T.nilable(Exception)).returns(T.nilable(Exception)) }
|
134
134
|
def exception_for_submission(error)
|
135
135
|
# happens on normal non-error termination
|
136
|
-
return
|
136
|
+
return if error.nil?
|
137
137
|
|
138
|
-
return
|
138
|
+
return unless error.bug?
|
139
139
|
|
140
140
|
case error
|
141
141
|
when SignalException
|
data/lib/cli/kit/opts.rb
CHANGED
@@ -180,6 +180,13 @@ module CLI
|
|
180
180
|
|
181
181
|
private
|
182
182
|
|
183
|
+
sig { params(label: T.nilable(String)).returns(T.nilable(Symbol)) }
|
184
|
+
def symbolize(label)
|
185
|
+
return if label.nil?
|
186
|
+
|
187
|
+
label.split('#').last&.to_sym
|
188
|
+
end
|
189
|
+
|
183
190
|
sig { returns(Symbol) }
|
184
191
|
def infer_name
|
185
192
|
to_skip = 1
|
@@ -190,7 +197,7 @@ module CLI
|
|
190
197
|
to_skip -= 1
|
191
198
|
next
|
192
199
|
end
|
193
|
-
return
|
200
|
+
return T.must(symbolize(loc.label))
|
194
201
|
end
|
195
202
|
raise(ArgumentError, 'could not infer name')
|
196
203
|
end
|
@@ -218,7 +225,7 @@ module CLI
|
|
218
225
|
).returns(T.untyped)
|
219
226
|
end
|
220
227
|
def each_option(&block)
|
221
|
-
return
|
228
|
+
return enum_for(:each_option) unless block_given?
|
222
229
|
|
223
230
|
obj = assert_result!
|
224
231
|
obj.defn.options.each do |opt|
|
@@ -236,7 +243,7 @@ module CLI
|
|
236
243
|
).returns(T.untyped)
|
237
244
|
end
|
238
245
|
def each_flag(&block)
|
239
|
-
return
|
246
|
+
return enum_for(:each_flag) unless block_given?
|
240
247
|
|
241
248
|
obj = assert_result!
|
242
249
|
obj.defn.flags.each do |flag|
|
data/lib/cli/kit/parse_args.rb
CHANGED
@@ -12,7 +12,12 @@ module CLI
|
|
12
12
|
# and the resulting args[:opts] is pretty broad. There seems to be minimal value in expressing a
|
13
13
|
# tighter subset of T.untyped.
|
14
14
|
|
15
|
-
sig
|
15
|
+
sig do
|
16
|
+
params(
|
17
|
+
args: T.any(Array, String),
|
18
|
+
opts_defn: T::Hash[Symbol, T::Array[T.untyped]],
|
19
|
+
).returns(T::Hash[Symbol, T.untyped])
|
20
|
+
end
|
16
21
|
def parse_args(args, opts_defn)
|
17
22
|
start_opts, parser_config = opts_defn.reduce([{}, []]) do |(ini, pcfg), (n, cfg)|
|
18
23
|
(vals, desc, short, klass) = cfg
|
@@ -43,7 +48,7 @@ module CLI
|
|
43
48
|
end
|
44
49
|
end
|
45
50
|
|
46
|
-
arg_v = args.strip.split(/\s+/).map(&:strip)
|
51
|
+
arg_v = (args.is_a?(Array) ? args : args.strip.split(/\s+/)).map(&:strip)
|
47
52
|
sub = prsr.parse(arg_v)
|
48
53
|
|
49
54
|
{ opts: start_opts.merge(acc_opts) }.tap do |a|
|
data/lib/cli/kit/version.rb
CHANGED
metadata
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cli-kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0
|
4
|
+
version: 5.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Burke Libbey
|
8
8
|
- Aaron Olson
|
9
9
|
- Lisa Ugray
|
10
10
|
- Don Kelly
|
11
|
-
autorequire:
|
12
11
|
bindir: exe
|
13
12
|
cert_chain: []
|
14
|
-
date:
|
13
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: cli-ui
|
@@ -19,14 +18,14 @@ dependencies:
|
|
19
18
|
requirements:
|
20
19
|
- - "~>"
|
21
20
|
- !ruby/object:Gem::Version
|
22
|
-
version: '2.
|
21
|
+
version: '2.4'
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
24
|
version_requirements: !ruby/object:Gem::Requirement
|
26
25
|
requirements:
|
27
26
|
- - "~>"
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
version: '2.
|
28
|
+
version: '2.4'
|
30
29
|
- !ruby/object:Gem::Dependency
|
31
30
|
name: bundler
|
32
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -159,7 +158,6 @@ homepage: https://github.com/shopify/cli-kit
|
|
159
158
|
licenses:
|
160
159
|
- MIT
|
161
160
|
metadata: {}
|
162
|
-
post_install_message:
|
163
161
|
rdoc_options: []
|
164
162
|
require_paths:
|
165
163
|
- lib
|
@@ -174,8 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
172
|
- !ruby/object:Gem::Version
|
175
173
|
version: '0'
|
176
174
|
requirements: []
|
177
|
-
rubygems_version: 3.
|
178
|
-
signing_key:
|
175
|
+
rubygems_version: 3.6.7
|
179
176
|
specification_version: 4
|
180
177
|
summary: Terminal UI framework extensions
|
181
178
|
test_files: []
|