Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Get rid of the need to use the glob argument.
  • Loading branch information
delynn committed Jan 27, 2023
commit 5e6ed8d26af9e0c683a66d50bced577d84dd162c
4 changes: 2 additions & 2 deletions lib/tailwindcss/commands.rb
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@ def watch_command(poll: false, **kwargs)
end
end

def compile_file_command(file:, glob:, debug: false, **kwargs)
def compile_file_command(file:, debug: false, **kwargs)
file = Pathname.new(file.to_s)
input = file
output = Rails.root.join("app/assets/builds", file.basename.sub(glob.sub("*", ""), ".css"))
output = Rails.root.join("app/assets/builds", file.basename.sub("tailwind.", ""))
config = input.read.include?("@config") ? nil : Rails.root.join("config/tailwind.config.js")
[
executable(**kwargs),
Expand Down
24 changes: 12 additions & 12 deletions lib/tasks/build.rake
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,16 @@ namespace :tailwindcss do
desc "Build your Tailwind CSS"
task :build do |_, args|
debug = args.extras.include?("debug")
glob = "*.tailwind.css"

files = Rails.root.join("app/assets/stylesheets").glob(glob)
files = Rails.root.join("app/assets/stylesheets").glob("*.tailwind.css")

if files.count == 1 && files.first.basename == "application.tailwind.css"
command = Tailwindcss::Commands.compile_command(debug: debug)
puts command.inspect
puts command.join(" ")
system(*command, exception: true)
else
files.map do |file|
Tailwindcss::Commands.compile_file_command(file: file, glob: glob, debug: debug)
Tailwindcss::Commands.compile_file_command(file: file, debug: debug)
end.each do |command|
puts command.join(" ")
system(*command, exception: true)
Expand All @@ -24,23 +23,24 @@ namespace :tailwindcss do
task :watch do |_, args|
debug = args.extras.include?("debug")
poll = args.extras.include?("poll")
glob = args.extras.include?("glob") ? "*.tailwind.css" : nil

if glob
files = Rails.root.join("app/assets/stylesheets").glob("*.tailwind.css")

if files.count == 1 && files.first.basename == "application.tailwind.css"
command = Tailwindcss::Commands.watch_command(debug: debug, poll: poll)
puts command.join(" ")
system(*command)
else
trap("SIGINT") { exit }

Rails.root.join("app/assets/stylesheets").glob(glob).map do |file|
Tailwindcss::Commands.watch_file_command(file: file, glob: glob, debug: debug, poll: poll)
files.map do |file|
Tailwindcss::Commands.watch_file_command(file: file, debug: debug, poll: poll)
end.each do |command|
fork do
puts command.join(" ")
system(*command)
end
end
else
command = Tailwindcss::Commands.watch_command(debug: debug, poll: poll)
puts command.inspect
system(*command)
end
end
end
Expand Down
12 changes: 6 additions & 6 deletions test/lib/tailwindcss/commands_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,15 @@ def mock_exe_directory(platform)
mock_exe_directory("sparc-solaris2.8") do |dir, executable|
Rails.stub(:root, Pathname.new(File.dirname(__FILE__))) do
file = Rails.root.join("../../fixtures/application.tailwind.css")
actual = Tailwindcss::Commands.compile_file_command(file: file, glob: "*.tailwind.css", exe_path: dir)
actual = Tailwindcss::Commands.compile_file_command(file: file, exe_path: dir)
assert_kind_of(Array, actual)
assert_equal(executable, actual.first)
assert_includes(actual, "--minify")
assert_includes(actual, "-c")
assert_includes(actual[2], "application.tailwind.css")
refute_includes(actual[4], "tailwind.css")

actual = Tailwindcss::Commands.compile_file_command(file: file, glob: "*.tailwind.css", exe_path: dir, debug: true)
actual = Tailwindcss::Commands.compile_file_command(file: file, exe_path: dir, debug: true)
assert_kind_of(Array, actual)
assert_equal(executable, actual.first)
assert_includes(actual, "-c")
Expand All @@ -79,7 +79,7 @@ def mock_exe_directory(platform)
refute_includes(actual[4], "tailwind.css")

file = Rails.root.join("../../fixtures/custom.tailwind.css")
actual = Tailwindcss::Commands.compile_file_command(file: file, glob: "*.tailwind.css", exe_path: dir)
actual = Tailwindcss::Commands.compile_file_command(file: file, exe_path: dir)
assert_kind_of(Array, actual)
assert_equal(executable, actual.first)
assert_includes(actual, "--minify")
Expand Down Expand Up @@ -121,7 +121,7 @@ def mock_exe_directory(platform)
mock_exe_directory("sparc-solaris2.8") do |dir, executable|
Rails.stub(:root, Pathname.new(File.dirname(__FILE__))) do
file = Rails.root.join("../../fixtures/application.tailwind.css")
actual = Tailwindcss::Commands.watch_file_command(file: file, glob: "*.tailwind.css", exe_path: dir)
actual = Tailwindcss::Commands.watch_file_command(file: file, exe_path: dir)
assert_kind_of(Array, actual)
assert_equal(executable, actual.first)
assert_includes(actual, "-w")
Expand All @@ -131,7 +131,7 @@ def mock_exe_directory(platform)
refute_includes(actual, "-p")
refute_includes(actual[4], "tailwind.css")

actual = Tailwindcss::Commands.watch_file_command(file: file, glob: "*.tailwind.css", exe_path: dir, debug: true)
actual = Tailwindcss::Commands.watch_file_command(file: file, exe_path: dir, debug: true)
assert_kind_of(Array, actual)
assert_equal(executable, actual.first)
assert_includes(actual, "-w")
Expand All @@ -142,7 +142,7 @@ def mock_exe_directory(platform)
refute_includes(actual[4], "tailwind.css")

file = Rails.root.join("../../fixtures/custom.tailwind.css")
actual = Tailwindcss::Commands.watch_file_command(file: file, glob: "*.tailwind.css", exe_path: dir, poll: true)
actual = Tailwindcss::Commands.watch_file_command(file: file, exe_path: dir, poll: true)
assert_kind_of(Array, actual)
assert_equal(executable, actual.first)
assert_includes(actual, "-w")
Expand Down