Sha256: f01972a8dc284fb2dc86fc840286d571827408cce508c0a7e2b9c96e261da474

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

# frozen_string_literal: true

# rubocop:disable Metrics/BlockLength
namespace :assets do
  require 'sprockets'
  require 'uglifier'
  require 'yui/compressor'
  sprockets = Sprockets::Environment.new { |env| env.logger = Logger.new($stdout) }
  sprockets.css_compressor = YUI::CssCompressor.new
  sprockets.js_compressor = Uglifier.new(harmony: true)

  %w[assets vendor].each do |f|
    sprockets.append_path File.expand_path("../../#{f}", __FILE__)
  end

  output_path = File.expand_path('../public', __dir__)

  desc 'Pre-compile CSS assets'
  task :precompile_css do
    asset = sprockets['styles.css']
    outfile = Pathname.new(output_path).join('css/styles.css')
    FileUtils.mkdir_p outfile.dirname
    asset.write_to(outfile)
    puts 'successfully compiled css assets'
  end

  desc 'Pre-compile JavaScript assets'
  task :precompile_js do
    asset = sprockets['app.js']
    outfile = Pathname.new(output_path).join('js/app.js')
    FileUtils.mkdir_p outfile.dirname
    asset.write_to(outfile)
    puts 'successfully compiled javascript assets'
  end

  desc 'precompile all assets'
  task precompile: %i[precompile_css precompile_js]
end
# rubocop:enable Metrics/BlockLength

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hoboken-0.9.0 lib/hoboken/templates/sprockets.rake