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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af93e4820420cf1704d8cca5d63107f7bd83961100daa6db8e7f8548680cd10e
4
- data.tar.gz: 4894fe464e5be800e850a9543978bb80f3353837ed8e52b63a8cd60f1167f951
3
+ metadata.gz: 2d726194921593173c9e5ddc6825b4bb450b3b5b349be39801b0178668c3e94a
4
+ data.tar.gz: 3ab180c9b128bc0c6bdee63b68275273a12a938df484eb94e743f11ff81d28a2
5
5
  SHA512:
6
- metadata.gz: 5d47834888929cf73123f2ecb5ca47676f530fbc51355f54b1dd4ef098f6f1afa5f0603d4e6c468326d114324ff467487085dced9cd24bf67ac87890ec4eadb8
7
- data.tar.gz: f49180d83cf371a0e5f8870c95a5dcfdb44add7ab4938ba6cb24adb1de034a2526c9505b5eba1cd731d28e8b2089fbce748dec6c5191dcdc140a44713f6f6c79
6
+ metadata.gz: 7677c4a9ccf218206b5b31f261507f66e12e7d8148be5857025979e282c8e524546015df0c6a612c818de297d6c93157fc15394592d0914eada8b5acd17469aa
7
+ data.tar.gz: 1a7882f6f3bb2a81dfa50c655c02fef3286badba79e4f5f6e384fc87a5d0953beba48b92eb83981c8124db91980c14d11c41a16d012b99eb3ef8151cc895fd86
@@ -29,8 +29,8 @@ jobs:
29
29
  test:
30
30
  strategy:
31
31
  matrix:
32
- os: [macos-latest, ubuntu-latest, windows-latest]
33
- ruby-version: ['3.1', '3.2', '3.3']
32
+ os: [macos-latest, ubuntu-latest]
33
+ ruby-version: ['3.1', '3.2', '3.3', '3.4']
34
34
 
35
35
  runs-on: ${{ matrix.os }}
36
36
  env:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.3.0
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.1)
5
- cli-ui (~> 2.0)
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.2)
12
- benchmark (0.4.0)
11
+ ast (2.4.3)
12
+ benchmark (0.4.1)
13
13
  builder (3.3.0)
14
- byebug (11.1.3)
15
- cli-ui (2.3.0)
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.10.1)
19
- language_server-protocol (3.17.0.4)
18
+ json (2.13.2)
19
+ language_server-protocol (3.17.0.5)
20
20
  lint_roller (1.1.0)
21
- logger (1.6.6)
21
+ logger (1.7.0)
22
22
  method_source (1.1.0)
23
- minitest (5.25.4)
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.26.3)
33
- parser (3.3.7.1)
32
+ parallel (1.27.0)
33
+ parser (3.3.9.0)
34
34
  ast (~> 2.4.1)
35
35
  racc
36
- prism (1.3.0)
36
+ prism (1.4.0)
37
37
  racc (1.8.1)
38
38
  rainbow (3.1.1)
39
- rake (13.2.1)
40
- rbi (0.3.0)
39
+ rake (13.3.0)
40
+ rbi (0.3.6)
41
41
  prism (~> 1.0)
42
42
  rbs (>= 3.4.4)
43
- sorbet-runtime (>= 0.5.9204)
44
- rbs (3.8.1)
43
+ rbs (3.9.4)
45
44
  logger
46
45
  regexp_parser (2.10.0)
47
- rubocop (1.73.2)
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.38.0, < 2.0)
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.38.1)
59
- parser (>= 3.3.1.0)
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.16.0)
65
+ rubocop-shopify (2.17.1)
64
66
  rubocop (~> 1.62)
65
- rubocop-sorbet (0.9.0)
66
- lint_roller (~> 1.1)
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.1)
76
+ simplecov-html (0.13.2)
75
77
  simplecov_json_formatter (0.1.4)
76
- sorbet (0.5.11915)
77
- sorbet-static (= 0.5.11915)
78
- sorbet-runtime (0.5.11915)
79
- sorbet-static (0.5.11915-universal-darwin)
80
- sorbet-static (0.5.11915-x86_64-linux)
81
- sorbet-static-and-runtime (0.5.11915)
82
- sorbet (= 0.5.11915)
83
- sorbet-runtime (= 0.5.11915)
84
- spoom (1.5.4)
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.2.3)
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.3.2)
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
- arm64-darwin-21
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.4.9
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.0')
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
@@ -1,5 +1,7 @@
1
+ nix: true
2
+
1
3
  up:
2
- - homebrew:
4
+ - packages:
3
5
  - fswatch
4
6
  - ruby
5
7
  - bundler
@@ -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
@@ -135,7 +135,7 @@ module CLI
135
135
  sig { returns(T.nilable(String)) }
136
136
  def build_options
137
137
  opts = opts_class
138
- return(nil) unless opts
138
+ return unless opts
139
139
 
140
140
  methods = []
141
141
  loop do
@@ -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(nil) if error.nil?
136
+ return if error.nil?
137
137
 
138
- return(nil) unless error.bug?
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(T.must(loc.label&.to_sym))
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(enum_for(:each_option)) unless block_given?
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(enum_for(:each_flag)) unless block_given?
246
+ return enum_for(:each_flag) unless block_given?
240
247
 
241
248
  obj = assert_result!
242
249
  obj.defn.flags.each do |flag|
@@ -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 { params(args: String, opts_defn: T::Hash[Symbol, T::Array[T.untyped]]).returns(T::Hash[Symbol, T.untyped]) }
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|
@@ -2,6 +2,6 @@
2
2
 
3
3
  module CLI
4
4
  module Kit
5
- VERSION = '5.0.1'
5
+ VERSION = '5.1.0'
6
6
  end
7
7
  end
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.1
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: 2025-03-12 00:00:00.000000000 Z
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.0'
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.0'
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.0.3.1
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: []