spoom 1.1.1 → 1.1.5
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/lib/spoom/cli/bump.rb +2 -1
- data/lib/spoom/cli/coverage.rb +5 -4
- data/lib/spoom/cli/helper.rb +16 -12
- data/lib/spoom/colors.rb +45 -0
- data/lib/spoom/coverage.rb +3 -0
- data/lib/spoom/file_tree.rb +5 -5
- data/lib/spoom/git.rb +21 -2
- data/lib/spoom/printer.rb +9 -7
- data/lib/spoom/sorbet/config.rb +13 -0
- data/lib/spoom/sorbet/lsp/structures.rb +6 -6
- data/lib/spoom/sorbet/sigils.rb +1 -1
- data/lib/spoom/test_helpers/project.rb +12 -2
- data/lib/spoom/version.rb +1 -1
- data/lib/spoom.rb +1 -1
- metadata +12 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 526b44a6bb1b2ec6b8b09a3bec42264f86b2803c561c4862d622c374893d529a
|
4
|
+
data.tar.gz: ac616a998a9800706ca28d805d5e975b35e78fb4c0b725463938b4b925f24728
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6cf08eb1fe7d880e8dfae54352d554b83c41ff6878546b84d986fdbb17fa95244b1630f31aa0f1ccd14ef843dc71d80bd3236715d16165c7c1a0a6fc7271502
|
7
|
+
data.tar.gz: ea376f188b1a33a83784f4e7923ba4087cd2891f10deacf998b145c724f586f76e2cfda338011f50d7990b8b860720eb832f365c5a6541042453d3381e45c871
|
data/lib/spoom/cli/bump.rb
CHANGED
@@ -102,6 +102,7 @@ module Spoom
|
|
102
102
|
path = File.expand_path(err.file)
|
103
103
|
next unless path.start_with?(directory)
|
104
104
|
next unless File.file?(path)
|
105
|
+
next unless files_to_bump.include?(path)
|
105
106
|
path
|
106
107
|
end.compact.uniq
|
107
108
|
|
@@ -133,7 +134,7 @@ module Spoom
|
|
133
134
|
if dry && command
|
134
135
|
say("\nRun `#{command}` to bump them")
|
135
136
|
elsif dry
|
136
|
-
say("\nRun `spoom bump --from #{from} --to #{to}`
|
137
|
+
say("\nRun `spoom bump --from #{from} --to #{to}` locally then `commit the changes` and `push them`")
|
137
138
|
end
|
138
139
|
end
|
139
140
|
|
data/lib/spoom/cli/coverage.rb
CHANGED
@@ -44,8 +44,9 @@ module Spoom
|
|
44
44
|
path = exec_path
|
45
45
|
sorbet = options[:sorbet]
|
46
46
|
|
47
|
-
|
48
|
-
unless
|
47
|
+
ref_before = Spoom::Git.current_branch
|
48
|
+
ref_before = Spoom::Git.last_commit(path: path) unless ref_before
|
49
|
+
unless ref_before
|
49
50
|
say_error("Not in a git repository")
|
50
51
|
say_error("\nSpoom needs to checkout into your previous commits to build the timeline.", status: nil)
|
51
52
|
exit(1)
|
@@ -90,7 +91,7 @@ module Spoom
|
|
90
91
|
|
91
92
|
snapshot = T.let(nil, T.nilable(Spoom::Coverage::Snapshot))
|
92
93
|
if options[:bundle_install]
|
93
|
-
Bundler.
|
94
|
+
Bundler.with_unbundled_env do
|
94
95
|
next unless bundle_install(path, sha)
|
95
96
|
snapshot = Spoom::Coverage.snapshot(path: path, sorbet_bin: sorbet)
|
96
97
|
end
|
@@ -107,7 +108,7 @@ module Spoom
|
|
107
108
|
File.write(file, snapshot.to_json)
|
108
109
|
say(" Snapshot data saved under `#{file}`\n\n")
|
109
110
|
end
|
110
|
-
Spoom::Git.checkout(
|
111
|
+
Spoom::Git.checkout(ref_before, path: path)
|
111
112
|
end
|
112
113
|
|
113
114
|
desc "report", "Produce a typing coverage report"
|
data/lib/spoom/cli/helper.rb
CHANGED
@@ -9,7 +9,11 @@ module Spoom
|
|
9
9
|
module Cli
|
10
10
|
module Helper
|
11
11
|
extend T::Sig
|
12
|
-
|
12
|
+
extend T::Helpers
|
13
|
+
|
14
|
+
include Colorize
|
15
|
+
|
16
|
+
requires_ancestor { Thor }
|
13
17
|
|
14
18
|
# Print `message` on `$stdout`
|
15
19
|
sig { params(message: String).void }
|
@@ -66,7 +70,7 @@ module Spoom
|
|
66
70
|
# Return the path specified through `--path`
|
67
71
|
sig { returns(String) }
|
68
72
|
def exec_path
|
69
|
-
|
73
|
+
options[:path]
|
70
74
|
end
|
71
75
|
|
72
76
|
sig { returns(String) }
|
@@ -82,12 +86,12 @@ module Spoom
|
|
82
86
|
# Colors
|
83
87
|
|
84
88
|
# Color used to highlight expressions in backticks
|
85
|
-
HIGHLIGHT_COLOR =
|
89
|
+
HIGHLIGHT_COLOR = T.let(Spoom::Color::BLUE, Spoom::Color)
|
86
90
|
|
87
91
|
# Is the `--color` option true?
|
88
92
|
sig { returns(T::Boolean) }
|
89
93
|
def color?
|
90
|
-
|
94
|
+
options[:color]
|
91
95
|
end
|
92
96
|
|
93
97
|
sig { params(string: String).returns(String) }
|
@@ -114,35 +118,35 @@ module Spoom
|
|
114
118
|
end
|
115
119
|
|
116
120
|
# Colorize a string if `color?`
|
117
|
-
sig { params(string: String, color:
|
118
|
-
def colorize(string, color)
|
121
|
+
sig { params(string: String, color: Color).returns(String) }
|
122
|
+
def colorize(string, *color)
|
119
123
|
return string unless color?
|
120
|
-
|
124
|
+
T.unsafe(self).set_color(string, *color)
|
121
125
|
end
|
122
126
|
|
123
127
|
sig { params(string: String).returns(String) }
|
124
128
|
def blue(string)
|
125
|
-
colorize(string,
|
129
|
+
colorize(string, Color::BLUE)
|
126
130
|
end
|
127
131
|
|
128
132
|
sig { params(string: String).returns(String) }
|
129
133
|
def gray(string)
|
130
|
-
colorize(string,
|
134
|
+
colorize(string, Color::LIGHT_BLACK)
|
131
135
|
end
|
132
136
|
|
133
137
|
sig { params(string: String).returns(String) }
|
134
138
|
def green(string)
|
135
|
-
colorize(string,
|
139
|
+
colorize(string, Color::GREEN)
|
136
140
|
end
|
137
141
|
|
138
142
|
sig { params(string: String).returns(String) }
|
139
143
|
def red(string)
|
140
|
-
colorize(string,
|
144
|
+
colorize(string, Color::RED)
|
141
145
|
end
|
142
146
|
|
143
147
|
sig { params(string: String).returns(String) }
|
144
148
|
def yellow(string)
|
145
|
-
colorize(string,
|
149
|
+
colorize(string, Color::YELLOW)
|
146
150
|
end
|
147
151
|
end
|
148
152
|
end
|
data/lib/spoom/colors.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Spoom
|
5
|
+
class Color < T::Enum
|
6
|
+
extend T::Sig
|
7
|
+
|
8
|
+
enums do
|
9
|
+
CLEAR = new("\e[0m")
|
10
|
+
BOLD = new("\e[1m")
|
11
|
+
|
12
|
+
BLACK = new("\e[30m")
|
13
|
+
RED = new("\e[31m")
|
14
|
+
GREEN = new("\e[32m")
|
15
|
+
YELLOW = new("\e[33m")
|
16
|
+
BLUE = new("\e[34m")
|
17
|
+
MAGENTA = new("\e[35m")
|
18
|
+
CYAN = new("\e[36m")
|
19
|
+
WHITE = new("\e[37m")
|
20
|
+
|
21
|
+
LIGHT_BLACK = new("\e[90m")
|
22
|
+
LIGHT_RED = new("\e[91m")
|
23
|
+
LIGHT_GREEN = new("\e[92m")
|
24
|
+
LIGHT_YELLOW = new("\e[93m")
|
25
|
+
LIGHT_BLUE = new("\e[94m")
|
26
|
+
LIGHT_MAGENTA = new("\e[95m")
|
27
|
+
LIGHT_CYAN = new("\e[96m")
|
28
|
+
LIGHT_WHITE = new("\e[97m")
|
29
|
+
end
|
30
|
+
|
31
|
+
sig { returns(String) }
|
32
|
+
def ansi_code
|
33
|
+
serialize
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
module Colorize
|
38
|
+
extend T::Sig
|
39
|
+
|
40
|
+
sig { params(string: String, color: Color).returns(String) }
|
41
|
+
def set_color(string, *color)
|
42
|
+
"#{color.map(&:ansi_code).join}#{string}#{Color::CLEAR.ansi_code}"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/lib/spoom/coverage.rb
CHANGED
data/lib/spoom/file_tree.rb
CHANGED
@@ -156,7 +156,7 @@ module Spoom
|
|
156
156
|
end
|
157
157
|
print("\n")
|
158
158
|
else
|
159
|
-
print_colored(node.name,
|
159
|
+
print_colored(node.name, Color::BLUE)
|
160
160
|
print("/")
|
161
161
|
printn
|
162
162
|
indent
|
@@ -180,15 +180,15 @@ module Spoom
|
|
180
180
|
Spoom::Sorbet::Sigils.file_strictness(path)
|
181
181
|
end
|
182
182
|
|
183
|
-
sig { params(strictness: T.nilable(String)).returns(
|
183
|
+
sig { params(strictness: T.nilable(String)).returns(Color) }
|
184
184
|
def strictness_color(strictness)
|
185
185
|
case strictness
|
186
186
|
when "false"
|
187
|
-
|
187
|
+
Color::RED
|
188
188
|
when "true", "strict", "strong"
|
189
|
-
|
189
|
+
Color::GREEN
|
190
190
|
else
|
191
|
-
|
191
|
+
Color::CLEAR
|
192
192
|
end
|
193
193
|
end
|
194
194
|
end
|
data/lib/spoom/git.rb
CHANGED
@@ -20,7 +20,7 @@ module Spoom
|
|
20
20
|
err = e.read.to_s
|
21
21
|
e.close
|
22
22
|
i.close
|
23
|
-
[out, err,
|
23
|
+
[out, err, s.value.success?]
|
24
24
|
end
|
25
25
|
|
26
26
|
# Git commands
|
@@ -50,6 +50,13 @@ module Spoom
|
|
50
50
|
exec("git show #{arg.join(' ')}", path: path)
|
51
51
|
end
|
52
52
|
|
53
|
+
sig { params(path: String).returns(T.nilable(String)) }
|
54
|
+
def self.current_branch(path: ".")
|
55
|
+
out, _, status = exec("git branch --show-current", path: path)
|
56
|
+
return nil unless status
|
57
|
+
out.strip
|
58
|
+
end
|
59
|
+
|
53
60
|
# Utils
|
54
61
|
|
55
62
|
# Get the commit epoch timestamp for a `sha`
|
@@ -93,7 +100,19 @@ module Spoom
|
|
93
100
|
def self.sorbet_intro_commit(path: ".")
|
94
101
|
res, _, status = Spoom::Git.log("--diff-filter=A --format='%h' -1 -- sorbet/config", path: path)
|
95
102
|
return nil unless status
|
96
|
-
res.strip
|
103
|
+
res.strip!
|
104
|
+
return nil if res.empty?
|
105
|
+
res
|
106
|
+
end
|
107
|
+
|
108
|
+
# Get the hash of the commit removing the `sorbet/config` file
|
109
|
+
sig { params(path: String).returns(T.nilable(String)) }
|
110
|
+
def self.sorbet_removal_commit(path: ".")
|
111
|
+
res, _, status = Spoom::Git.log("--diff-filter=D --format='%h' -1 -- sorbet/config", path: path)
|
112
|
+
return nil unless status
|
113
|
+
res.strip!
|
114
|
+
return nil if res.empty?
|
115
|
+
res
|
97
116
|
end
|
98
117
|
end
|
99
118
|
end
|
data/lib/spoom/printer.rb
CHANGED
@@ -8,6 +8,8 @@ module Spoom
|
|
8
8
|
extend T::Sig
|
9
9
|
extend T::Helpers
|
10
10
|
|
11
|
+
include Colorize
|
12
|
+
|
11
13
|
abstract!
|
12
14
|
|
13
15
|
sig { returns(T.any(IO, StringIO)) }
|
@@ -42,11 +44,10 @@ module Spoom
|
|
42
44
|
# Print `string` colored with `color` into `out`
|
43
45
|
#
|
44
46
|
# Does not use colors unless `@colors`.
|
45
|
-
sig { params(string: T.nilable(String), color:
|
46
|
-
def print_colored(string, color
|
47
|
+
sig { params(string: T.nilable(String), color: Color).void }
|
48
|
+
def print_colored(string, *color)
|
47
49
|
return unless string
|
48
|
-
string = colorize(string, color)
|
49
|
-
colors.each { |c| string = colorize(string, c) }
|
50
|
+
string = T.unsafe(self).colorize(string, *color)
|
50
51
|
@out.print(string)
|
51
52
|
end
|
52
53
|
|
@@ -72,9 +73,10 @@ module Spoom
|
|
72
73
|
end
|
73
74
|
|
74
75
|
# Colorize `string` with color if `@colors`
|
75
|
-
sig { params(string: String, color:
|
76
|
-
def colorize(string, color)
|
77
|
-
|
76
|
+
sig { params(string: String, color: Spoom::Color).returns(String) }
|
77
|
+
def colorize(string, *color)
|
78
|
+
return string unless @colors
|
79
|
+
T.unsafe(self).set_color(string, *color)
|
78
80
|
end
|
79
81
|
end
|
80
82
|
end
|
data/lib/spoom/sorbet/config.rb
CHANGED
@@ -29,11 +29,15 @@ module Spoom
|
|
29
29
|
sig { returns(T::Array[String]) }
|
30
30
|
attr_reader :paths, :ignore, :allowed_extensions
|
31
31
|
|
32
|
+
sig { returns(T::Boolean) }
|
33
|
+
attr_accessor :no_stdlib
|
34
|
+
|
32
35
|
sig { void }
|
33
36
|
def initialize
|
34
37
|
@paths = T.let([], T::Array[String])
|
35
38
|
@ignore = T.let([], T::Array[String])
|
36
39
|
@allowed_extensions = T.let([], T::Array[String])
|
40
|
+
@no_stdlib = T.let(false, T::Boolean)
|
37
41
|
end
|
38
42
|
|
39
43
|
sig { returns(Config) }
|
@@ -42,6 +46,7 @@ module Spoom
|
|
42
46
|
new_config.paths.concat(@paths)
|
43
47
|
new_config.ignore.concat(@ignore)
|
44
48
|
new_config.allowed_extensions.concat(@allowed_extensions)
|
49
|
+
new_config.no_stdlib = @no_stdlib
|
45
50
|
new_config
|
46
51
|
end
|
47
52
|
|
@@ -63,6 +68,7 @@ module Spoom
|
|
63
68
|
opts.concat(paths)
|
64
69
|
opts.concat(ignore.map { |p| "--ignore #{p}" })
|
65
70
|
opts.concat(allowed_extensions.map { |ext| "--allowed-extension #{ext}" })
|
71
|
+
opts << "--no-stdlib" if @no_stdlib
|
66
72
|
opts.join(" ")
|
67
73
|
end
|
68
74
|
|
@@ -106,12 +112,19 @@ module Spoom
|
|
106
112
|
when /^--dir=/
|
107
113
|
config.paths << parse_option(line)
|
108
114
|
next
|
115
|
+
when /^--no-stdlib$/
|
116
|
+
config.no_stdlib = true
|
117
|
+
next
|
109
118
|
when /^--.*=/
|
110
119
|
next
|
111
120
|
when /^--/
|
112
121
|
state = :skip
|
113
122
|
when /^-.*=?/
|
114
123
|
next
|
124
|
+
when /^#/
|
125
|
+
next
|
126
|
+
when /^$/
|
127
|
+
next
|
115
128
|
else
|
116
129
|
case state
|
117
130
|
when :ignore
|
@@ -56,7 +56,7 @@ module Spoom
|
|
56
56
|
|
57
57
|
sig { override.params(printer: SymbolPrinter).void }
|
58
58
|
def accept_printer(printer)
|
59
|
-
printer.print_colored("#{line}:#{char}",
|
59
|
+
printer.print_colored("#{line}:#{char}", Color::LIGHT_BLACK)
|
60
60
|
end
|
61
61
|
|
62
62
|
def to_s
|
@@ -81,7 +81,7 @@ module Spoom
|
|
81
81
|
sig { override.params(printer: SymbolPrinter).void }
|
82
82
|
def accept_printer(printer)
|
83
83
|
printer.print_object(start)
|
84
|
-
printer.print_colored("-",
|
84
|
+
printer.print_colored("-", Color::LIGHT_BLACK)
|
85
85
|
printer.print_object(self.end)
|
86
86
|
end
|
87
87
|
|
@@ -106,7 +106,7 @@ module Spoom
|
|
106
106
|
|
107
107
|
sig { override.params(printer: SymbolPrinter).void }
|
108
108
|
def accept_printer(printer)
|
109
|
-
printer.print_colored("#{printer.clean_uri(uri)}:",
|
109
|
+
printer.print_colored("#{printer.clean_uri(uri)}:", Color::LIGHT_BLACK)
|
110
110
|
printer.print_object(range)
|
111
111
|
end
|
112
112
|
|
@@ -203,14 +203,14 @@ module Spoom
|
|
203
203
|
printer.printt
|
204
204
|
printer.print(kind_string)
|
205
205
|
printer.print(' ')
|
206
|
-
printer.print_colored(name,
|
207
|
-
printer.print_colored(' (',
|
206
|
+
printer.print_colored(name, Color::BLUE, Color::BOLD)
|
207
|
+
printer.print_colored(' (', Color::LIGHT_BLACK)
|
208
208
|
if range
|
209
209
|
printer.print_object(range)
|
210
210
|
elsif location
|
211
211
|
printer.print_object(location)
|
212
212
|
end
|
213
|
-
printer.print_colored(')',
|
213
|
+
printer.print_colored(')', Color::LIGHT_BLACK)
|
214
214
|
printer.printn
|
215
215
|
unless children.empty?
|
216
216
|
printer.indent
|
data/lib/spoom/sorbet/sigils.rb
CHANGED
@@ -55,7 +55,7 @@ module Spoom
|
|
55
55
|
# * returns nil if no sigil
|
56
56
|
sig { params(path: T.any(String, Pathname)).returns(T.nilable(String)) }
|
57
57
|
def self.file_strictness(path)
|
58
|
-
return nil unless File.
|
58
|
+
return nil unless File.file?(path)
|
59
59
|
content = File.read(path, encoding: Encoding::ASCII_8BIT)
|
60
60
|
strictness_in_content(content)
|
61
61
|
end
|
@@ -82,7 +82,7 @@ module Spoom
|
|
82
82
|
opts = {}
|
83
83
|
opts[:chdir] = path
|
84
84
|
out, err, status = Open3.capture3("bundle", "install", opts)
|
85
|
-
[out, err, status.success?]
|
85
|
+
[out, err, T.must(status.success?)]
|
86
86
|
end
|
87
87
|
|
88
88
|
# Run a command with `bundle exec` in this project
|
@@ -91,7 +91,7 @@ module Spoom
|
|
91
91
|
opts = {}
|
92
92
|
opts[:chdir] = path
|
93
93
|
out, err, status = Open3.capture3(["bundle", "exec", cmd, *args].join(' '), opts)
|
94
|
-
[out, err, status.success?]
|
94
|
+
[out, err, T.must(status.success?)]
|
95
95
|
end
|
96
96
|
|
97
97
|
# Delete this project and its content
|
@@ -100,6 +100,16 @@ module Spoom
|
|
100
100
|
FileUtils.rm_rf(path)
|
101
101
|
end
|
102
102
|
|
103
|
+
sig { params(name: String).void }
|
104
|
+
def create_and_checkout_branch(name)
|
105
|
+
Spoom::Git.exec("git checkout -b #{name}", path: path)
|
106
|
+
end
|
107
|
+
|
108
|
+
sig { returns(T.nilable(String)) }
|
109
|
+
def current_branch
|
110
|
+
Spoom::Git.current_branch(path: path)
|
111
|
+
end
|
112
|
+
|
103
113
|
private
|
104
114
|
|
105
115
|
# Create an absolute path from `self.path` and `rel_path`
|
data/lib/spoom/version.rb
CHANGED
data/lib/spoom.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# typed: true
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
require "colorize"
|
5
4
|
require "sorbet-runtime"
|
6
5
|
|
7
6
|
module Spoom
|
@@ -27,6 +26,7 @@ module Spoom
|
|
27
26
|
end
|
28
27
|
end
|
29
28
|
|
29
|
+
require "spoom/colors"
|
30
30
|
require "spoom/sorbet"
|
31
31
|
require "spoom/cli"
|
32
32
|
require "spoom/version"
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spoom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexandre Terrasa
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.2.10
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.2.10
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,28 +58,28 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.5.9204
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 0.5.9204
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: sorbet
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.5.
|
75
|
+
version: 0.5.9204
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.5.
|
82
|
+
version: 0.5.9204
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: thor
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,20 +94,6 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.19.2
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: colorize
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
97
|
description:
|
112
98
|
email:
|
113
99
|
- ruby@shopify.com
|
@@ -128,6 +114,7 @@ files:
|
|
128
114
|
- lib/spoom/cli/helper.rb
|
129
115
|
- lib/spoom/cli/lsp.rb
|
130
116
|
- lib/spoom/cli/run.rb
|
117
|
+
- lib/spoom/colors.rb
|
131
118
|
- lib/spoom/coverage.rb
|
132
119
|
- lib/spoom/coverage/d3.rb
|
133
120
|
- lib/spoom/coverage/d3/base.rb
|
@@ -174,7 +161,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
161
|
- !ruby/object:Gem::Version
|
175
162
|
version: '0'
|
176
163
|
requirements: []
|
177
|
-
rubygems_version: 3.
|
164
|
+
rubygems_version: 3.2.20
|
178
165
|
signing_key:
|
179
166
|
specification_version: 4
|
180
167
|
summary: Useful tools for Sorbet enthusiasts.
|