From 680b81630f810158f5238493f32daeeb6afefbf2 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Fri, 4 Jul 2025 14:05:16 +0200 Subject: [PATCH 1/2] feat: add a task to copy the built assets from the Maglev engine to the main app --- lib/tasks/maglev/vite.rake | 12 ++++++++++++ lib/tasks/maglev_tasks.rake | 11 ----------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/lib/tasks/maglev/vite.rake b/lib/tasks/maglev/vite.rake index fd301b63..8d922fa1 100644 --- a/lib/tasks/maglev/vite.rake +++ b/lib/tasks/maglev/vite.rake @@ -58,5 +58,17 @@ namespace :maglev do Maglev::Engine.vite_ruby.commands.print_info end end + + desc "Copy the ViteRuby's public directory to the app's public directory" + task copy_public_dir: :environment do + within_engine_folder do + output_dir_name = Maglev::Engine.vite_ruby.config.public_output_dir + source_path = Maglev::Engine.root.join('public', output_dir_name) + target_path = Rails.root.join('public', output_dir_name) + FileUtils.rm_rf(target_path) + FileUtils.mkdir_p(target_path) + FileUtils.cp_r(source_path, target_path) + end + end end end diff --git a/lib/tasks/maglev_tasks.rake b/lib/tasks/maglev_tasks.rake index 06e1797b..e835165a 100644 --- a/lib/tasks/maglev_tasks.rake +++ b/lib/tasks/maglev_tasks.rake @@ -6,17 +6,6 @@ def within_engine_folder(&block) Dir.chdir(File.join(__dir__, '..', '..'), &block) end -# Load all task files only if they haven't been loaded before -Dir[File.join(__dir__, 'maglev', '*.rake')].each do |file| - # Create a unique task loaded flag - task_name = File.basename(file, '.rake') - next if Rake::Task.task_defined?("maglev:#{task_name}:loaded") - - load file - # Create a dummy task to mark this file as loaded - Rake::Task.define_task("maglev:#{task_name}:loaded") -end - unless ENV['VITE_RUBY_SKIP_ASSETS_PRECOMPILE_EXTENSION'] == 'true' if Rake::Task.task_defined?('assets:precompile') Rake::Task['assets:precompile'].enhance do |_task| From f04c3a33718a58eb3dcb7a3aaa9d19266a1c9451 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Fri, 4 Jul 2025 15:06:18 +0200 Subject: [PATCH 2/2] chore: remove useless code --- lib/tasks/maglev/vite.rake | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lib/tasks/maglev/vite.rake b/lib/tasks/maglev/vite.rake index 8d922fa1..65a858e3 100644 --- a/lib/tasks/maglev/vite.rake +++ b/lib/tasks/maglev/vite.rake @@ -61,14 +61,10 @@ namespace :maglev do desc "Copy the ViteRuby's public directory to the app's public directory" task copy_public_dir: :environment do - within_engine_folder do - output_dir_name = Maglev::Engine.vite_ruby.config.public_output_dir - source_path = Maglev::Engine.root.join('public', output_dir_name) - target_path = Rails.root.join('public', output_dir_name) - FileUtils.rm_rf(target_path) - FileUtils.mkdir_p(target_path) - FileUtils.cp_r(source_path, target_path) - end + output_dir_name = Maglev::Engine.vite_ruby.config.public_output_dir + source_path = Maglev::Engine.root.join('public', output_dir_name) + target_path = Rails.root.join('public') + FileUtils.cp_r(source_path, target_path) end end end