Skip to content
代码片段 群组 项目
提交 a5b5073a 编辑于 作者: Paul Gascou-Vaillancourt's avatar Paul Gascou-Vaillancourt
浏览文件

Remove the Tailwind Dangerfile

This Dangerfile used to report CSS utils that were built using string
interpolation. Since introducing it, we have created an ESLint and a
Rubocop rules to perform the same checks, thus providing a better
developer experience for spotting this offences.

The Dangerfile can therefore be removed.
上级 e57bcb3e
No related branches found
No related tags found
无相关合并请求
# 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
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册