diff --git a/lib/tasks/maglev/vite.rake b/lib/tasks/maglev/vite.rake index fd301b63..65a858e3 100644 --- a/lib/tasks/maglev/vite.rake +++ b/lib/tasks/maglev/vite.rake @@ -58,5 +58,13 @@ 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 + 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 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|