From 1acd6c56e12d5c1e51c54fe0ca8e3552eb87ecc9 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Thu, 17 Oct 2024 22:31:36 -0400 Subject: [PATCH] Unbreak support for v4 input file. Reverts part of 6e828ebf but adds to test coverage now that I understand the other changes v4 requires. --- CHANGELOG.md | 2 +- lib/tailwindcss/commands.rb | 15 +++----------- test/integration/user_journey_test.sh | 18 +++++++++++++++++ test/lib/tailwindcss/commands_test.rb | 29 +++++++-------------------- 4 files changed, 29 insertions(+), 35 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc3b89b8..d33a4893 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ## next / unreleased -* Add experimental support for Tailwind CSS v4. (#420) @flavorjones +* Add experimental support for Tailwind CSS v4. (#420, #423) @flavorjones ## v3.0.0 diff --git a/lib/tailwindcss/commands.rb b/lib/tailwindcss/commands.rb index c065b91a..26c5178a 100644 --- a/lib/tailwindcss/commands.rb +++ b/lib/tailwindcss/commands.rb @@ -3,23 +3,14 @@ module Tailwindcss module Commands class << self - def tailwindcss_version - Tailwindcss::Ruby::VERSION - end - def compile_command(debug: false, **kwargs) command = [ Tailwindcss::Ruby.executable(**kwargs), - "-o", Rails.root.join("app/assets/builds/tailwind.css").to_s + "-i", Rails.root.join("app/assets/stylesheets/application.tailwind.css").to_s, + "-o", Rails.root.join("app/assets/builds/tailwind.css").to_s, + "-c", Rails.root.join("config/tailwind.config.js").to_s, ] - unless tailwindcss_version >= "4.0" - command += [ - "-i", Rails.root.join("app/assets/stylesheets/application.tailwind.css").to_s, - "-c", Rails.root.join("config/tailwind.config.js").to_s, - ] - end - command << "--minify" unless (debug || rails_css_compressor?) postcss_path = Rails.root.join("config/postcss.config.js") diff --git a/test/integration/user_journey_test.sh b/test/integration/user_journey_test.sh index 178d5a57..14f4597a 100755 --- a/test/integration/user_journey_test.sh +++ b/test/integration/user_journey_test.sh @@ -32,6 +32,12 @@ bundle install bundle show --paths bundle binstubs --all +if bundle show | fgrep tailwindcss-ruby | fgrep -q "(4." ; then + TAILWIND4=1 +else + TAILWIND4=0 +fi + # install tailwindcss bin/rails tailwindcss:install @@ -45,6 +51,13 @@ task :still_here do end EOF +if [[ $TAILWIND4 = 1 ]] ; then + cat > app/assets/stylesheets/application.tailwind.css < "Rails 8.0.0.beta" ]] ; then @@ -61,4 +74,9 @@ grep -q "Show this post" app/views/posts/index.html.erb bin/rails tailwindcss:build[verbose] grep -q "py-2" app/assets/builds/tailwind.css +if [[ $TAILWIND4 = 1 ]] ; then + # TEST: contents include application.tailwind.css + grep -q "#abc12399" app/assets/builds/tailwind.css +fi + echo "OK" diff --git a/test/lib/tailwindcss/commands_test.rb b/test/lib/tailwindcss/commands_test.rb index ef0e80ba..1ec6ce2b 100644 --- a/test/lib/tailwindcss/commands_test.rb +++ b/test/lib/tailwindcss/commands_test.rb @@ -9,29 +9,14 @@ def setup @executable = Tailwindcss::Ruby.executable end - test ".compile_command with tailwindcss v3" do + test ".compile_command" do Rails.stub(:root, File) do # Rails.root won't work in this test suite - Tailwindcss::Commands.stub(:tailwindcss_version, "3.4.13") do - actual = Tailwindcss::Commands.compile_command - assert_kind_of(Array, actual) - assert_equal(executable, actual.first) - assert_includes(actual, "-i") - assert_includes(actual, "-c") - assert_includes(actual, "-o") - end - end - end - - test ".compile_command with tailwindcss v4" do - Rails.stub(:root, File) do # Rails.root won't work in this test suite - Tailwindcss::Commands.stub(:tailwindcss_version, "4.0.0") do - actual = Tailwindcss::Commands.compile_command - assert_kind_of(Array, actual) - assert_equal(executable, actual.first) - refute_includes(actual, "-i") - refute_includes(actual, "-c") - assert_includes(actual, "-o") - end + actual = Tailwindcss::Commands.compile_command + assert_kind_of(Array, actual) + assert_equal(executable, actual.first) + assert_includes(actual, "-i") + assert_includes(actual, "-c") + assert_includes(actual, "-o") end end