$: << 'lib' require 'rake-pipeline-web-filters' require 'travis/assets' require 'compass' Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8 assets ||= Travis::Assets.new assets.setup_compass assets.update_version output 'public/scripts' input assets.scripts do match '**/*.hbs' do travis_handlebars :precompile => false # assets.production? concat 'templates.js' end match '**/*.coffee' do coffee_script end match 'vendor/**/*.js' do if assets.production? reject 'ember.js' else reject 'ember.prod.js' end safe_concat assets.vendor_order, 'vendor.js' end match '{spec,spec/integration,spec/unit,spec/unit/views}/*.js' do concat 'spec/specs.js' end match 'spec/support/*.js' do concat 'spec/support.js' end match 'spec/vendor/*.js' do concat assets.spec_vendor_order, 'spec/vendor.js' end match 'spec/{vendor,support,specs}.js' do concat ['spec/vendor.js', 'spec/support.js', 'spec/specs.js'], 'specs.js' end match %r(^(?!vendor|spec).*\.js$) do modules = proc { |input| input.path.gsub(%r((^app/|lib/|\.js$)), '') } # why did we use the string strategy for development? makes it impossible to set breakpoints # minispade(string: assets.development?, rewrite_requires: true, module_id_generator: modules) minispade(string: false, rewrite_requires: true, module_id_generator: modules) end match %r(^(?!spec).*\.js$) do paths = ['min/app.js'] paths.push 'app.js' unless assets.production? concat ['vendor.js'], paths end if assets.production? match 'min/app.js' do strip_debug # uglify squeeze: true concat 'app.js' end end end output 'public/styles' input assets.styles do match '**/*.{scss,sass,css}' do sass assets.production? ? { style: :compressed } : {} concat [], ['app.css'] end end output 'public/images' input assets.images do skip %r(^ui/) match '**/*' do copy end end # output 'public' # input assets.static do # match '**/*' do # copy # end # end