travis-web/AssetFile

71 lines
1.6 KiB
Plaintext

# TODO add neuter for production
# https://github.com/wycats/rake-pipeline-web-filters/blob/master/lib/rake-pipeline-web-filters/neuter_filter.rb
# http://blog.nulayer.com/post/23294069876/building-simple-javascript-libraries-with-rake-pipeline?15bb0420
require 'rake-pipeline-web-filters'
output 'public/javascripts'
input 'assets/javascripts' do
match 'vendor/**/*.js' do
files = %w(
vendor/minispade.js
vendor/jquery.min.js
vendor/handlebars.js
vendor/ember.js
vendor/ember-data.js
vendor/ansiparse.js
vendor/i18n.js
vendor/jquery.timeago.js
)
concat files, 'vendor.js'
end
match '**/*.coffee' do
coffee_script
end
match '**/*.hbs' do
handlebars(
:key_name_proc => proc { |input|
input.path.sub(%r(^app/templates/), '').sub(/\.hbs$/, '')
}
)
concat 'app/templates.js'
end
match 'mocks.js' do
concat 'mocks.js'
end
match '{app,config,lib}/**/*.js' do
minispade(
string: true,
rewrite_requires: true,
module_id_generator: proc { |input|
input.path.sub(%r(^(app|config|lib)/), '').sub(/\.js$/, '')
}
)
concat 'application.js'
end
end
output 'public/stylesheets'
input 'assets/stylesheets' do
match '**/*.scss' do
filter(Rake::Pipeline::Web::Filters::TiltFilter) do |input|
input.sub /\.scss$/, 'css'
end
end
match '**/*.css' do
copy
end
end
output 'public'
input 'assets', 'index.html.erb' do
filter(Rake::Pipeline::Web::Filters::TiltFilter) do |input|
input.sub /\.erb$/, ''
end
end