Newer
Older
dmpopidor / lib / tasks / assets.rake
@Bodacious Bodacious on 15 Aug 2018 708 bytes Add exit code to assets rake task
require 'fileutils'
namespace :assets do

  # Clear out Rails's assets precompile task
  Rake::Task["assets:precompile"].clear

  desc "Pre-compile assets for production. Overwrite the Rails assets:precompile"
  task :precompile do
    FileUtils.cd("lib/assets") do
      webpack_options = []
      # Don't watch asset files for further changes
      webpack_options << "--no-watch"
      # Add the production flag, if env is production
      webpack_options << "-p" if ENV["RAILS_ENV"] == "production"
      # Ensure all dependencies are installed
      system("npm install")
      # Run the webpack command via npm
      system("npm run bundle -- #{webpack_options.join(" ")}") or exit()
    end
  end
end