Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Tailwind CSS in core dummy app #5798

Merged
merged 2 commits into from
Jun 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
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
1 change: 1 addition & 0 deletions admin/Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ require 'rake'
require 'rake/testtask'
require 'rspec/core/rake_task'
require 'spree/testing_support/dummy_app/rake_tasks'
require 'solidus_admin/testing_support/dummy_app/rake_tasks'
require 'bundler/gem_tasks'

namespace :tailwindcss do
Expand Down
10 changes: 10 additions & 0 deletions admin/lib/solidus_admin/testing_support/admin_assets.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# frozen_string_literal: true

RSpec.configure do |config|
config.when_first_matching_example_defined(solidus_admin: true) do
config.before(:suite) do
system('bin/rails solidus_admin:tailwindcss:build') or abort 'Failed to build Tailwind CSS'
Rails.application.precompiled_assets
end
end
end
60 changes: 60 additions & 0 deletions admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# frozen_string_literal: true

namespace :solidus_admin do
namespace :tailwindcss do
desc "Build Tailwind CSS"
task build: :dummy_environment do
require "solidus_admin"
require "tailwindcss/commands"

Check warning on line 8 in admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb

View check run for this annotation

Codecov / codecov/patch

admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb#L3-L8

Added lines #L3 - L8 were not covered by tests

config_file = <<~JS
const adminRoot = "#{SolidusAdmin::Engine.root}"
const solidusAdmin = require(`${adminRoot}/config/tailwind.config.js`)

Check warning on line 12 in admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb

View check run for this annotation

Codecov / codecov/patch

admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb#L10-L12

Added lines #L10 - L12 were not covered by tests

module.exports = {
// Read how to use TailwindCSS presets: https://tailwindcss.com/docs/presets.
presets: [solidusAdmin],

Check warning on line 16 in admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb

View check run for this annotation

Codecov / codecov/patch

admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb#L14-L16

Added lines #L14 - L16 were not covered by tests

content: [
// Include paths coming from SolidusAdmin.
...solidusAdmin.content,

Check warning on line 20 in admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb

View check run for this annotation

Codecov / codecov/patch

admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb#L18-L20

Added lines #L18 - L20 were not covered by tests

// Include paths to your own components.
`${__dirname}/../../../../app/components/admin/**/*`,
`${__dirname}/../../../../lib/components/admin/**/*`,
],
}
JS
FileUtils.mkdir_p(DummyApp::Application.root.join("config"))
File.write(DummyApp::Application.root.join("config/tailwind.config.js"), config_file)
FileUtils.mkdir_p(DummyApp::Application.root.join("app/assets/stylesheets/solidus_admin"))
FileUtils.cp(
SolidusAdmin::Engine.root.join("app/assets/stylesheets/solidus_admin/application.tailwind.css"),
DummyApp::Application.root.join("app/assets/stylesheets/solidus_admin/application.tailwind.css")
)

Check warning on line 34 in admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb

View check run for this annotation

Codecov / codecov/patch

admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb#L22-L34

Added lines #L22 - L34 were not covered by tests

tailwindcss = Tailwindcss::Commands.executable

Check warning on line 36 in admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb

View check run for this annotation

Codecov / codecov/patch

admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb#L36

Added line #L36 was not covered by tests

tailwindcss_command = [
tailwindcss,
"--config", DummyApp::Application.root.join("config/tailwind.config.js"),
"--input", DummyApp::Application.root.join("app/assets/stylesheets/solidus_admin/application.tailwind.css"),
"--output", DummyApp::Application.root.join("assets/builds/solidus_admin/tailwind.css")
]

Check warning on line 43 in admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb

View check run for this annotation

Codecov / codecov/patch

admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb#L38-L43

Added lines #L38 - L43 were not covered by tests

sh tailwindcss_command.shelljoin
end
end
end

Check warning on line 48 in admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb

View check run for this annotation

Codecov / codecov/patch

admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb#L45-L48

Added lines #L45 - L48 were not covered by tests

# Attach Tailwind CSS build to other tasks.
%w[
assets:precompile
test:prepare
spec:prepare
db:test:prepare
].each do |task_name|
next unless Rake::Task.task_defined?(task_name)

Check warning on line 57 in admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb

View check run for this annotation

Codecov / codecov/patch

admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb#L51-L57

Added lines #L51 - L57 were not covered by tests

Rake::Task[task_name].enhance(["solidus_admin:tailwindcss:build"])
end

Check warning on line 60 in admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb

View check run for this annotation

Codecov / codecov/patch

admin/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb#L59-L60

Added lines #L59 - L60 were not covered by tests
9 changes: 4 additions & 5 deletions admin/spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,7 @@
mount Spree::Core::Engine, at: '/'
end

unless SolidusAdmin::Engine.root.join('app/assets/builds/solidus_admin/tailwind.css').exist?
Dir.chdir(SolidusAdmin::Engine.root) do
system 'bundle exec rake tailwindcss:build' or abort 'Failed to build Tailwind CSS'
end
end
require "solidus_admin/testing_support/admin_assets"

# RAILS
require "rspec/rails"
Expand Down Expand Up @@ -111,6 +107,9 @@
config.before do
Rails.cache.clear
end
config.define_derived_metadata(file_path: %r{spec/features}) do |metadata|
metadata[:solidus_admin] = true
end

config.include FactoryBot::Syntax::Methods

Expand Down
1 change: 1 addition & 0 deletions legacy_promotions/Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ require 'rake'
require 'rake/testtask'
require 'rspec/core/rake_task'
require 'spree/testing_support/dummy_app/rake_tasks'
require 'solidus_admin/testing_support/dummy_app/rake_tasks'
require 'bundler/gem_tasks'

RSpec::Core::RakeTask.new
Expand Down
7 changes: 1 addition & 6 deletions legacy_promotions/spec/rails_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,7 @@
}
mount Spree::Core::Engine, at: "/"
end

unless SolidusAdmin::Engine.root.join('app/assets/builds/solidus_admin/tailwind.css').exist?
Dir.chdir(SolidusAdmin::Engine.root) do
system 'bundle exec rake tailwindcss:build' or abort 'Failed to build Tailwind CSS'
end
end
require "solidus_admin/testing_support/admin_assets"

require 'rails-controller-testing'
require 'rspec/rails'
Expand Down