Bump more RuboCops to Sorbet typed: strict
				
					
				
			This commit is contained in:
		
							parent
							
								
									0c268f9234
								
							
						
					
					
						commit
						94085ebb57
					
				@ -1,4 +1,4 @@
 | 
			
		||||
# typed: true # rubocop:todo Sorbet/StrictSigil
 | 
			
		||||
# typed: strict
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require "forwardable"
 | 
			
		||||
@ -33,10 +33,13 @@ module RuboCop
 | 
			
		||||
            ->(node) { node.parent == block_node }
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          @stanzas ||= block_body.each_node
 | 
			
		||||
                                 .select(&:stanza?)
 | 
			
		||||
                                 .select(&is_stanza)
 | 
			
		||||
                                 .map { |node| Stanza.new(node, comments) }
 | 
			
		||||
          @stanzas ||= T.let(
 | 
			
		||||
            block_body.each_node
 | 
			
		||||
                      .select(&:stanza?)
 | 
			
		||||
                      .select(&is_stanza)
 | 
			
		||||
                      .map { |node| Stanza.new(node, comments) },
 | 
			
		||||
            T.nilable(T::Array[Stanza]),
 | 
			
		||||
          )
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
@ -46,17 +49,20 @@ module RuboCop
 | 
			
		||||
      class CaskBlock < StanzaBlock
 | 
			
		||||
        extend Forwardable
 | 
			
		||||
 | 
			
		||||
        sig { returns(RuboCop::AST::BlockNode) }
 | 
			
		||||
        def cask_node
 | 
			
		||||
          block_node
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def_delegator :cask_node, :block_body, :cask_body
 | 
			
		||||
 | 
			
		||||
        sig { returns(CaskHeader) }
 | 
			
		||||
        def header
 | 
			
		||||
          @header ||= CaskHeader.new(block_node.method_node)
 | 
			
		||||
          @header ||= T.let(CaskHeader.new(block_node.method_node), T.nilable(CaskHeader))
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        # TODO: Use `StanzaBlock#stanzas` for all cops, where possible.
 | 
			
		||||
        sig { returns(T::Array[Stanza]) }
 | 
			
		||||
        def stanzas
 | 
			
		||||
          return [] unless cask_body
 | 
			
		||||
 | 
			
		||||
@ -65,6 +71,7 @@ module RuboCop
 | 
			
		||||
                                .map { |node| Stanza.new(node, comments) }
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        sig { returns(T::Array[Stanza]) }
 | 
			
		||||
        def toplevel_stanzas
 | 
			
		||||
          # If a `cask` block only contains one stanza, it is that stanza's direct parent,
 | 
			
		||||
          # otherwise stanzas are grouped in a block and `cask` is that block's parent.
 | 
			
		||||
@ -74,7 +81,7 @@ module RuboCop
 | 
			
		||||
            ->(stanza) { stanza.parent_node.cask_block? }
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          @toplevel_stanzas ||= stanzas.select(&is_toplevel_stanza)
 | 
			
		||||
          @toplevel_stanzas ||= T.let(stanzas.select(&is_toplevel_stanza), T.nilable(T::Array[Stanza]))
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
# typed: true # rubocop:todo Sorbet/StrictSigil
 | 
			
		||||
# typed: strict
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require "rubocops/cask/mixin/on_desc_stanza"
 | 
			
		||||
@ -14,8 +14,9 @@ module RuboCop
 | 
			
		||||
        include DescHelper
 | 
			
		||||
        extend AutoCorrector
 | 
			
		||||
 | 
			
		||||
        sig { params(stanza: RuboCop::Cask::AST::Stanza).void }
 | 
			
		||||
        def on_desc_stanza(stanza)
 | 
			
		||||
          @name = cask_block.header.cask_token
 | 
			
		||||
          @name = T.let(cask_block.header.cask_token, T.nilable(String))
 | 
			
		||||
          desc_call = stanza.stanza_node
 | 
			
		||||
          audit_desc(:cask, @name, desc_call)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
# typed: true # rubocop:todo Sorbet/StrictSigil
 | 
			
		||||
# typed: strict
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require "forwardable"
 | 
			
		||||
@ -17,8 +17,9 @@ module RuboCop
 | 
			
		||||
 | 
			
		||||
        MSG_NO_SLASH = "'%<url>s' must have a slash after the domain."
 | 
			
		||||
 | 
			
		||||
        sig { params(stanza: RuboCop::Cask::AST::Stanza).void }
 | 
			
		||||
        def on_homepage_stanza(stanza)
 | 
			
		||||
          @name = cask_block.header.cask_token
 | 
			
		||||
          @name = T.let(cask_block.header.cask_token, T.nilable(String))
 | 
			
		||||
          desc_call = stanza.stanza_node
 | 
			
		||||
          url_node = desc_call.first_argument
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
# typed: true # rubocop:todo Sorbet/StrictSigil
 | 
			
		||||
# typed: strict
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module RuboCop
 | 
			
		||||
@ -9,8 +9,9 @@ module RuboCop
 | 
			
		||||
        extend Forwardable
 | 
			
		||||
        include CaskHelp
 | 
			
		||||
 | 
			
		||||
        sig { override.params(cask_block: T.nilable(RuboCop::Cask::AST::CaskBlock)).void }
 | 
			
		||||
        def on_cask(cask_block)
 | 
			
		||||
          @cask_block = cask_block
 | 
			
		||||
          @cask_block = T.let(cask_block, T.nilable(RuboCop::Cask::AST::CaskBlock))
 | 
			
		||||
 | 
			
		||||
          toplevel_stanzas.select(&:url?).each do |stanza|
 | 
			
		||||
            on_url_stanza(stanza)
 | 
			
		||||
@ -19,6 +20,7 @@ module RuboCop
 | 
			
		||||
 | 
			
		||||
        private
 | 
			
		||||
 | 
			
		||||
        sig { returns(T.nilable(RuboCop::Cask::AST::CaskBlock)) }
 | 
			
		||||
        attr_reader :cask_block
 | 
			
		||||
 | 
			
		||||
        def_delegators :cask_block,
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
# typed: true # rubocop:todo Sorbet/StrictSigil
 | 
			
		||||
# typed: strict
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module RuboCop
 | 
			
		||||
@ -17,6 +17,7 @@ module RuboCop
 | 
			
		||||
                  "Add it to an `on_{system}` block instead. " \
 | 
			
		||||
                  "Use `:or_older` or `:or_newer` to specify a range of macOS versions."
 | 
			
		||||
 | 
			
		||||
        sig { override.params(cask_block: RuboCop::Cask::AST::CaskBlock).void }
 | 
			
		||||
        def on_cask(cask_block)
 | 
			
		||||
          cask_stanzas = cask_block.toplevel_stanzas
 | 
			
		||||
 | 
			
		||||
@ -34,8 +35,9 @@ module RuboCop
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        sig { params(on_system: T::Array[RuboCop::Cask::AST::Stanza]).returns(T::Set[Symbol]) }
 | 
			
		||||
        def on_system_stanzas(on_system)
 | 
			
		||||
          names = Set.new
 | 
			
		||||
          names = T.let(Set.new, T::Set[Symbol])
 | 
			
		||||
          method_nodes = on_system.map(&:method_node)
 | 
			
		||||
          method_nodes.select(&:block_type?).each do |node|
 | 
			
		||||
            node.child_nodes.each do |child|
 | 
			
		||||
@ -56,14 +58,17 @@ module RuboCop
 | 
			
		||||
          names
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        sig { params(node: RuboCop::AST::Node).returns(T::Boolean) }
 | 
			
		||||
        def inside_livecheck_defined?(node)
 | 
			
		||||
          single_stanza_livecheck_defined?(node) || multi_stanza_livecheck_defined?(node)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        sig { params(node: RuboCop::AST::Node).returns(T::Boolean) }
 | 
			
		||||
        def single_stanza_livecheck_defined?(node)
 | 
			
		||||
          node.parent.block_type? && node.parent.method_name == :livecheck
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        sig { params(node: RuboCop::AST::Node).returns(T::Boolean) }
 | 
			
		||||
        def multi_stanza_livecheck_defined?(node)
 | 
			
		||||
          grandparent_node = node.parent.parent
 | 
			
		||||
          node.parent.begin_type? && grandparent_node.block_type? && grandparent_node.method_name == :livecheck
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
# typed: true # rubocop:todo Sorbet/StrictSigil
 | 
			
		||||
# typed: strict
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require "forwardable"
 | 
			
		||||
@ -34,8 +34,9 @@ module RuboCop
 | 
			
		||||
 | 
			
		||||
        FLIGHT_STANZA_NAMES = [:preflight, :postflight, :uninstall_preflight, :uninstall_postflight].freeze
 | 
			
		||||
 | 
			
		||||
        sig { override.params(cask_block: RuboCop::Cask::AST::CaskBlock).void }
 | 
			
		||||
        def on_cask(cask_block)
 | 
			
		||||
          @cask_block = cask_block
 | 
			
		||||
          @cask_block = T.let(cask_block, T.nilable(RuboCop::Cask::AST::CaskBlock))
 | 
			
		||||
 | 
			
		||||
          toplevel_stanzas.each do |stanza|
 | 
			
		||||
            next unless FLIGHT_STANZA_NAMES.include? stanza.stanza_name
 | 
			
		||||
@ -50,10 +51,12 @@ module RuboCop
 | 
			
		||||
 | 
			
		||||
        private
 | 
			
		||||
 | 
			
		||||
        sig { returns(T.nilable(RuboCop::Cask::AST::CaskBlock)) }
 | 
			
		||||
        attr_reader :cask_block
 | 
			
		||||
 | 
			
		||||
        def_delegators :cask_block, :toplevel_stanzas, :cask_body
 | 
			
		||||
 | 
			
		||||
        sig { void }
 | 
			
		||||
        def simplify_sha256_stanzas
 | 
			
		||||
          nodes = {}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
# typed: true # rubocop:todo Sorbet/StrictSigil
 | 
			
		||||
# typed: strict
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module RuboCop
 | 
			
		||||
@ -12,6 +12,7 @@ module RuboCop
 | 
			
		||||
        MSG_CSV = "Use `version.csv.first` instead of `version.before_comma` " \
 | 
			
		||||
                  "and `version.csv.second` instead of `version.after_comma`."
 | 
			
		||||
 | 
			
		||||
        sig { override.params(stanza: RuboCop::Cask::AST::Stanza).void }
 | 
			
		||||
        def on_url_stanza(stanza)
 | 
			
		||||
          return if stanza.stanza_node.type == :block
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
# typed: true # rubocop:todo Sorbet/StrictSigil
 | 
			
		||||
# typed: strict
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module RuboCop
 | 
			
		||||
@ -9,6 +9,7 @@ module RuboCop
 | 
			
		||||
        MSG = "Only use `Homebrew.install_bundler_gems!` in dev-cmd."
 | 
			
		||||
        RESTRICT_ON_SEND = [:install_bundler_gems!].freeze
 | 
			
		||||
 | 
			
		||||
        sig { params(node: RuboCop::AST::Node).void }
 | 
			
		||||
        def on_send(node)
 | 
			
		||||
          file_path = processed_source.file_path
 | 
			
		||||
          return if file_path.match?(%r{/(dev-cmd/.+|standalone/init|startup/bootsnap)\.rb\z})
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
# typed: true # rubocop:todo Sorbet/StrictSigil
 | 
			
		||||
# typed: strict
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module RuboCop
 | 
			
		||||
@ -30,6 +30,7 @@ module RuboCop
 | 
			
		||||
          (send !nil? :rmtree ...)
 | 
			
		||||
        PATTERN
 | 
			
		||||
 | 
			
		||||
        sig { params(node: RuboCop::AST::SendNode).void }
 | 
			
		||||
        def on_send(node)
 | 
			
		||||
          return if neither_rm_rf_nor_rmtree?(node)
 | 
			
		||||
 | 
			
		||||
@ -51,6 +52,7 @@ module RuboCop
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        sig { params(node: RuboCop::AST::SendNode).returns(T::Boolean) }
 | 
			
		||||
        def neither_rm_rf_nor_rmtree?(node)
 | 
			
		||||
          !any_receiver_rm_r_f?(node) && !no_receiver_rm_r_f?(node) &&
 | 
			
		||||
            !any_receiver_rmtree?(node) && !no_receiver_rmtree?(node)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user