Sha256: 9fbd8722de888bfa41f1348568729d2d96f605481db65aeedf8adfdb27ef9d34

Contents?: true

Size: 954 Bytes

Versions: 16

Compression:

Stored size: 954 Bytes

Contents

# frozen_string_literal: true

require_relative "base_linter"
require_relative "autocorrectable"
require_relative "argument_mappers/button"

module ERBLint
  module Linters
    # Counts the number of times a HTML button is used instead of the component.
    class ButtonComponentMigrationCounter < BaseLinter
      include Autocorrectable

      TAGS = Primer::ViewComponents::Constants.get(
        component: "Primer::BaseButton",
        constant: "TAG_OPTIONS"
      ).freeze

      # CloseButton component has preference when this class is seen in conjuction with `btn`.
      DISALLOWED_CLASSES = %w[close-button].freeze
      CLASSES = %w[btn btn-link].freeze
      MESSAGE = "We are migrating buttons to use [Primer::ButtonComponent](https://primer.style/view-components/components/button), please try to use that instead of raw HTML."
      ARGUMENT_MAPPER = ArgumentMappers::Button
      COMPONENT = "Primer::ButtonComponent"
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
primer_view_components-0.0.68 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.67 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.66 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.65 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.64 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.63 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.62 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.61 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.60 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.59 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.58 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.57 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.56 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.55 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.54 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.0.53 lib/primer/view_components/linters/button_component_migration_counter.rb