rubocop-sorbet 0.8.9 → 0.9.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: '048bbf857fc0e733a27de48597f476ca59d22efb8a8eded11de5252f604b5804'
4
- data.tar.gz: 39d1335d326dc98b38041d5bfe66547d1398c10a6c1556f31bb22d5698db5bd9
3
+ metadata.gz: 743baa95aeb8e124bebb3d354867e42a397e874d43ab75e0f8fcc2b7d40e7757
4
+ data.tar.gz: 705349f2986c114712c99303de229cf95128a66c79dc97de54d274623ab9a785
5
5
  SHA512:
6
- metadata.gz: feda39cdafbc2c3a06138bc9e34d6900423fefcbd3906e7b9104f725f15c3469e3f9e8aa03148ba12b4e2ee5fd0d4f3b54930810d8ed1715ba31881748a9a0a1
7
- data.tar.gz: 5c626f9c2f15436297415e01dad6f758452e79289ede0ae74d22a3cb39fd77b2188598e199f123d263a99ffb183208ee83fff175f700cc44be40e559ef4031a6
6
+ metadata.gz: 9fac22901d690391f93b24ceef20727e3b6e79a9de887792d7cdb50cd3237caa38ac5655162aec3c748d01e747dd838ed6ca9efa4c5b727ff5d218fe495867f6
7
+ data.tar.gz: c988d90e224c3cfd3c93d13190e8d100165d35d3e9968c15930319ca94f5c6d787484bbb9bff3a92cb7b84deb4643b86720bc841751f823560865cf429121c4c
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rubocop-sorbet (0.8.9)
4
+ rubocop-sorbet (0.9.0)
5
+ lint_roller (~> 1.1)
5
6
  rubocop (>= 1)
6
7
 
7
8
  GEM
@@ -48,7 +49,7 @@ GEM
48
49
  diff-lcs (>= 1.2.0, < 2.0)
49
50
  rspec-support (~> 3.13.0)
50
51
  rspec-support (3.13.1)
51
- rubocop (1.72.1)
52
+ rubocop (1.73.2)
52
53
  json (~> 2.3)
53
54
  language_server-protocol (~> 3.17.0.2)
54
55
  lint_roller (~> 1.1.0)
@@ -59,7 +60,7 @@ GEM
59
60
  rubocop-ast (>= 1.38.0, < 2.0)
60
61
  ruby-progressbar (~> 1.7)
61
62
  unicode-display_width (>= 2.4.0, < 4.0)
62
- rubocop-ast (1.38.0)
63
+ rubocop-ast (1.38.1)
63
64
  parser (>= 3.3.1.0)
64
65
  rubocop-shopify (2.15.1)
65
66
  rubocop (~> 1.51)
data/README.md CHANGED
@@ -24,30 +24,33 @@ You need to tell RuboCop to load the Sorbet extension. There are three ways to d
24
24
  Put this into your `.rubocop.yml`:
25
25
 
26
26
  ```yaml
27
- require: rubocop-sorbet
27
+ plugins: rubocop-sorbet
28
28
  ```
29
29
 
30
30
  Alternatively, use the following array notation when specifying multiple extensions:
31
31
 
32
32
  ```yaml
33
- require:
34
- - rubocop-other-extension
33
+ plugins:
35
34
  - rubocop-sorbet
35
+ - rubocop-other-extension
36
36
  ```
37
37
 
38
38
  Now you can run `rubocop` and it will automatically load the RuboCop Sorbet cops together with the standard cops.
39
39
 
40
+ > [!NOTE]
41
+ > The plugin system is supported in RuboCop 1.72+. In earlier versions, use `require` instead of `plugins`.
42
+
40
43
  ### Command line
41
44
 
42
45
  ```sh
43
- rubocop --require rubocop-sorbet
46
+ rubocop --plugin rubocop-sorbet
44
47
  ```
45
48
 
46
49
  ### Rake task
47
50
 
48
51
  ```ruby
49
52
  RuboCop::RakeTask.new do |task|
50
- task.requires << 'rubocop-sorbet'
53
+ task.plugins << 'rubocop-sorbet'
51
54
  end
52
55
  ```
53
56
 
data/config/default.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  Sorbet/Refinement:
2
- Description: >-
2
+ Description: >-
3
3
  Checks for the use of Ruby Refinements library. Refinements add
4
4
  complexity and incur a performance penalty that can be significant
5
5
  for large code bases. They are also not supported by Sorbet.
@@ -102,6 +102,21 @@ Sorbet/ForbidTypeAliasedShapes:
102
102
  Enabled: false
103
103
  VersionAdded: 0.7.6
104
104
 
105
+ Sorbet/ForbidSig:
106
+ Description: 'Forbid usage of sig'
107
+ Enabled: false
108
+ VersionAdded: <<next>>
109
+
110
+ Sorbet/ForbidSigWithRuntime:
111
+ Description: 'Forbid usage of T::Sig.sig'
112
+ Enabled: false
113
+ VersionAdded: <<next>>
114
+
115
+ Sorbet/ForbidSigWithoutRuntime:
116
+ Description: 'Forbid usage of T::Sig::WithoutRuntime.sig'
117
+ Enabled: false
118
+ VersionAdded: <<next>>
119
+
105
120
  Sorbet/ForbidSuperclassConstLiteral:
106
121
  Description: 'Forbid superclasses which are non-literal constants.'
107
122
  Enabled: false
data/config/rbi.yml CHANGED
@@ -199,6 +199,9 @@ Lint/Syntax:
199
199
 
200
200
  ## Sorbet
201
201
 
202
+ Sorbet/ForbidSigWithoutRuntime:
203
+ Enabled: true
204
+
202
205
  Sorbet/EnforceSigilOrder:
203
206
  Enabled: true
204
207
 
@@ -41,6 +41,7 @@ module RuboCop
41
41
  :constantize,
42
42
  :constants,
43
43
  :const_get,
44
+ :safe_constantize,
44
45
  ].freeze
45
46
 
46
47
  def on_send(node)
@@ -9,21 +9,34 @@ module RuboCop
9
9
 
10
10
  # @!method signature?(node)
11
11
  def_node_matcher(:signature?, <<~PATTERN)
12
+ {#bare_sig? #sig_with_runtime? #sig_without_runtime?}
13
+ PATTERN
14
+
15
+ # @!method bare_sig?(node)
16
+ def_node_matcher(:bare_sig?, <<~PATTERN)
12
17
  (block (send
13
- {nil? #with_runtime? #without_runtime?}
18
+ nil?
14
19
  :sig
15
20
  (sym :final)?
16
21
  ) (args) ...)
17
22
  PATTERN
18
23
 
19
- # @!method with_runtime?(node)
20
- def_node_matcher(:with_runtime?, <<~PATTERN)
21
- (const (const {nil? cbase} :T) :Sig)
24
+ # @!method sig_with_runtime?(node)
25
+ def_node_matcher(:sig_with_runtime?, <<~PATTERN)
26
+ (block (send
27
+ (const (const {nil? cbase} :T) :Sig)
28
+ :sig
29
+ (sym :final)?
30
+ ) (args) ...)
22
31
  PATTERN
23
32
 
24
- # @!method without_runtime?(node)
25
- def_node_matcher(:without_runtime?, <<~PATTERN)
26
- (const (const (const {nil? cbase} :T) :Sig) :WithoutRuntime)
33
+ # @!method sig_without_runtime?(node)
34
+ def_node_matcher(:sig_without_runtime?, <<~PATTERN)
35
+ (block (send
36
+ (const (const (const {nil? cbase} :T) :Sig) :WithoutRuntime)
37
+ :sig
38
+ (sym :final)?
39
+ ) (args) ...)
27
40
  PATTERN
28
41
 
29
42
  def on_block(node)
@@ -28,6 +28,8 @@ module RuboCop
28
28
  extend AutoCorrector
29
29
  include SignatureHelp
30
30
 
31
+ RBS_COMMENT_REGEX = /^#:.*$/
32
+
31
33
  def initialize(config = nil, options = nil)
32
34
  super(config, options)
33
35
  @last_sig_for_scope = {}
@@ -65,7 +67,7 @@ module RuboCop
65
67
 
66
68
  def check_node(node)
67
69
  scope = self.scope(node)
68
- unless @last_sig_for_scope[scope]
70
+ unless @last_sig_for_scope[scope] || has_rbs_comment?(node)
69
71
  add_offense(
70
72
  node,
71
73
  message: "Each method is required to have a signature.",
@@ -76,6 +78,22 @@ module RuboCop
76
78
  @last_sig_for_scope[scope] = nil
77
79
  end
78
80
 
81
+ def has_rbs_comment?(node)
82
+ return false unless cop_config["AllowRBS"] == true
83
+
84
+ node = node.parent while RuboCop::AST::SendNode === node.parent
85
+ return false if (comments = preceeding_comments(node)).empty?
86
+
87
+ last_comment = comments.last
88
+ return false if last_comment.loc.line + 1 < node.loc.line
89
+
90
+ comments.any? { |comment| RBS_COMMENT_REGEX.match?(comment.text) }
91
+ end
92
+
93
+ def preceeding_comments(node)
94
+ processed_source.ast_with_comments[node].select { |comment| comment.loc.line < node.loc.line }
95
+ end
96
+
79
97
  def autocorrect(corrector, node)
80
98
  suggest = SigSuggestion.new(node.loc.column, param_type_placeholder, return_type_placeholder)
81
99
 
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "stringio"
4
+
5
+ module RuboCop
6
+ module Cop
7
+ module Sorbet
8
+ # Check that definitions do not use a `sig` block.
9
+ #
10
+ # Good:
11
+ #
12
+ # ```
13
+ # #: -> void
14
+ # def foo; end
15
+ # ```
16
+ #
17
+ # Bad:
18
+ #
19
+ # ```
20
+ # sig { void }
21
+ # def foo; end
22
+ # ```
23
+ class ForbidSig < ::RuboCop::Cop::Base
24
+ include SignatureHelp
25
+
26
+ MSG = "Do not use `T::Sig`."
27
+
28
+ def on_signature(node)
29
+ add_offense(node) if bare_sig?(node)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "stringio"
4
+
5
+ module RuboCop
6
+ module Cop
7
+ module Sorbet
8
+ # Check that definitions do not use a `sig` block.
9
+ #
10
+ # Good:
11
+ #
12
+ # ```
13
+ # #: -> void
14
+ # def foo; end
15
+ # ```
16
+ #
17
+ # Bad:
18
+ #
19
+ # ```
20
+ # T::Sig.sig { void }
21
+ # def foo; end
22
+ # ```
23
+ class ForbidSigWithRuntime < ::RuboCop::Cop::Base
24
+ include SignatureHelp
25
+
26
+ MSG = "Do not use `T::Sig.sig`."
27
+
28
+ def on_signature(node)
29
+ add_offense(node) if sig_with_runtime?(node)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "stringio"
4
+
5
+ module RuboCop
6
+ module Cop
7
+ module Sorbet
8
+ # Check that `sig` is used instead of `T::Sig::WithoutRuntime.sig`.
9
+ #
10
+ # Good:
11
+ #
12
+ # ```
13
+ # sig { void }
14
+ # def foo; end
15
+ # ```
16
+ #
17
+ # Bad:
18
+ #
19
+ # ```
20
+ # T::Sig::WithoutRuntime.sig { void }
21
+ # def foo; end
22
+ # ```
23
+ class ForbidSigWithoutRuntime < ::RuboCop::Cop::Base
24
+ include SignatureHelp
25
+ extend AutoCorrector
26
+
27
+ MSG = "Do not use `T::Sig::WithoutRuntime.sig`."
28
+
29
+ def on_signature(node)
30
+ return unless sig_without_runtime?(node)
31
+
32
+ sig = node.children[0]
33
+ add_offense(sig) do |corrector|
34
+ corrector.replace(sig, sig.source.gsub(/T\s*::\s*Sig\s*::\s*WithoutRuntime\s*\.\s*/m, ""))
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -31,11 +31,14 @@ require_relative "sorbet/rbi_versioning/valid_gem_version_annotations"
31
31
 
32
32
  require_relative "sorbet/signatures/allow_incompatible_override"
33
33
  require_relative "sorbet/signatures/checked_true_in_signature"
34
- require_relative "sorbet/signatures/void_checked_tests"
34
+ require_relative "sorbet/signatures/empty_line_after_sig"
35
+ require_relative "sorbet/signatures/enforce_signatures"
36
+ require_relative "sorbet/signatures/forbid_sig"
37
+ require_relative "sorbet/signatures/forbid_sig_with_runtime"
38
+ require_relative "sorbet/signatures/forbid_sig_without_runtime"
35
39
  require_relative "sorbet/signatures/keyword_argument_ordering"
36
40
  require_relative "sorbet/signatures/signature_build_order"
37
- require_relative "sorbet/signatures/enforce_signatures"
38
- require_relative "sorbet/signatures/empty_line_after_sig"
41
+ require_relative "sorbet/signatures/void_checked_tests"
39
42
 
40
43
  require_relative "sorbet/sigils/valid_sigil"
41
44
  require_relative "sorbet/sigils/has_sigil"
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rubocop"
4
+ require "lint_roller"
5
+ require "pathname"
6
+
7
+ module RuboCop
8
+ module Sorbet
9
+ # A plugin that integrates RuboCop Sorbet with RuboCop's plugin system.
10
+ class Plugin < LintRoller::Plugin
11
+ RUBOCOP_MIN_VERSION = "1.72.1"
12
+ SUPPORTED = Gem::Version.create(RuboCop::Version.version) < RUBOCOP_MIN_VERSION
13
+
14
+ def about
15
+ LintRoller::About.new(
16
+ name: "rubocop-sorbet",
17
+ version: VERSION,
18
+ homepage: "https://github.com/Shopify/rubocop-sorbet",
19
+ description: "A collection of Rubocop rules for Sorbet.",
20
+ )
21
+ end
22
+
23
+ def supported?(context)
24
+ context.engine == :rubocop
25
+ end
26
+
27
+ def rules(_context)
28
+ project_root = Pathname.new(__dir__).join("../../..")
29
+
30
+ ConfigObsoletion.files << project_root.join("config", "obsoletion.yml")
31
+
32
+ LintRoller::Rules.new(type: :path, config_format: :rubocop, value: project_root.join("config", "default.yml"))
33
+ end
34
+ end
35
+ end
36
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RuboCop
4
4
  module Sorbet
5
- VERSION = "0.8.9"
5
+ VERSION = "0.9.0"
6
6
  end
7
7
  end
@@ -1,18 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "rubocop"
3
4
  require "rubocop/sorbet/version"
5
+ require "rubocop/sorbet/plugin"
6
+ require "pathname"
4
7
  require "yaml"
5
8
 
6
9
  module RuboCop
7
10
  module Sorbet
8
11
  class Error < StandardError; end
9
12
 
10
- PROJECT_ROOT = Pathname.new(__dir__).parent.parent.expand_path.freeze
11
- CONFIG_DEFAULT = PROJECT_ROOT.join("config", "default.yml").freeze
12
- CONFIG = YAML.safe_load(CONFIG_DEFAULT.read).freeze
13
+ unless Plugin::SUPPORTED
14
+ PROJECT_ROOT = Pathname.new(__dir__).parent.parent.expand_path.freeze
15
+ CONFIG_DEFAULT = PROJECT_ROOT.join("config", "default.yml").freeze
16
+ CONFIG = YAML.safe_load(CONFIG_DEFAULT.read).freeze
13
17
 
14
- private_constant(:CONFIG_DEFAULT, :PROJECT_ROOT)
18
+ private_constant(:CONFIG_DEFAULT, :PROJECT_ROOT)
15
19
 
16
- ::RuboCop::ConfigObsoletion.files << PROJECT_ROOT.join("config", "obsoletion.yml")
20
+ ::RuboCop::ConfigObsoletion.files << PROJECT_ROOT.join("config", "obsoletion.yml")
21
+ end
17
22
  end
18
23
  end
@@ -4,8 +4,11 @@ require "rubocop"
4
4
 
5
5
  require_relative "rubocop/sorbet"
6
6
  require_relative "rubocop/sorbet/version"
7
- require_relative "rubocop/sorbet/inject"
7
+ require_relative "rubocop/sorbet/plugin"
8
8
 
9
- RuboCop::Sorbet::Inject.defaults!
9
+ unless RuboCop::Sorbet::Plugin::SUPPORTED
10
+ require_relative "rubocop/sorbet/inject"
11
+ RuboCop::Sorbet::Inject.defaults!
12
+ end
10
13
 
11
14
  require_relative "rubocop/cop/sorbet_cops"
data/manual/cops.md CHANGED
@@ -20,6 +20,9 @@ In the following section you find all available cops:
20
20
  * [Sorbet/ForbidExtendTSigHelpersInShims](cops_sorbet.md#sorbetforbidextendtsighelpersinshims)
21
21
  * [Sorbet/ForbidIncludeConstLiteral](cops_sorbet.md#sorbetforbidincludeconstliteral)
22
22
  * [Sorbet/ForbidRBIOutsideOfAllowedPaths](cops_sorbet.md#sorbetforbidrbioutsideofallowedpaths)
23
+ * [Sorbet/ForbidSig](cops_sorbet.md#sorbetforbidsig)
24
+ * [Sorbet/ForbidSigWithRuntime](cops_sorbet.md#sorbetforbidsigwithruntime)
25
+ * [Sorbet/ForbidSigWithoutRuntime](cops_sorbet.md#sorbetforbidsigwithoutruntime)
23
26
  * [Sorbet/ForbidSuperclassConstLiteral](cops_sorbet.md#sorbetforbidsuperclassconstliteral)
24
27
  * [Sorbet/ForbidTEnum](cops_sorbet.md#sorbetforbidtenum)
25
28
  * [Sorbet/ForbidTStruct](cops_sorbet.md#sorbetforbidtstruct)
@@ -417,6 +417,72 @@ Name | Default value | Configurable values
417
417
  AllowedPaths | `rbi/**`, `sorbet/rbi/**` | Array
418
418
  Include | `**/*.rbi` | Array
419
419
 
420
+ ## Sorbet/ForbidSig
421
+
422
+ Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
423
+ --- | --- | --- | --- | ---
424
+ Disabled | Yes | No | <<next>> | -
425
+
426
+ Check that definitions do not use a `sig` block.
427
+
428
+ Good:
429
+
430
+ ```
431
+ #: -> void
432
+ def foo; end
433
+ ```
434
+
435
+ Bad:
436
+
437
+ ```
438
+ sig { void }
439
+ def foo; end
440
+ ```
441
+
442
+ ## Sorbet/ForbidSigWithRuntime
443
+
444
+ Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
445
+ --- | --- | --- | --- | ---
446
+ Disabled | Yes | No | <<next>> | -
447
+
448
+ Check that definitions do not use a `sig` block.
449
+
450
+ Good:
451
+
452
+ ```
453
+ #: -> void
454
+ def foo; end
455
+ ```
456
+
457
+ Bad:
458
+
459
+ ```
460
+ T::Sig.sig { void }
461
+ def foo; end
462
+ ```
463
+
464
+ ## Sorbet/ForbidSigWithoutRuntime
465
+
466
+ Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
467
+ --- | --- | --- | --- | ---
468
+ Disabled | Yes | Yes | <<next>> | -
469
+
470
+ Check that `sig` is used instead of `T::Sig::WithoutRuntime.sig`.
471
+
472
+ Good:
473
+
474
+ ```
475
+ sig { void }
476
+ def foo; end
477
+ ```
478
+
479
+ Bad:
480
+
481
+ ```
482
+ T::Sig::WithoutRuntime.sig { void }
483
+ def foo; end
484
+ ```
485
+
420
486
  ## Sorbet/ForbidSuperclassConstLiteral
421
487
 
422
488
  Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
@@ -17,6 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
18
  spec.metadata["homepage_uri"] = spec.homepage
19
19
  spec.metadata["source_code_uri"] = "https://github.com/shopify/rubocop-sorbet"
20
+ spec.metadata["default_lint_roller_plugin"] = "RuboCop::Sorbet::Plugin"
20
21
 
21
22
  # Specify which files should be added to the gem when it is released.
22
23
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -27,5 +28,6 @@ Gem::Specification.new do |spec|
27
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
29
  spec.require_paths = ["lib"]
29
30
 
31
+ spec.add_runtime_dependency("lint_roller", "~> 1.1")
30
32
  spec.add_runtime_dependency("rubocop", ">= 1")
31
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-sorbet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.9
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ufuk Kayserilioglu
@@ -10,8 +10,22 @@ authors:
10
10
  - Peter Zhu
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2025-02-20 00:00:00.000000000 Z
13
+ date: 2025-03-10 00:00:00.000000000 Z
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: lint_roller
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '1.1'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '1.1'
15
29
  - !ruby/object:Gem::Dependency
16
30
  name: rubocop
17
31
  requirement: !ruby/object:Gem::Requirement
@@ -98,6 +112,9 @@ files:
98
112
  - lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb
99
113
  - lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb
100
114
  - lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb
115
+ - lib/rubocop/cop/sorbet/signatures/forbid_sig.rb
116
+ - lib/rubocop/cop/sorbet/signatures/forbid_sig_with_runtime.rb
117
+ - lib/rubocop/cop/sorbet/signatures/forbid_sig_without_runtime.rb
101
118
  - lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb
102
119
  - lib/rubocop/cop/sorbet/signatures/signature_build_order.rb
103
120
  - lib/rubocop/cop/sorbet/signatures/void_checked_tests.rb
@@ -107,6 +124,7 @@ files:
107
124
  - lib/rubocop/cop/sorbet_cops.rb
108
125
  - lib/rubocop/sorbet.rb
109
126
  - lib/rubocop/sorbet/inject.rb
127
+ - lib/rubocop/sorbet/plugin.rb
110
128
  - lib/rubocop/sorbet/version.rb
111
129
  - manual/cops.md
112
130
  - manual/cops_sorbet.md
@@ -121,6 +139,7 @@ metadata:
121
139
  allowed_push_host: https://rubygems.org
122
140
  homepage_uri: https://github.com/shopify/rubocop-sorbet
123
141
  source_code_uri: https://github.com/shopify/rubocop-sorbet
142
+ default_lint_roller_plugin: RuboCop::Sorbet::Plugin
124
143
  rdoc_options: []
125
144
  require_paths:
126
145
  - lib
@@ -135,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
154
  - !ruby/object:Gem::Version
136
155
  version: '0'
137
156
  requirements: []
138
- rubygems_version: 3.6.3
157
+ rubygems_version: 3.6.5
139
158
  specification_version: 4
140
159
  summary: Automatic Sorbet code style checking tool.
141
160
  test_files: []