diff --git a/danger/tailwindcss/Dangerfile b/danger/tailwindcss/Dangerfile deleted file mode 100644 index f32e6d0d7cac15f2174e529e4e3115449f4c86eb..0000000000000000000000000000000000000000 --- a/danger/tailwindcss/Dangerfile +++ /dev/null @@ -1,77 +0,0 @@ -# frozen_string_literal: true - -module Danger - class Tailwind - FRONTEND_INTERPOLATION_PATTERN = /gl-[0-9a-z-]+(\$\{|['"] ?\+)/ - BACKEND_INTERPOLATION_PATTERN = /gl-[0-9a-z-]+(#\{|['"] ?\+)/ - - def initialize(helper, git) - @helper = helper - @git = git - end - - def report_interpolated_utils - frontend_files_with_interpolated_utils = files_with_interpolated_utils( - frontend_tailwindy_files(@helper.all_changed_files), FRONTEND_INTERPOLATION_PATTERN) - backend_files_with_interpolated_utils = files_with_interpolated_utils( - backend_tailwindy_files(@helper.all_changed_files), BACKEND_INTERPOLATION_PATTERN) - - return "" if frontend_files_with_interpolated_utils.empty? && backend_files_with_interpolated_utils.empty? - - <<~MARKDOWN - ### Interpolated utils - - The following files might contain interpolated utils: - #{format_files_list(frontend_files_with_interpolated_utils + backend_files_with_interpolated_utils)} - - If you are leveraging CSS utilities, make sure they are written in full and not built via string - interpolation as that would prevent Tailwind CSS from generating them. - MARKDOWN - end - - private - - def frontend_tailwindy_files(files) - files.select do |file| - file.end_with?('.vue', '.js') - end - end - - def backend_tailwindy_files(files) - files.select do |file| - file.end_with?('.html.haml', '.rb') - end - end - - def files_with_interpolated_utils(files, pattern) - files.select do |file| - diff = @git.diff_for_file(file) - - # When a file is just moved around it appears in the changed files list - # but the diff is empty so we are skipping it. - next if diff.nil? - - diff.patch.each_line.any? do |line| - line.start_with?('+') && line.match?(pattern) - end - end - end - - def format_files_list(files) - files.map do |file| - "- `#{file}`" - end.join("\n") - end - end -end - -danger_tailwind = Danger::Tailwind.new(helper, git) -report = danger_tailwind.report_interpolated_utils - -unless report.empty? - markdown <<~MSG - ## Tailwind CSS - - #{report} - MSG -end