Sha256: ce91b207b1447012646aa93a5b0d733b8269a6f123e4dc8dd537692354145c7e
Contents?: true
Size: 1.64 KB
Versions: 6
Compression:
Stored size: 1.64 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 docs_url(__FILE__) REQUIRED_LIQUID_FILES = %w(layout/theme) REQUIRED_LIQUID_TEMPLATE_FILES = %w( gift_card customers/account customers/activate_account customers/addresses customers/login customers/order customers/register customers/reset_password ).map { |file| "templates/#{file}" } REQUIRED_JSON_TEMPLATE_FILES = %w( index product collection cart blog article page list-collections search 404 password ).map { |file| "templates/#{file}" } REQUIRED_TEMPLATE_FILES = (REQUIRED_LIQUID_TEMPLATE_FILES + REQUIRED_JSON_TEMPLATE_FILES) def on_end (REQUIRED_LIQUID_FILES - theme.liquid.map(&:name)).each do |file| add_offense("'#{file}.liquid' is missing") do |corrector| corrector.create_file(@theme.storage, "#{file}.liquid", "") end end (REQUIRED_TEMPLATE_FILES - (theme.liquid + theme.json).map(&:name)).each do |file| add_offense("'#{file}.liquid' or '#{file}.json' is missing") do |corrector| if REQUIRED_LIQUID_TEMPLATE_FILES.include?(file) corrector.create_file(@theme.storage, "#{file}.liquid", "") else corrector.create_file(@theme.storage, "#{file}.json", JSON.pretty_generate({ name: "TODO", sections: {}, order: [], })) end end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems