Sha256: 8dc17c02289eec3f584420c66fd3c338c2c4d7e3c5c5cbc10d265040a5cb5e9e

Contents?: true

Size: 960 Bytes

Versions: 144

Compression:

Stored size: 960 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::Beta::BaseButton",
        constant: "TAG_OPTIONS"
      ).freeze

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

Version data entries

144 entries across 144 versions & 2 rubygems

Version Path
openproject-primer_view_components-0.33.2 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.33.1 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.33.0 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.25.1 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.32.1 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.32.0 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.29.1 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.29.0 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.23.0 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.28.1 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.28.0 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.27.0 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.26.0 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.25.1 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.22.0 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.21.1 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.25.0 lib/primer/view_components/linters/button_component_migration_counter.rb
openproject-primer_view_components-0.24.0 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.21.0 lib/primer/view_components/linters/button_component_migration_counter.rb
primer_view_components-0.20.1 lib/primer/view_components/linters/button_component_migration_counter.rb