Sha256: f597fc2848fc4a0d99cb83cb4d3ff92cf698a3d54f5fab23e5052d8019f88cc0

Contents?: true

Size: 1.51 KB

Versions: 2

Compression:

Stored size: 1.51 KB

Contents

require 'bundler/setup'
require 'bundler/gem_tasks'
require 'rspec/core/rake_task'

RSpec::Core::RakeTask.new(:rspec)

desc 'Run the test suite'
task :default => :rspec

namespace :assets do
  desc 'Update Foundation for Sites assets'
  task update: :clean do
    sh 'bower install'
    sh 'cp -R bower_components/foundation-sites/js/* vendor/assets/js/'
    sh 'cp -R bower_components/foundation-sites/scss/* vendor/assets/scss/'
    sh 'cp -R bower_components/foundation-sites/scss/settings/_settings.scss lib/generators/foundation/templates'
    sh 'cp -R bower_components/motion-ui/src/* vendor/assets/scss/motion-ui'
    # NOTE: This is a temporary dependency management solution introduced in 6.3, will probably be removed in 6.4
    sh 'cp -R bower_components/foundation-sites/_vendor/* vendor/assets/_vendor/'

    js_files = Dir['vendor/assets/js/*.js'].sort
    # Move foundation.core.js to beginning of js_files
    js_files.insert(0, js_files.delete(js_files.find { |file| file[/foundation.core.js/] }))
    manifest = js_files.map { |file| "//= require #{File.basename(file)}" }.join("\n")
    File.write('vendor/assets/js/foundation.js', manifest)

    Dir['vendor/assets/js/*.js'].each do |file|
      sh "mv #{file} #{file}.es6"
    end

    puts "\n*********************\n** ASSETS UPDATED! **\n*********************\n"
  end

  desc 'Remove old Foundation for Sites assets'
  task :clean do
    sh 'rm -rf vendor'
    sh 'mkdir -p vendor/assets/js/ vendor/assets/scss vendor/assets/scss/motion-ui vendor/assets/_vendor'
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
foundation-rails-6.4.1.0 Rakefile
foundation-rails-6.3.1.0 Rakefile