Sha256: 6c97bc779d39cb566415fb97e5f1d0870106963cc9de57e38e9d4f8b546f3a8b

Contents?: true

Size: 1.03 KB

Versions: 8

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

module ThemeCheck
  # Reports missing shopify required theme files
  # required templates: https://shopify.dev/tutorials/review-theme-store-requirements-files

  class MissingRequiredTemplateFiles < LiquidCheck
    severity :error
    category :liquid
    doc "https://shopify.dev/docs/themes/theme-templates"

    REQUIRED_LIQUID_FILES = %w(layout/theme)
    REQUIRED_TEMPLATE_FILES = %w(
      index product collection cart blog article page list-collections search 404
      gift_card customers/account customers/activate_account customers/addresses
      customers/login customers/order customers/register customers/reset_password password
    )
      .map { |file| "templates/#{file}" }

    def on_end
      (REQUIRED_LIQUID_FILES - theme.liquid.map(&:name)).each do |file|
        add_offense("'#{file}.liquid' is missing")
      end
      (REQUIRED_TEMPLATE_FILES - (theme.liquid + theme.json).map(&:name)).each do |file|
        add_offense("'#{file}.liquid' or '#{file}.json' is missing")
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
theme-check-0.4.0 lib/theme_check/checks/missing_required_template_files.rb
theme-check-0.3.3 lib/theme_check/checks/missing_required_template_files.rb
theme-check-0.3.2 lib/theme_check/checks/missing_required_template_files.rb
theme-check-0.3.1 lib/theme_check/checks/missing_required_template_files.rb
theme-check-0.3.0 lib/theme_check/checks/missing_required_template_files.rb
theme-check-0.2.2 lib/theme_check/checks/missing_required_template_files.rb
theme-check-0.2.0 lib/theme_check/checks/missing_required_template_files.rb
theme-check-0.1.2 lib/theme_check/checks/missing_required_template_files.rb